7 ene 2011

Man In The Middle

Man In The Middle es un ataque, bastante común, en el que el atacante crea la posibilidad de leer, inyectar o modificar información que hay en un canal entre 2 máquinas sin que ninguna de esas máquinas conozca esta situación. En otras palabras, un usuario con malas intenciones, se colocará entre el equipo 1 y el equipo 2. Cuando el equipo 1 envíe tráfico al equipo 2, dicho tráfico pasará por el equipo de la víctima en primer lugar. El tráfico que le llega al equipo víctima antes que al equipo 2, en un ataque básico deberá enviarse al equipo 2, para que éste no perciba pérdida de conexión o que su comunicación con el equipo 1 se ha perdido. 

Ejemplo teórico de envenenamiento ARP. 

El atacante usará alguna herramienta, como pueden ser caín, ettercap o nemesis entre otras, para realizar un ARP Spoofing o también conocido como ARP Poisoning. Este tipo de ataques se realiza en redes switcheadas y no con hubs.El atacante envenenará las tablas ARP de las víctimas, enviando mensajes ARP 'engañando' a los objetivos. Como ejemplo, se puede imaginar algo como lo siguiente:

Tabla ARP 

  • Objetivo 1, máquina con IP 10.0.0.3
    • Dirección IP 10.0.0.1 (router) con MAC CA:FE:CA:FE:CA:FE Tabla ARP 
  • Objetivo 2, máquina con IP 10.0.0.1
    • Dirección IP 10.0.0.3 con MAC CA:FE:FE:CA:CA:FE


El atacante con sus malvadas peticiones ARP modificará el valor de las tablas ARP de las otras 2 máquinas, quedará algo tal que:

Nota: La MAC del atacante pongamos que es AA:AA:AA:BB:BB:BBTabla ARP Objetivo 1, máquina con IP 10.0.0.3Dirección IP 10.0.0.1 (se piensa que es el router) con MAC AA:AA:AA:BB:BB:BB Tabla ARP Objetivo 2, máquina con IP 10.0.0.1Dirección IP 10.0.0.3 con MAC AA:AA:AA:BB:BB:BBCon lo que todos los envíos que realice la máquina objetivo 1 a Internet, por ejemplo, pasarán por la máquina del atacante y los envíos que el objetivo 2 (por ejemplo, el router) realice hacia la máquina objetivo 1 pasarán también por el atacante. Credenciales con texto plano

Hay que imaginar que ahora mismo se realiza una autenticación contra un servidor y que ésta se realiza en texto plano, ¡Bomba! Es muy posible que con el ataque MITM más básico esa información privada salga a la luz, ya que toda la información de la comunicación pasar por el equipo del atacante. ¿Solucionamos con HTTPS? La idea de cifrar la comunicación ayuda y mucho a que newbies que usan el ataque más básico de MITM no puedan obtener tan fácilmente la información que viaja por el canal. Pero hay métodos para realizar MITM de modo que se obtenga la información, aunque el usuario piense que la comunicación está segura. Es posible que se vea en flu-project.com más adelante.Observando la tabla ARP.

Aquí se explica un ejemplo de tabla ARP real. Se puede detectar que se está realizando un ataque MITM si la MAC del router cambia repentinamente, aunque quizá sea un rollo estar viendo a cada momento esta tabla. Otra posible idea para ayudar a detectar cuando nos realizan un ataque MITM, es realizar un script que compruebe si la dirección MAC que corresponde con la IP del router cambia. Si esto ocurriese el script debería avisar al usuario para alertarle. Esto es fácil de implementar.Por otro lado, si es un equipo de sobremesa o un portátil que nunca salga del hogar, se puede insertar una entrada estática en la tabla ARP con la que se diga que la dirección del router siempre tienen esa dirección MAC. Es decir, no se podrá indicar por petición ARP que esa MAC ha cambiado. Desde Flu Project os invitamos a que estudiéis este tipo de ataques muy interesantes.
Flu Project Team

