21 de marzo de 2013

MitM con Ettercap

Una de las técnicas básicas para realizar un MitM en una LAN es el ARP Poisoning, aplicando esta técnica conseguiremos que una máquina objetivo (o toda la red) crea que somos su puerta de enlace y por lo tanto nos enviará todo su tráfico. Un usuario con malas intenciones podría guardarse esos datos para analizarlos, extraer conversaciones y contraseñas o manipular los datos para enviar información falsa a la victima sin que sospeche durante el ataque.

Los paquetes ARP (Adress Resolution Protocol) trabajan en la capa de enlace de red (capa 2)  y se encargan de relacionar las direccions MAC con las direcciones IP. Algo parecido a lo que hacen las DNS con los dominios.

Un equipo conectado a la red que quiera encontrar a otro enviará paquetes ARP request a la MAC de broadcast (FF FF FF FF FF FF) con la IP del equipo que busca. La petición se propaga por toda la red y el equipo se pone en esperará de un paquete ARP reply con la dirección MAC de esa máquina. Esta información se guarda en la tabla ARP que traducirá las MAC  a direcciones IP. 

El protocolo TCP/IP es muy amigable y acepta los paquetes ARP sin comprobar nada. En esto se basa precisamente el ARP poisonig, en esta amabilidad a la hora de dejar pasar paquetes y ejecutarlos. Así que unos paquetes ARP manipulados podrían envenenar la tabla para hacer creer que una IP se encuentra en otra MAC . Y cada vez que la víctima necesitara algo de esa IP lo pediría o lo enviaría al host malintencionado.

Para ver la tabla ARP de tu equipo utiliza este comando: arp -a

Si todo esto te suena a chino comenta o lee pequeñas obviedades: la red local doméstica.



Cuando se lanza el ataque el equipo malicioso inunda la red con paquetes ARP reply indicando que la IP de la puerta de enlace corresponde con su MAC. Así hará pasar el tráfico de toda la red por él para capturarlo.

Podrás comprobar si ha tenido éxito el ataque si ha cambiado la MAC de la puerta de enlace en el equipo atacado.


Para realizar una prueba de concepto usaremos Ettercap, una herramienta muy sencilla y enfocada a este tipo de ataques. Ettercap es una suite GNU/Linux que cuenta con capturador de paquetes, filtrado de contenido en vivo y muchas más opciones. Es compatible con muchos protocolos e incluye muchas características para el análisis de redes y equipos. 

Ettecap en Kali Linux
Podemos instalar ettercap en nuestro equipo o usar Kali Linux . Empezaremos por ejecutarlo:

consola: sudo ettercap -C 
modo gráfico: sudo ettercap -G 



Una vez ejecutado vamos a preparar el escenario:

Sniff/Unified sniffing

Primero tenemos que seleccionar en que tarjeta de red ejecutaremos el ataque, lo harémos desde el menú Sniff en la opción Unified sniffing. Si tenemos la ethernet y la tarjeta wifi conectada a la misma red usaremos la opción Bridged sniffing





Host/Host List
Ahora buscaremos los equipos conectados a la red desde Menu Hosts/Scan for Host una vez finalizado veremos la lista en Host/Host List.

Marcaremos a la víctima (192.168.100.101)  y pincharemos sobre Add to Target 1, ahora seleccionaremos la puerta de enlace como Target 2 (192.168.100.1)



Conexiones realizadas por la victima 

Lanzaremos el ataque desde Mitm/Arp poisoning. Ya está todo listo ahora toca monitorizar las conexiones desde View/Conections. En la pestaña parecerán listadas las conexiones de la victima. Analizando los paquetes se podría encontrar alguna contraseña, cookie o mensaje privado pero suele ser difícil, la mayoría de servicios tiene un cifrado asociado, aún así las contraseñas de telnet, ftp o pop3 pueden ser capturadas. Además podemos volcar todos los paquetes capturados y analizarlos posteriormente con wireshark. 

Ettercap nos ha sido de mucha ayuda para demostrar lo sencillo que es hacer un MitM y poder espiar las conexiones de otros usuarios de la red sin que se den cuenta. Por eso debemos navegar por webs seguras (https) siempre que se pueda y usar servicios que proporcionen algún tipo de cifrado en sus conexiones sobretodo en redes públicas.

2 comentarios:

Anónimo dijo...

Buenos días:

He estado probando el ettercap contra un win7 que tengo en una maquina virtual y lo que ocurre es que se queda "cuajada" la navegación del win7.

¿Esto tiene alguna solución?

Unknown dijo...

¿Te refieres a que el win7 se queda sin conexión a internet?

Al hacer el ataque tienes que configurar el equipo atacante para que la conexión a Internet continue y la victima no se de cuenta de que estás ahí.

Si utilizas linux debes utilizar las iptables para redirigir el tráfico a la puerta de enlace.