Aprende a realizar un ataque de hombre en el medio con arpspoof, driftnet y urlsnarf en Kali Linux


En este artículo, aprenderás cómo realizar un ataque MITM a un dispositivo que está conectado a las mismas redes Wi-Fi que la tuya.

Requisitos

Este artículo asume que usted sabe qué es una interfaz de red y sabe cómo trabajar con Kali Linux y la línea de comandos. Antes de comenzar, deberá conocer el nombre de la interfaz de red (instalada en su máquina) y la IP del enrutador que proporciona acceso Wi-Fi.

Información requerida de Atacante   Valor de ejemplo (debe reemplazar estos valores)
Nombre de la interfaz de red wlan0
IP Router 192.000.000.1

El nombre de la interfaz de red se puede obtener fácilmente ejecutando el ifconfigcomando en un terminal, luego, de la lista, copie el nombre de la interfaz que desea usar. La IP del enrutador se puede obtener ejecutando ip route showen un terminal y un mensaje como "predeterminado a través de [Esta es la IP del enrutador]" .

De la víctima, solo necesitará la IP (el usuario debe estar conectado a la red proporcionada por el enrutador). El proceso de obtención de la IP del dispositivo de la víctima depende totalmente de usted, hay muchas formas de conocerlo, por ejemplo hay programas de interfaz de usuario de routers / gatefays que enumeran todos los dispositivos conectados (con IPs en la lista) o simplemente usan una herramienta de software de monitoreo de red.

Información requerida de la víctima Valor de ejemplo (debe reemplazar estos valores)
IP del dispositivo de la víctima 192.000.000.52

Como nos estamos pirateando en este artículo, podemos obtener fácilmente esta información directamente desde nuestro dispositivo:

Android Device IP Information for MITM

Vamos a realizar un ataque MITM a un Samsung Galaxy S7 (conectado al router (router ip 192.000.000.1) con IP 192.000.000.52) que usa Google Chrome y navegaremos por diferentes sitios web para mostrar si el ataque realmente funciona o no. Una vez que haya recopilado toda la información requerida, ¡comencemos!

1. Habilita el reenvío de paquetes en Linux

Lo primero que debes hacer es reenviar todos los paquetes de red IPv4. De esta forma tu máquina actuará como un enrutador. Ejecuta el siguiente comando en una nueva terminal:

sysctl -w net.ipv4.ip_forward=1

Nota

Si tu máquina no reenvía los paquetes, la conexión a Internet del usuario se congelará y, por lo tanto, el ataque será inútil.

2. Interceptar paquetes de la víctima con arpspoof

arpspoof es una utilidad de línea de comandos que le permite interceptar paquetes en una LAN conmutada. Redirige también los paquetes de un host de destino (o todos los hosts) en la LAN destinados a otro host en la LAN mediante la falsificación de respuestas ARP. Esta es una forma extremadamente eficaz de rastrear el tráfico en un conmutador. La estructura del comando para comenzar a interceptar paquetes de la víctima al enrutador es la siguiente:

arpspoof -i [Network Interface Name] -t [Victim IP] [Router IP]

Entonces, con nuestros valores, el comando debería verse así:

Importante

Ejecuta tu comando en una nueva terminal y déjalo correr (no lo cierres hasta que quieras detener el ataque).

arpspoof -i wlan0 -t 192.000.000.52 192.000.000.1

Este proceso controlará el flujo de paquetes desde la víctima al enrutador.

3. Intercepta paquetes del enrutador con arpspoof

Ahora que está interceptando paquetes de la víctima al enrutador (que se ejecuta en una terminal), ahora necesita interceptar los paquetes de la víctima al enrutador con arpspoof. La estructura del comando para comenzar a interceptar paquetes desde el enrutador hasta la víctima es la siguiente:

arpspoof -i [Network Interface Name] -t [Router IP] [Victim IP]

Entonces, con nuestros valores, el comando debería verse así:

Importante

Ejecute su comando en una nueva terminal y déjelo correr (no lo cierre hasta que quiera detener el ataque).

