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
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.
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