23 comentarios:

  1. Me encanta el Sitio, estoy queriendo aprender sobre seguridad hace un tiempo y aqui hay articulos interesantes y faciles de entender ademas de en español. Muchas Gracias, espero que sigan por mucho tiempo mas!

    ResponderEliminar
  2. Muy bueno chicos. Sois unos maestros. La explicación del MITM es TAN buena que cualquier usuario podría entenderla...Seguid así!

    ResponderEliminar
  3. Gracias a ti @Aleo por el comentario. Esperemos seguir pudiendo compartir información con vosotros por mucho tiempo más.saludos

    ResponderEliminar
  4. el tema es apasionante, lástima que no está muy bien redactado. Ojalá se pueda hablar un poco mas del asuntoSaludos y fuerzas para seguir adelante!

    ResponderEliminar
  5. Gracias eVeR ;)Te invitamos http://www.flu-project.com/blog-comunitario-2.html a que participes en el blog comunitario ;) ánimo!

    ResponderEliminar
  6. Me gustaría si me lo permiten, hacer una breve explicación para los usuarios que no saben el por que este ataque se realiza sobre redes bajo un router o un switch y no en maquinas interconectadas con un hub ya que es una duda que muchos pueden tener.Resulta que en una red con un hub no haría falta ya que un hub es un dispositivo "tonto" que no diferencia a una maquina de otra. Para que quede mas claro: Si por ejemplo nos encontramos en una red formada por cuatro ordenadores (a, b, c, d) interconectados con un hub y deseamos mandar un paquete del equipo "a" al equipo "d" el hub al no saber diferenciar una maquina de otra mandará el paquete a todos los ordenadores porque supone que las máquinas que no estaban esperando ese paquete lo rechazarán(Por un momento imaginaos en una oficina con un hub lo que podría pasar si dejamos un sniffer puesto durante un par de horas ;)).Ahora bien en una red con swith o con router tenemos que "engañar" a las máquinas porque este dispositivo si que diferencia una máquina de otra (Posee una tabla con unas entradas donde figura la dirección Mac y la dirección ip de cada dispositivo conectado a la red) y las máquinas de la propia red también poseen tabla arp y de esta manera ambos saben "quien es quien" dentro de la red por lo cual a la hora de enviar información a través de la red solo llega al destino en concreto.Realizando un ataque Man in the middle a una maquina en determinada le estaremos diciendo algo así como "Ey que yo soy la maquina que buscas envíame ese paquete a mi". Espero que haya quedado claro a los usuarios que tengan dudas y espero no haberme enrollado demasiado. Si hay algún error me lo comentáis. Un saludo a todos.

    ResponderEliminar
  7. Por cierto, para el que quiera comprobar de manera gráfica y sencilla como se comportan los diferentes dispositivos de la red o simplemente quiera experimentar un poco recomiendo el programa Cisco Packet Tracer. Este programa sirve para emular redes y permite probar diferentes configuraciones y dispositivos. Y además hay versión para Windows y versión para Linux :).

    ResponderEliminar
  8. @Darkside, packet tracer es un buen programa de emulación de redes. Lo bueno y malo a la vez, es que solo es de productos CISCO. Pero permite realizar diseños de redes y emular el funcionamiento, antes de ir a la empresa a configurar el paquete final.Por cierto, sigue en pie lo de tu posteo en el blog comunitario ;)Un saludo! :D

    ResponderEliminar
  9. Buenos días Pablo! Packet tracer tiene tanto dispositivos genéricos como dispositivos de la marca Cisco pero igualmente para cacharrear un poco no esta mal xD. En cuanto a lo del posteo estoy pendiente cuando me digas.Un saludo

    ResponderEliminar
  10. [...] es un script desarrollado en phyton el cual permite a un atacante realizar un MiTM. El resultado de realizar este ataque es la obtención de todas las conversaciones que la víctima [...]

    ResponderEliminar
  11. [...] misma LAN, pero ahora no hay prueba de concepto. Lo que sería un caso real, sería que mediante unMiTM todo el tráfico de la víctima pasase por el atacante. El atacante realizaría dns spoofing, es [...]

    ResponderEliminar
  12. [...] misma LAN, pero ahora no hay prueba de concepto. Lo que sería un caso real, sería que mediante un MiTM todo el tráfico de la víctima pasase por el atacante. El atacante realizaría dns spoofing, es [...]

    ResponderEliminar
  13. [...] cierto si estamos en red conmutada, que sería lo normal, necesitaríamos envenenamiento ARP, un MiTM de toda la vida. Repito, una vez que estemos capturando tráfico con Wireshark, podremos filtrar [...]

    ResponderEliminar
  14. [...] iniciar la conexión. Se debe tener claro que en este punto en concreto se puede sufrir un ataque Man In The Middle si un atacante cogiera el certificado de host que envía el servidor, por lo que se recomienda [...]

    ResponderEliminar
  15. [...] servir. Resumiendo, ¿me estás diciendo que si yo capturo una cookie de tuenti, ya sea mediante un MITM o un XSS u otros métodos puedo suplantar la identidad de un usuario de esta red social simplemente [...]

    ResponderEliminar
  16. [...] la idea a sistemas Windows. La idea que proponemos aquí son métodos para luchar contra el envenenamiento de la tabla ARP. Existen varias formas de evitar este tipo de ataque, unas más avanzadas que otras, pero [...]

    ResponderEliminar
  17. [...] por lo que la visibilidad entre ellos está asegurada. Además, con el uso de ataques del tipo Man in The Middle, mediante técnicas de arp-spoofing por ejemplo, es posible que cualquiera de los clientes [...]

    ResponderEliminar
  18. [...] Para ello se demostró que utilizando un arp-spoofing o más conocido como Man In The Middle o MITM, el cual ha sido tratado en Flu Project en diversas ocasiones, se consigue que el tráfico de la [...]

    ResponderEliminar
  19. [...] idea de esta publicación es para mostrar la forma tan fácil que puede hacerse un ataque de Man in the Middle  sin llegar a tener tantos conocimientos [...]

    ResponderEliminar
  20. [...] a tener en cuenta es arp, desde aquí podremos escoger a qué equipos se les realizará un MITM. Es sencillo realizamos un escaneo en una red, y después escogemos la víctima (target 1) y el [...]

    ResponderEliminar
  21. [...] primer lugar el atacante realizará MITM a la víctima mediante ARP Spoofing. Una vez el tráfico circula por el atacante, se construye un [...]

    ResponderEliminar
  22. [...] por lo que la visibilidad entre ellos está asegurada. Además, con el uso de ataques del tipo Man in The Middle, mediante técnicas de arp-spoofing por ejemplo, es posible que cualquiera de los clientes [...]

    ResponderEliminar