miércoles, 2 de julio de 2014

Ataque MITM con Ettercap + SSLStrip

La entrada de hoy va dedicada a ak!l3s, del blog 1 Gb de información, al cual os recomiendo que os suscribáis porque realmente publica cosas muy interesantes y muy bien explicadas. Espero que le pique el gusanillo con esta entrada y se decida a dar el salto a GNU/Linux :p

Ataques de robos de credenciales hay muchos, e infinidad de aplicaciones para poder llevarlos a cabo. Estoy seguro que más de uno ya tiene experiencia con "Cain & Abel" para Windows o "Evil FOCA" del equipo del gran Chema Alonso. Si no es así os recomiendo que les echéis un vistazo porque la verdad es que son muy interesantes y el uso es quizás más intuitivo que el de la PoC que vamos a hacer hoy.

En este gráfico veréis de manera un poco más gráfica qué es exactamente un ataque de MITM, en el cual nos pondremos entre la víctima y el destino para interceptar todo el tráfico:




NOTA: Tened en cuenta que este tipo de prácticas debe realizarse únicamente en vuestra red interna y siempre y cuando tengáis autorización para hacerlo. 

Pues bien, las herramientas que vamos a utilizar son las siguientes:


Kali Linux 
Ettercap 
SSLStrip 
iptables (para redireccionar el tráfico) 
Windows XP SP3 
arp -a (para comprobar la tabla ARP) 
Antes de empezar os haré una pequeña introducción sobre los scripts y programas que vamos a usar, de manera que sea más fácil entender todo el proceso. No debemos ser máquinas que se limitan a picar los comandos en pantalla. Para aprender realmente debemos entender qué está pasando y qué hace cada una de las ordenes que estamos ejecutando por consola.


Ettercap: Esta es la herramienta que utilizaremos para realizar el sniffing de la red, capturando los paquetes que se intercambien los dos equipos entre los cuales nos interpondremos (de ahí el nombre de MITM Man In The Middle, traducido del inglés como Hombre en el medio)


SSLStrip: Esta aplicación, desarrollada por Moxie Marlinspike, para explicarlo de una manera clara, elimina la "s" del "https" cuando el usuario accede a las paginas en las cuales va a validarse, de manera que él contenido de los campos no viajará cifrado y podremos capturarlos con Ettercap.


iptables: Creo que no hace falta que explique realmente las funciones de iptables, ya que es de sobra conocido y hay multitud de información en la red. Solo decir que en este caso lo usaremos para filtrar todo el tráfico del puerto 80 al puerto de escucha de SSLStrip, de modo que esta aplicación pueda hacer bien su trabajo.


arp -a: Esta ordena la ejecutaremos en la consola cmd de Windows para ver la tabla ARP, la cual modificaremos mediante el ataque con Ettercap.


Lo primero que vamos a hacer es activar el "IP forwarding" de nuestra tarjeta de red. Esto hará que la máquina a la cual estamos atacando no pierda la conectividad, ya que haremos un reenvío de las peticiones.


Podemos hacerlo de diversas maneras, las cuales explico a continuación:


Ejecutamos este comando en nuestra shell:


sysctl -w net.ipv4.ip_forward=1 




O bien hacemos un echo 1 >> /proc/sys/net/ipv4/ip_forward




Ambas cosas tienen el mismo propósito, así que vosotros escogéis el método que más os guste o que os resulte más fácil de recordar.


Seguidamente vamos a aplicar el filtro en iptables para redireccionar todo el tráfico del puerto 80 al puerto 1001, que es el puerto en el que pondremos a escuchar a SSLStrip. Esto lo haremos de la siguiente manera:


iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 1001


Traducido a una frase entendible para los mortales:


"En la tabla nat añadimos una regla para que todo el tráfico del protocolo TCP cuyo destino sea el puerto 80 se redirija al puerto 1001"




Podemos comprobar que la regla se ha introducida correctamente haciendo lo siguiente:


iptables -L -t nat




Ahora vamos a poner a SSLStrip a la escucha en el puerto 1001, lo cual especificamos con el argumento -l. Con el argumento -f hacemos que cambie el favicon de la página web que visita la víctima, apareciendo en su lugar un icono de un candado para no levantar sospechas.




Dejamos lanzado SSLStrip y abrimos otra terminal, desde la cual empezaremos a usar Ettercap para sniffar el tráfico de la red.


En este caso se trata de un ataque dirigido hacia una IP en concreto de la red, aunque se podría lanzar para toda la red pero cantaría un poco y queremos hacer el menor ruido posible.


Ejecutaremos lo siguiente:


ettercap -T -q -i tarjeta_de_red -M arp:remote /IP_VICTIMA/ /IP_ROUTER/ 




Pues bien, hecho esto ya tenemos lanzado nuestro ataque y ahora únicamente cabe esperar a que la víctima introduzca las credenciales en algún formulario.


Voy a representarlo mediante el acceso a una cuenta de Gmail desde el equipo Windows XP que tengo preparado:




Como veis en la captura, SSLStrip ha hecho bien su trabajo y la víctima está haciendo el login en una página no segura. En cuanto la víctima pulse sobre "Iniciar sesión" veremos lo siguiente en el terminal donde tenemos lanzado Ettercap, y en la cual se empezarán a mostrar las credenciales:




En la captura anterior veréis también varios intentos en Facebook y en Hotmail.


Para ver el efecto que se genera en Windows XP al lanzar este ataque adjunto capturas de la tabla ARP del equipo, la cual envenenamos con Ettercap para que todo el tráfico pase por nosotros. La primera entrada es la tabla ARP envenada, en la cual vemos que la MAC de 192.168.1.1 y de 192.168.1.35 (el equipo atacante) es la misma.


Al cerrar Ettercap se deshace el ataque y la tabla ARP queda con los valores por defecto:




Como veis es bastante sencillo realizar una ataque de este tipo y por supuesto llama muchísimo menos la atención que un ataque de DNS Spoofing o un SCAM, en el cual la víctima puede empezar a sospechar e incluso tirar del hilo para ver quién está atacándole.

Fuente: http://www.unsysadminenapuros.com/2013/08/ataque-mitm-con-ettercap-sslstrip.html

No hay comentarios:

Publicar un comentario