Denegación de servicios con HPING3 (KALI LINUX)

Guía elaborada bajo contextos netamente éticos de investigación, información y educativos, para comprender como es un ataque DDoS y como defendernos.

Sólo cuando conoces cada detalle de la condición del terreno puedes maniobrar y luchar.

Sun-Tzu«El arte de la Guerra»

Para este Lab’s usaremos 2 maquinas virtuales, configuradas en modo solo anfitrión, para no comprometer la red local, la de kali la dejaremos en modo promiscuo y verificamos nuestras consultas y comandos con wireshark.

Introducción

Hacer una analogía o descripción de lo que es Kali Linux y metasploitaable, se los dejare a ustedes, si realmente quieren entrar en este mundo investiguen, en las web de cada distro esta toda la información.  Recomiendo el libro Pentesting con kali y Damn Vulnerable Web Application (DVWA)

¿Que es un ataque de denegación de servicios?

Un ataque de denegación de servicios, es el que se realiza cuando una cantidad considerable de sistemas o conexiones atacan a un objetivo único, provocando la caída del servicio en el sistema afectado. La sobrecarga de mensajes entrantes sobre el sistema objetivo fuerza su cierre, denegando el servicio a los usuarios legítimos.  Por lo que una de las reglas fundamentales de la triada de seguridad se rompe (Disponibilidad)

Confidencialidad – Integridad – Disponibilidad

¿Que es HPING3?

HPing3, es una herramienta de uso libre distribuida bajo Lincencia GNU  y es utilizada para generar paquetes IP a discreción, esto quiere decir que permite crear y analizar paquetes TCP/IP.  No solo es capaz de enviar paquetes ICMP, sino que también es capaz de enviar paquetes TCP, UDP y RAW-IP

Es conocido como la navaja suiza por sus múltiples funciones, tales como : hacer testing de firewalls, escaneo de puertos, redes.

Lo usaremos como herramienta para generar un SYN FLOOD ATTACK, nuestro objetivo sera generar un alto numero de inicios de conexión sin finalizar, dejando al servidor a la espera del cierre de la conexión y provocando así la caída inminente del servicio por falta de recursos físicos para aguantar tantas conexiones.

Primera aclaración… ¿Como funciona una conexión TCP/IP?

Una conexion TCP/IP funciona cuando un equipo CLIENTE inicia una conexión con un equipo remoto (SERVER), este envió un SYN al equipo remoto (SERVER), el equipo remoto (SERVER) ve el SYN y responde con un SYN+ACK, este es devuelto al equipo CLIENTE, el equipo CLIENTE responde un ACK.  Con esta simple rutina de preguntas y respuestas entre ambos ya pueden comenzar a transmitir datos.

gibson-exploring-fig1¿Que es un SYN FLOOD ATTACK?

Un ataque de SYN FLOOD ATTACK, es mas conocido como ataque de denegación de servicios.  Es un tipo de ataque donde no se cumple una condición de consulta TCP/IP normal, este se genera dejando al servidor a la espera del ACK final, lo que provoca que si se realizan miles de consultas de este tipo, el equipo remoto colapsa por falta de recursos.

Ya con esto, esta todo claro comenzaremos el laboratorio.

User Pass
Kali Linux root toor
Metasploitable msfadmin msfadmin

La ips que me entregan las maquinas son las siguientes

Kali Linux 192.168.56.101  (atacante)

Metasploitable 192.168.56.102  (victima)

Captura de pantalla de 2016-01-07 10-33-38

Lo primero que realizaremos serán simples consultas de conectividad hacia nuestro servidor victima.

  • Test TCP
hping3 192.168.56.102

Captura de pantalla de 2016-01-07 10-41-39

En este test podemos observar que he creado un filtro en wireshark para revisión de las consultas desde kali ip.src==192.168.56.101, y veremos que la consulta es la típica consulta por protocolo TCP a 54 bit

  • Test ICMP
hping3 -1 192.168.56.102

Captura de pantalla de 2016-01-07 10-48-28

En este test podemos observar una consulta ICMP(ping) a 42 bit

  • Test UDP
hping3 -2 192.168.56.102

Captura de pantalla de 2016-01-07 10-55-46

