hping o hping3 (la última versión) es una herramienta que permite generar y manipular paquetes de datos para la suit de protocolos TCP/IP. Es una herramienta clásica, muy útil para escanear puertos en hosts y que se encuentra disponible en Kali Linux. A partir del comando de ayuda se pueden ver las opciones de parametrización, que incluye desde el número de paquetes a generar y enviar hasta el modo: TCP, ICMP, UDP, poner en modo escucha…
hping3 -h
Para cada una de estos modos también existen opciones. Para el escaneo de puertos, se usará el modo TCP, que es el que se utiliza por defecto. Como se muestra, hping3 permite alterar el contenido de las cabeceras TCP, incluso pudiendo llegar a generar cabeceras TCP con diferentes bits de control activados (flags).
La estructura básica de funcionamiento es la que se indica debajo. En el target, se puede incluir tanto una IP como un dominio. El comando clásico para realizar escaneo de puertos y ver si están abiertos consiste en enviar un determinado número de paquetes (opción –c) con el bit de control SYN (opción –S), simulando una petición de inicio de conexión al host destino. De acuerdo al mecanismo Three-way Handshake, si el puerto de destino está abierto, este responderá con un paquete con los bits de control TCP SYN/ACK (flags=SA en hping).
hping3 [opciones] [parametros]
hping3 -S -p -c
El escaneo de puertos también proporciona información de forma pasiva sobre el sistema operativo del host destino. En concreto, a través de los datos TTL (Time to Live) y WIN (Windows Size) en los paquetes de respuesta, que están en las cabeceras de los protocolos IP y TCP respectivamente. De acuerdo a los estándares, un Windows emitiría paquetes con TTL = 128 y WIN = 5000-9000, mientras que si es Linux estos valores serían TTL = 64 y WIN = 500-600. Esto no siempre ocurre así, pues los administradores de seguridad en la red de una empresa pueden manipular este dato para que sus servidores envíen valores diferentes y confundir a un posible atacante.
También es posible que el host no esté disponible o bien el puerto esté cerrado o filtrado por algún Firewall. En estos casos, simplemente no habrá respuesta (100% packet loss) o en determinados casos si es en LAN se dará una respuesta con los bits de control RA. En ambos casos se indica la misma situación para el puerto (no disponible).
Esta herramienta también permite realizar escaneos de puertos por barridos. En la primera opción (–scan), la herramienta mostrará todos los puertos que han respondido a un paquete SYN de acuerdo a los puertos indicados. En la segunda opción se realiza el escaneo puerto a puerto desde uno que se indique, añadiendo ++ en la opción de puerto.
hping3 --scan -S
hping3 -S -p ++
hping3 es una herramienta muy versátil y a parte de lo mostrado, se pueden hacer otro tipo de funciones. Por ejemplo, enviar el contenido de un fichero de texto, indicando el tamaño total del paquete. A partir del análisis con Wireshark, se puede deducir que el puerto está abierto. Por ejemplo, usando el modo UDP:
hping3 -2 -c 5 -p ++ -d -E fichero.txt
hping3 también permite realizar ataques de TCP Flood, que es una modalidad de denegación de servicio (DoS, Denial of service). Este ataque consiste en inundar el servicio con miles de paquetes en tan solo un instante, causando el colapso e impidiendo el uso a otros usuarios. Además, hping3 permite enviar estos paquetes con una IP de envío generada aleatoriamente para cada paquete (opción –rand-source).
hping3 −−rand-source −−flood
Ya para terminar, comentar que hpin3 también permite funcionar con scripts, aunque para crear estos scripts se requiere conocimiento en programación. Para más información sobre esta funcionalidad avanzada: https://iphelix.medium.com/hping-tips-and-tricks-85698751179f.
Usamos cookies para asegurar que te damos la mejor experiencia en nuestra web. Si continúas usando este sitio, asumiremos que estás de acuerdo con ello.Aceptar