Navegando encontre un post sobre como leer conversaciones de msn de otra persona en una LAN haciendo un ataque MitM (Man in the Middle), por lo que me puse a leer un poco mas sobre el tema, en los ataques MitM el objetivo del atacante es interceptar las comunicaciones de la victima, esto se puede hacer de varias formas, una de ellas es el ARP spoofing (envenenamiento ARP).
Escenario del ataque
La siguiente imagen grafica como seria el ataque, “Attacker” es como su nombre lo indica el atacante, que intercepta las comunicaciones entre Bob y Alice que son las victimas (Como su nombre lo indica (?) ). Una de las victimas podria ser un gateway, cosa de ver el trafico que entra y sale a internet, y ver donde navega Bob, y que escribe en msn, cuales son sus contraseñas (Toda la informacion que viaje en forma plana puede ser facilmente interpretada por un software especializado, ahora si esta encriptada como una comunicacion ssh se complica la cosa)
Que es ARP, como funciona, que es su tabla
ARP es el protocolo encargado de traducir las direcciones fisicas (MAC address) a direcciones logicas, para esto el concentrador de red generalmente tiene una tabla con las direcciones mac y las direcciones ip de los hosts conectados.
Este es el resultado del comando arp -a ejecutado en mi router, (Un Linksys WRT54GL con Obelisco Linux basado en OpenWRT) que nos muestra la tabla ARP antes y despues del ataque.
root@router:~# arp -a
IP address HW type Flags HW address Mask Device
10.4.19.148 0x1 0x2 00:16:E3:20:FB:C2 * br0
10.4.19.151 0x1 0x2 00:11:2F:E6:D4:34 * br0
root@router:~# arp -a
IP address HW type Flags HW address Mask Device
10.4.19.148 0x1 0x2 00:16:E3:20:FB:C2 * br0
10.4.19.151 0x1 0x2 00:16:E3:20:FB:C2 * br0
Notece que despues del ataque se duplico mi MAC address en la tabla del router, ahora el router piensa que yo soy 10.4.19.151.
Realizando el ataque + usando ettercap
El software para realizar el ataque es ettercap, para instalarlo en debian y similares un apt-get install ettercap, si queres el fuente, la pagina del proyecto es http://ettercap.sourceforge.net.
nicolas-ard@laptop:~# ettercap --iface wlan0 -T -M arp:remote /10.4.19.129/ /10.4.19.151/
Explicación de los parametros del comando
–iface [Interface] : Permite seleccionar la placa de red en la que vamos a trabajar.
Agrego solo este parametro, ya que el resto de los comandos estan explicados en el post de donde me base para hacer esta ampliacion asi que no hace falta que lo escriba de nuevo.
Buscando una solucion al problema
Esta tal vez sea la parte mas provechosa de este post, primero es necesario saber que existe software que puede prevenir esto (NIPS = network intrusion prevention system), y software que informa alertas de cambio en la tabla ARP (NIDS = network intrusion detection system ), como arpalert. Tambien hay software mas completo que hace las dos cosas como Snort (cuando tenga mas tiempo probare), desde ya segun lei, los switchs de Cisco tienen formas de solventar esto.
Una solucion que no probe, es cargarle al router otra vercion de OpenWRT modificada que se llama PacketProtector.
Solucion cacera
Es setear de manera estatica hosts a la tabla arp, es simple y rapida, y se podria llegar a automatizar para que el dhcp se lance un script que agregue los datos a la tabla. El comando es simple y es el siguiente:
root@router:~# arp -s [ip_address] [mac_address]
Tras implementar esta solucion, el ataque no tuvo exito nuevamente, para eliminar un valor de la tabla arp usamos el siguien comando,
root@router:~# arp -d [ip_address]
Recuerdo que para ver como se usan todos los comandos de arp (en gnu/linux), solo basta hacer un man arp.
Nota: Con esto evitamos que el ataquente cambie a su gusto la tabla ARP del Router pero no la de la maquina victima, para eso tendremos que hacer lo mismo con la tabla arp de la maquina victima.
La otra vez encontre un
post sobre como leer conversaciones de msn de otra persona en una LAN haciendo un ataque
MitM (Man in the Middle), por lo que me puse a leer un poco mas sobre el tema, en los ataques MitM el objetivo del atacan