Detección de ataques Man in the middle

Medidas para detectar el ataque
Es difícil detectar este tipo de aplicaciones (Wireshark o Cain), ya que son programas que trabajan de manera pasiva, y no dejan casi huellas, por no decir ninguna. Mucha de la información que circula por la red lo hace en texto plano, pudiendo acceder desde cualquier ordenador de una misma red a esa información confidencial mediante un simple sniffer, como hemos ido viendo a lo largo de esta guía.
A continuación vamos a ver algunas de las técnicas para intentar detectar un ataque ‘Man in the middle’, no son excluyentes una con otra, así que podemos combinarlas como nos parezca.
1-Si tenemos acceso a la máquina
Este es el más improbable, por decirlo de alguna manera. Si tenemos acceso físico a las máquinas que forman parte de la red y podemos ver para cada una la lista de aplicaciones y procesos activos, podríamos detectar si existe algún proceso que pueda ser de tipo sniffer. A veces estos programas se ejecutan al iniciar la máquina o bien cuentan con alguna entrada en el registro del sistema.
Por ejemplo, Wireshark, en el caso de no estar ejecutándose pero sí estar instalado, podemos comprobarlo en el registro de Windows, en la siguiente ruta: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Uninstall\Wireshark.

2-Prueba de icmp
Vamos a realizar un ping a la dirección IP que deseemos para analizar el retardo de los paquetes. Una vez visto el resultado, creamos conexiones TCP falsas en esa red durante un período de tiempo y esperamos a que el posible sniffer procese estos paquetes, incrementando de esta manera el tiempo de latencia. Si cuando volvamos a analizar el retardo del ping vemos que el tiempo en milisegundos aumenta considerablemente, es posible que tengamos un sniffer en nuestra red.
3-Prueba Arp
Este test se basa en realizar una petición tipo ICMP echo (ping) a la dirección IP que queramos pero con una MAC errónea. Para esto, podemos agregar a nuestra tabla ARP la dirección que queramos, es decir, incluir la dirección MAC errónea mediante los comandos que nos ofrece ARP, por ejemplo:
Para agregar una nueva entrada a la tabla ARP podemos teclear el comando:
o Arp –s [IP] [MAC]
Se sobreentiende que la MAC es falsa, si posteriormente tecleamos arp -a (muestra el contenido de la tabla) vemos que se añade.

Si la dirección MAC es incorrecta el paquete enviado no debería de llegar a su destino, pero en algunos sistemas, al estar en modo promiscuo debido a la utilización de un sniffer, este atenderá el paquete. Si vemos que el paquete llega a su destino, es que la tarjeta de red está en modo promiscuo, y por lo tanto podemos tener un posible sniffer en la red.