En este test podemos observar una consulta UDP a 42 bit

1.- IP Spoofing

Spoofing, en términos de seguridad de redes hace referencia al uso de técnicas a través de las cuales un atacante, generalmente con usos maliciosos o de investigación, se hace pasar por una entidad distinta a través de la falsificación de los datos en una comunicación.

  • ocultamos nuestra IP al servidor victima y le realizaremos consultas por TCP
hping3 -a 1.2.3.4 192.168.56.102

Captura de pantalla de 2016-01-07 10-57-59

Si se fijan en Wireshark, hice un cambio en el filtro y ahora apunto al servidor de destino osea a la victima ip.dst==192.168.56.102, tambien se pueden fijar que ahora el source ya no es 192.168.56.102, sino que 1.2.3.4, con esto ya el fierwall o el IDS no reconocerían la ip atacante

  • Para un firewall o IDS identificar esto seria muy fácil ya que son muchas consultas (default=1 paquete x seg) a ningún puerto en especifico, por lo que haremos creer al firewall e IDS que es una consulta valida al puerto 80
hping3 -a 1.2.3.4 192.168.56.102 -p80

Captura de pantalla de 2016-01-07 11-02-29

Ya todas las consultas las estamos enviando desde la IP 1.2.3.4 al puerto 80 por TCP, pero aun para un firewall o IDS es fácil detectarlos ya que consultas cada 1 segundo al puerto 80 es bastante sospechoso.

  • Lo que ahora haremos sera burlar por completo al firewall o IDS
hping3 --rand-source 192.168.56.102 -p80

Captura de pantalla de 2016-01-07 11-14-39

ya con esta ultima prueba donde podemos observar que nuestro kali esta enviando peticiones a la victima con IPS aleatorias, estamos con casi todo lo necesario para empezar el ataque, si viene cierto TCP el tamaño del paquete es de 54 bytes para colapsar el sistema es poco.

  • alteramos el tamaño de los paquetes enviados por TCP
hping3 --rand-source -d 500 192.168.56.102 -p80

Captura de pantalla de 2016-01-07 11-18-16

Con el comandó que acabamos de ejecutar le hemos sumado 500 bytes a una consulta clásica de TCP de solo 54 bytes, ya solo  queda colapsar los sistemas para hacer las pruebas de tolerancia.

Primero dejare un pantallazo de lo importante para esta etapa, saber como se cambia la velocidad de trafico con hping3

Captura de pantalla de 2016-01-07 11-22-06

el Default de un ping es de 1 paquete por segundo, y es el que tiene configurado por defecto hping3, según la documentación de la ayuda de hping3 dice que

hping3 -h

–fast = 10 paquetes  por segundo

–faster = 100 paquetes por segundo

–flood = Envio de paquetes lo mas rapido que sea posible, y no se muestran respuesta

hping3 --rand-source -d 500 192.168.56.102 -p80 --fast

Captura de pantalla de 2016-01-07 11-27-58

esto ya es bastante rápido si se fijan en la tabla de números de wireshark esta cambio en el numero 11 por lo que envió 10 paquetes por segundo

  • Ahora enviaremos 100 paquetes por segundo
hping3 --rand-source -d 500 192.168.56.102 -p80 --faster

Captura de pantalla de 2016-01-07 11-41-10

La consulta recién realizada envío mas de 9962 paquetes y lo pare en menos de 1.30 segundos si se fijan ya en el paquete 9975 perdio coneccion con el servidor victima, ya queda probar la tercera opción y ver que pasa, esta se las dejo a ustedes.

hping3 --rand-source -d 500 192.168.56.102 -p80 --flood

Espero que este LAB les haya servido para saber como funciona un ataque DDoS, en un post futuro dare mis recomendaciones de como evitarlos, y recuerden esto es muy sensible realicen las pruebas con autorización escrita de sus jefaturas, no se hagan responsables de lo que pueda pasar pero si de como solucionarlo.  HPING3 es una herramienta poderosa así que usenla con cuidado y gran responsabilidad.

TODO GRAN PODER CONLLEVA UNA GRAN RESPONSABILIDAD. «Tio Ben – Spider Man»

Jorge Romero
Sigueme

Deja una Respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.