Auditoria a un Prestashop

De Wiket
Salta a la navegació Salta a la cerca

Proyecto realizado por Luis Andres Ascoy Ramirez y Eric Repullo Baget

Introducción

Este proyecto consiste en hacer una auditoria a Puchito.ml (Prestashop) que hemos instalado y configurado para recrear una tienda virtual. Para ello, hemos realizado diferentes ataques al Prestashop, a la base de datos y al Apache2 para ver la vulnerabilidades que tiene cada uno de ellos para poder evaluarlas y, posteriormente, entrar y extraer la mayor información posible. Para realizar este proyecto, nos hemos basado en ataques para las siguientes versiones:

  • Prestashop: 1.7.1.0
  • PHP: 5.6
  • Apache2: 2.4.29
  • MySQL: 5.7.26

Ataques realizados

Ingeniería Social

La ingeniería social es una de las prácticas más comunes a la hora de querer realizar un ataque a una página web. El objetivo principal es recoger toda la información posible expuesta a través de búsquedas por Internet o en la propia página para, posteriormente, realizar ataques y obtener las credenciales de usuarios legítimos. Por lo tanto, podemos clasificar la ingeniería social como un ataque pasivo, ya que recopila información expuesta, por la propia empresa, al público y no sale fuera del margen de la legalidad.

En primer lugar, hemos accedido a la página del servidor, en este caso puchito.ml, para recopilar toda la información posible. Con esto hemos conseguido:

  • E-mail del posible administrador de puchito.ml: [email protected]
  • Nombre de la empresa: Pucho S.A
  • Tipo de página utilizada: http
Ingenieria social.png

En segundo lugar, hemos creado una cuenta en la tienda para ver qué tipos de credenciales utiliza y que filtros tiene la contraseña (nivel de dificultad). Además, ver el entorno por donde se mueve el usuario y que privilegios tiene.

Gracias a esto hemos obtenido que no pida ningún carácter especial a la hora de introducir la contraseña. Con estos datos, posteriormente podremos generar un diccionario para obtener credenciales.

Scanning

Ataque de directorios

Dirbuster

DirBuster es una herramienta de ataque de fuerza bruta que utiliza un diccionario por defecto, llamado common.txt, que contiene los directorios más comunes en las páginas web.

Dirb.png

Lo primero que haremos para realizar este ataque, será lanzarlo. Como podemos observar en la captura, ha detectado un directorio bastante importante: phpmyadmin con sus subdirectorios.

Dirb2.png

Nikto

Nikto es otra herramienta de ataque de fuerza bruta bastante completa, ya que también se encarga de buscar malas configuraciones, vulnerabilidades, fechas de actualización…

Nikto –h [IP/Dominio] –p [puerto]

  • h: parámetro obligatorio para definir el Target.
  • p: especificar puerto en el que queremos lanza el ataque.

Los directorios más importantes: phpmyadmin, robots.txt, install.txt, /icons/readme. Además, hemos obtenido otra información:

  • Cookie PHPSSID protegida únicamente con el flag de http
  • Anti-clickjacking X-Frame-Options desactivada o inexistente
Nikto.png

MITM (Man In The Middle)

El ataque Man-in-the-middle es uno de los más comunes, el principal objetivo es introducirse como intermediario entre la víctima y la página en la que navega de una manera sigilosa, ya que el usuario no tiene idea de lo que sucede.

MITM (ETTERCAP)

Para realizar este ataque, en primer lugar, hemos configuramos el programa ettercap para que investigue todo el tráfico que pasa por la tarjeta de red principal, en este caso, es eth0.

MITM 1.png

En segundo lugar, nos vamos a realizamos un escaneo a la red para ver que hosts están conectados.

MITM 2.png

En tercer lugar, escogemos la IP de nuestra víctima, en este caso la IP 192.168.0.66.

MITM 3.png

Por último, especificamos el tipo de MITM en este caso por ARP, seleccionamos la opción de sniff y esperamos a que el usuario introduzca sus credenciales para entrar a su cuenta.

MITM 4.png
  • Recordemos que la tienda virtual, está por el puerto HTTP, por lo tanto su tráfico no va encriptado.
MITM 5.png

DNS spoofing

Driftnet

Driftnet es una herramienta incluida dentro de la suite dsniff diseñada para testar la seguridad de la red. Esta, incluye varias aplicaciones para monitorizar la red de formas muy diversas y puede llegar a comprometer la privacidad de las personas conectadas a la red, si realizamos un ataque MITM. Pero esta, nos permite observar las imágenes que esta visualizando la victima a partir de un trafico TCP.

Nosotros, para realizar este ataque hemos utilizado la herramienta del websploit.

Ataque de diccionarios

OWASP

Es un proyecto abierto de seguridad en aplicaciones web con código abierto, siendo una de las herramientas más completas y perfectas a la hora de realizar pruebas de vulnerabilidades a una página, gracias a la gran variedad de recursos que nos ofrece.

Cross Site Scripting (XSS)

Ataque de diccionarios(2)

Para demostrar este tipo de ataque hemos realizado un ataque al login de phpmyadmin.

1) Cambiar la configuración de nuestro proxy con la dirección localhost y con el puerto 8080

2) Activar el proxy que nos ofrece el propio owasp e introducir la misma dirección y puerto del paso anterior.

Pas2.png

3) Accedemos a la página de puchito.ml/phpmyadmin desde nuestro navegador y rellenamos los campos de login y password.