arpspoof -i wlan0 -t 192.000.000.1 192.000.000.52

Como puede ver, es el mismo comando del paso anterior pero cambiamos la posición de los argumentos. Hasta este punto, ya estás infiltrado en la conexión entre tu víctima y el enrutador. Ahora solo necesita aprender a leer esos paquetes usando driftnet y urlsnarf.

4. Olfatear imágenes de la navegación de la víctima

Para ver las imágenes de los sitios web que visita nuestra víctima, debe utilizar Driftnet. Driftnet es un programa que escucha el tráfico de la red y selecciona imágenes de los flujos TCP que observa. Es divertido ejecutarlo en un host que recibe mucho tráfico web. La estructura del comando para iniciar driftnet y ver las imágenes que el usuario ve en los sitios web es la siguiente:

driftnet -i [Network Interface Name]

Nota

Si tu máquina no reenvía los paquetes, la conexión a Internet del usuario se congelará y, por lo tanto, el ataque será inútil.

Con la información que tenemos, nuestro comando debería verse así:

driftnet -i wlan0

5. Olfatear la información de las URL de la navegación de la víctima

Para obtener información sobre los sitios web que visita nuestra víctima, puede utilizar urlsnarf para ello. Es una herramienta de línea de comandos que rastrea solicitudes HTTP en formato de registro común. Genera todas las URL solicitadas extraídas del tráfico HTTP en CLF (formato de registro común, utilizado por casi todos los servidores web), adecuado para el posprocesamiento sin conexión con su herramienta de análisis de registro web favorita (analógica, wwwstat, etc.). La estructura del comando para rastrear las URL que visita su víctima es la siguiente:

urlsnarf -i [Network interface name]

En este caso, con la información que tenemos, el comando a ejecutar se verá así:

Nota

Si tu máquina no reenvía los paquetes, la conexión a Internet del usuario se congelará y, por lo tanto, el ataque será inútil.

urlsnarf -i wlan0

Felicitaciones, si ha seguido todos los pasos con cuidado, ahora debería estar olfateando información sobre el objetivo que eligió con un ataque MITM. Una vez que su víctima visite un sitio web, debería poder leer información sobre sus acciones en Internet. Para detener el ataque, presione CTRLC en cada terminal donde se esté ejecutando cualquier proceso que haya abierto.

6. Desactiva el reenvío de paquetes (solo cuando tu ataque haya finalizado)

Una vez que haya terminado con su ataque (ya no quiere olfatear), recuerde deshabilitar el reenvío de paquetes en el sistema nuevamente ejecutando el siguiente comando en una terminal:

sysctl -w net.ipv4.ip_forward=0

Resumen

Si ya siguió el tutorial, hizo todo bien y funcionó como se esperaba, siga el resumen del proceso la próxima vez que desee hacer esto:

# Habilitar el reenvío de puertos
sysctl -w net.ipv4.ip_forward=1

# Conexión falsa entre la víctima y el enrutador
# Nota: Ejecute este comando en una nueva terminal y déjelo correr
arpspoof -i [Network Interface Name] -t [Victim IP] [Router IP]

# Mismo paso pero invertido (no, no es lo mismo ...)
# Nota: Ejecute este comando en una nueva terminal y déjelo correr
arpspoof -i [Network Interface Name] -t [Router IP] [Victim IP]

# Ejecute driftnet para oler imágenes
# Nota: Ejecute este comando en una nueva terminal y déjelo correr
driftnet -i [Network Interface Name]

# Olfatear el tráfico de URL de la víctima
# Nota: Ejecute este comando en una nueva terminal y déjelo correr
urlsnarf -i [Network Interface Name]

# Deshabilite el reenvío de puertos una vez que haya terminado con el ataque
sysctl -w net.ipv4.ip_forward=0

# Ejemplos de valores
# [Network Interface Name] = wlan0
# [Victim IP] = 192.000.xx
# [Router IP] = 192.000.1

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores