Ataque man-in-the-middle en Linux


Puede que a algunos el ataque Man in the middle (o MitM) no les diga mucho pero es una de las herramientas básicas a la hora de conocer la información que fluye a lo largo y ancho de nuestra red local (o intranet).

A grosso modo lo que pretendemos es hacernos pasar por el router de nuestra red (por el que pasan todas las comunicaciones tanto externas como internas) y de este modo capturar las conversaciones que nuestros hermanos, compañeros de trabajo (si el administrador de red de la oficina es lo suficientemente malo como para no tomar las medidas oportunas) o el famoso vecino que nos robó la wifi (al no saber las consecuencias que esto le traería) están manteniendo.

Ya sabemos cómo obtener sus contraseñas, veamos ahora a qué dedican su tiempo libre y de qué hablan 🙂

Aunque pueda parecer extremadamente complejo no lo es en absoluto (esa es la ventaja de Internet: nos permite aprender a hacer cosas que antes ni habíamos soñado) bastando con lanzar un par de comandos.

Software necesario

En principio sólo necesitamos:

  • dsniff nos permitirá dirigir a nuestra máquina los paquetes direccionados al router
  • fragrouter para habilitar el enrutado (ip forwarding)

Para instalarlos sólo debemos visitar Synaptic o lanzar desde la terminal

apt-get install dsniff fragrouter

Puesta en marcha

Lanzamos en una terminal

sudo arpspoof -i TARJETA_RED -t IP_VICTIMA IP_ROUTER

Donde

  • TARJETA_RED es la que utilizamos para conectarnos a la red (eth0, eth1, wlan0, …)
  • IP_VICTIMA la del equipo cuyas conversaciones queremos escuchar (puedes ver los equipos conectados actualmente a la red siguiendo los pasos que explicamos en su momento para detectar intrusos en la red)
  • IP_ROUTER puedes obtenerlo con un ifconfig en la terminal (recuerda que es la puerta de enlace)

En otra terminal lanza

fragrouter -B1

Capturar información de red

A partir de este momento todos los paquetes que envíe el equipo que estamos espiando (IP_VICTIMA) pasarán por nuestro equipo.

Basta utilizar cualquiera de las herramientas de sniffing: Wireshark, Ettercap, … para capturarlos y seleccionar aquellos que nos resulten de interés.

Esta receta se centra en cómo perpetrar el ataque en Linux, en próximas entregas, y en función de la aceptación del mismo explicaremos, entre otros:

  • cómo capturar los correos electrónicos
  • sesiones de chat
  • páginas web visitadas
  • etc…

Espero que el artículo haya sido de interés para el «piratilla» que todos llevamos dentro. Como colofón recordaros que la privacidad en las conversaciones es algo básico: ¡ojo con el uso que dais a esta información!

22 comentarios en “Ataque man-in-the-middle en Linux

  1. Muy bueno! Sinceramente, me parace genial conocer las técnicas de defensa/ataque y como podemos saber a que atenernos.

    Sabia de estas técnicas pero nunca me imaginé lo sencillo que sería. 😉

    Tremendo, ya estoy por quitar el Wifi de casa 😉

    Me gusta

  2. Hola Alberto

    por no liar al personal, indicar que la única variación con lo que aparece en el artículo es el uso del parámetro -i INTERFAZ que en la documentación aparece como opcional (si no se indica se toma por defecto la tarjeta de red activa)

    Si alguien tiene problemas que no dude en dar un toque y lo solucionamos

    Salu2 a todos

    Me gusta

  3. Sencillo, corto y preciso, asi es este articulo, me gusta mucho todas las entradas de este blog.
    Soy estudiante de sistemas y todo esto me fascina, pero sobre todo me ayuda mucho, porque probablemente estoy decidido a especializarme en todo esto.
    Sin embargo tengo una pregunta.
    Despues de hacer un poisonamiento (^_^je) al equipo B para que todo su trafico saliente pase primero por el nuestro y luego al switch. ¿Que pasaria si mi equipo no esta encendido?, es decir, en ese caso ¿el equipo B sufriria un DoS?

    Me gusta

    1. Interesante planteamiento @Noxes.

      Imagino que el equipo quedaría sin poder navegar y el usuario se vería obligado a reparar la conexión a Internet. Pero sólo son imaginaciones mías. Lo más adecuado sería hacer una prueba y ver cómo responde el equipo B, ¿no te parece? 😉

      Me gusta

  4. Para cuando??

    «Esta receta se centra en cómo perpetrar el ataque en Linux, en próximas entregas, y en función de la aceptación del mismo explicaremos, entre otros»

    Me gusta

  5. Buenas

    Lo he probado y sin problemas, una herramienta muy potente, el unico problema que veo es que al terminar el ataque se queda la victima sin red, hasta que no la repare o caduque la entrada de arp, con el consiguiente problema de que no es trasparente, hay alguna manera de cambiar las entrada de arp de la victima a la situación original.

    Un saludo y Gracias

    Me gusta

  6. Bueno, aquí algunos dicen que les parece bien que digas formas de ataque / defensa pero solo veo métodos de ataque, estaría bien que dijeras como nos podríamos «proteger» de uno de esos ataques 😛

    Me gusta

  7. a mi me da este error al instalar fragroute… exactamente en el sudo make.

    /home/ubuntu/Escritorio/fragroute-1.2/fragroute.c:151: undefined reference to `event_gotsig’
    fragroute.o: In function `fragroute_init’:
    /home/ubuntu/Escritorio/fragroute-1.2/fragroute.c:181: undefined reference to `event_sigcb’
    collect2: ld returned 1 exit status
    make[2]: *** [fragroute] Error 1
    make[2]: se sale del directorio `/home/ubuntu/Escritorio/fragroute-1.2′
    make[1]: *** [all-recursive] Error 1
    make[1]: se sale del directorio `/home/ubuntu/Escritorio/fragroute-1.2′
    make: *** [all-recursive-am] Error 2

    Me gusta

  8. hola he estado intentando instalar el fragroute pero no lo consigo, cuando intento instalarlo con el comando sudo apt-get install fragroute me pone que no encuentra el paquete.¿como podria instalarlo? ¿de donde me podria descargar el paquete para instalarlo? un saludo y gracias.

    Me gusta

  9. He probado ha instalar fragroute con apt-get pero no hay manera, ni con r al final ni sin ella, alguien que lo tenga instalado q pueda indicar como lo ha echo.

    Me gusta

    1. ¿Te refieres a parar el ataque en la víctima?
      Para evitar este tipo de ataque lo mejor es utilizar (en la víctima) tablas arp estáticas. Así evitaremos el envenenamiento de la tabla arp:

      arp -s

      También se pueden utilizar programas como ‘arpwatch’ para monitorizar las entradas en la tabla arp.

      Un saludo!

      Me gusta

Replica a rafa Cancelar la respuesta

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.