4) Ir al OWASP y localizar la petición que hemos realizado desde nuestro navegador.

5) Una vez localizada observamos el nombre del campo donde se introduce el usuario y password.

Pas4.png

6) Realizamos el ataque con Fuzz y seleccionamos el valor de login y password para sustituirlo por nuestro diccionario hecho anteriormente.

Pas6.png


Pas7.png


Pas8.png

7) Activar el ataque y esperar a que OWASP arroje algún resultado.

Pas9.png

Como observamos fuzzer nos muestra todas las combinaciones que ha hecho a partir de nuestro diccionario. Si nos fijamos bien podemos ver que hay una coincidencia con el valor de 0 bytes, esto nos indica que hay una combinación que es correcta.

Por lo tanto, obtenemos, como con hydra, un usuario en la base de datos con las siguientes credenciales:

Usuario: lascoyramirez

Password: Puch0.S.A.

Nessus

Nessus es un programa de escaneo de vulnerabilidades para diferentes sistemas operativos. Este, consiste en un demonio (nessusd) que realiza el escaneo del sistema objetivo. A partir de aquí, Nessus informa sobre el estado de los escaneos.

Esto no seria un ataque como tal, porque como hemos explicado anteriormente, Nessus es un programa que escanea el sistema que nosotros queremos para saber las vulnerabilidades que pueda tener y, a partir del informa que nos da, atacar al sistema y ver como poder entrar para atacar a nuestra tienda virtual, base de datos o apache2.

Rango.png

En este caso, Nessus nos informa que el sistema donde tenemos tanto el Prestashop como la base de datos no tiene ninguna vulnerabilidad. Podemos decir, que el sistema donde esta montado la tienda no tiene ninguna vulnerabilidad para entrar.

Nessus.png

Foca

Ataque DDoS

Metasploit Framework

Slowloris

Phishing

El phishing es un método de ciberataque que sirve para engañar a los usuarios y conseguir información personal, como contraseñas, correos, datos personales, tarjetas de crédito, cuentas bancarias y demás. Esto se hace mediante el envió de un correo fraudulento. Este, le envía hacia un sitio web falso que suplanta una parte de la web principal, donde el usuario tiene que loguearse o poner otro tipo de datos. Entonces, cuando acaba de poner sus datos, la web se recarga y redirecciona al usuario a la web principal, pero en ese mismo momento el atacante ya ha recogido los datos que ha introducido la victima haciéndose, de esta manera, con los datos personales para hacer con ellos lo que el atacante quiera.

Nosotros, para realizar este ataque, como anteriormente, ya hemos obtenido las credenciales de la victima, le enviamos un correo, en el cual le haremos creer que hay un descuento en la tienda y para obtener dicho descuento tendría que entrar el momento si quiere disfrutar de él.

Antes de enviar el correo a la victima, crearemos un dominio falso en el cual el usuario tenga que poner su correo y su contraseña para obtenerlas y poder entrar con su usuario. Para hacer este paso, en nuestro caso en la Kali que es donde vamos a capturar los datos del usuario, tendremos que crear un archivo dentro de la carpeta /etc/apache2/sites-available en el cual le tendremos que poner como administrador (ServerAdmin) nosotros mismos, configurar la web falsa la cual entrará la victima (ServerName), un alias (ServerAlias) aunque en el navegador saldrá el nombre puesto en ServerName y la ruta donde tenemos el apache2 para recrear la web falsa.

Puchiito.png

Ahora iniciamos el setoolkit, que es la herramienta que vamos a utilizar para hacer el phishing. Una vez en el menú del setoolkit, primero ponemos 1 que es Social-Engineering Attacks. Luego, ponemos 2 que es Website Attack Vectors. Después, 3 que es Credential Harvester Attack Method para coger las credenciales. Y por último, 2 que es Site Cloner que es para clonar la página que le pasamos a continuación. Hecho estos pasos, pondremos la IP desde donde queremos capturar el ataque, en nuestro caso desde nuestra Kali y, luego, nos pedirá que pongamos la web que queremos clonar.

Clonar.png

Una vez hecho este paso y creado ya nuestro dominio falso, le enviamos el correo a la victima donde le diremos que hay un descuento en la tienda y le pondremos la URL de nuestra web falsa para que entre y loguearse con sus credenciales.

Correo.png

Como podemos ver en la siguiente captura, el usuario ha entrada en nuestra web falsa, una web ya creada anteriormente para hacer creer ha la victima que esta entrando en la web oficial de la tienda. Como podemos comprobar la URL tiene un nombre distinto pero parecido.

Webfalsa.png

Ahora, una vez que la victima ha metido sus credenciales, le redirige a la web oficial, haciéndole creer que se ha equivocado al poner alguno de sus datos. Entonces, él volverá a poner su correo y contraseña y, al entrar en la web, no verá que no hay ningún tipo de descuento.

Weboficial.png

Como el usuario ya ha metido sus credenciales en la web falsa y ha sido redirigido a la web oficial, en ese momento, desde nuestra Kali, hemos capturado sus datos como podemos ver en la captura siguiente.

Phishing.png

Como podemos ver, hemos capturado las credenciales de las victimas. Con esto, podemos entrar en la página de la tienda como si fuéramos el usuario y, si este, tiene la tarjeta de crédito guardada en su cuenta de la página, podríamos comprar cosas con su tarjeta.