Cuando queremos comprobar la conectividad todos solemos utilizar el comando Ping, una herramienta que envía paquetes ICMP a un servidor específico para saber si la comunicación es correcta o hay algún problema. Sin embargo, esta herramienta es muy sencilla y no permite prácticamente ninguna modificación de los paquetes, ni utilizar otros protocolos para el envío de información.

Hping3 es una aplicación más avanzada que nos va a permitir modificar los paquetes que se envían a través del protocolo TCP/IP de manera que podamos disponer de un control mucho mayor de estos paquetes, pudiendo adaptarlos en función de nuestras necesidades.

¿Qué nos ofrece Hping3?

Hping3 es una aplicación de terminal para Linux que nos va a permitir analizar y ensamblar fácilmente paquetes TCP/IP. A diferencia de un Ping convencional que se utiliza para enviar paquetes ICMP, esta aplicación permite el envío de paquetes TCP, UDP y RAW-IP.

Junto al análisis de los paquetes, esta aplicación puede ser utilizada también con otros fines de seguridad, por ejemplo, para probar la eficacia de un firewall a través de diferentes protocolos, la detección de paquetes sospechosos o modificados, e incluso la protección frente a ataques DoS de un sistema o de un Firewall.

Instalar Hping3

Hping3 se encuentra disponible en los repositorios oficiales de Ubuntu, por lo que para instalarlo simplemente debemos abrir un terminal (o un gestor de paquetes como Synaptic) y teclear en él:

sudo apt install hping3

La herramienta ocupará unos 3.600 KB que, una vez se instalen, ya podremos empezar a utilizar.

Comandos de Hping3

Las funciones que nos admite este programa son inmensas. Desde realizar un sencillo ping hasta enviar paquetes a través de un puerto determinado incluso ocultando la IP de origen.

Si queremos conocer a fondo todos los parámetros que nos ofrece este programa podemos consultar la ayuda incluida en la herramienta simplemente tecleando en el terminal:

hping3 --help

Cómo utilizar Hping3

Prueba de Ping sencilla

Podemos utilizar esta herramienta como el comando ping convencional, obteniendo prácticamente los mismos resultados. Para ello simplemente debemos teclear:

hping3 www.google.es

Hping3_tutorial_Linux_foto_1

Y veremos cómo se realiza esta prueba sencilla de conexión. (Podemos cambiar el dominio de Google por cualquier otro o utilizar directamente una IP para hacer ping a ella).

Trazar ruta de conexión

De forma similar a la opción “tracert” de Windows o “traceroute” de Linux, con esta herramienta también podemos seguir todos los saltos entre redes de un paquete desde que sale de nuestro ordenador hasta que llega a su destino, pudiendo conocer en todo momento si hay algún tipo de problema en la conexión.

Para ello simplemente debemos teclear:

hping3 redeszone.net -t 1 --traceroute

Escaneo de puertos usando el flag SYN de TCP

Esta herramienta también nos permite enviar paquetes bajo el protocolo TCP, al más puro estilo Nmap. Para realizar un escaneo a través de este método teclearemos en el terminal “hping3 –S [IP Destino] –p [Puerto]” quedando el resultado similar a lo siguiente:

hping3 -S www.google.es –p 80

El resultado de este test nos devolverá un flag SA quiere decir que corresponde con SYN/ACK, es decir, que la comunicación ha sido aceptada, o lo que es lo mismo, que el puerto está abierto. De lo contrario, si el valor es RA corresponde a RST/ACK o lo que es lo mismo, que la comunicación no se ha realizado correctamente porque el puerto está cerrado o filtrado.

Hping3_tutorial_Linux_foto_2

De esta manera podremos conocer, por ejemplo, si se permite la comunicación a un determinado puerto, o si de lo contrario el Firewall lo está filtrando.

Firmar paquetes con un archivo de texto personalizado

Es posible utilizar esta herramienta para modificar los paquetes que enviamos e introducir en ellos un mensaje personalizado de forma similar a una firma. Para ello simplemente debemos teclear:

hping3 redeszone.net -d 50 -E firmaredeszone.txt

Este comando introducirá dentro de los paquetes de Ping el contenido del archivo txt indicado. Si analizamos dichos paquetes con un software adecuado como WireShark veríamos que dentro de ellos está el contenido del fichero en cuestión.

Hping3_tutorial_Linux_foto_3

Los parámetros introducidos significan:

  • -d : La longitud del mensaje que vamos a introducir, en este caso, 50.
  • -E : Fichero del que vamos a coger la firma mensaje que queremos introducir a los paquetes.

Igualmente podemos utilizar otros parámetros, por ejemplo, -p para indicar el puerto al que queremos enviar dichos paquetes o -2 para enviar los paquetes a través del protocolo UDP.

Generar múltiples peticiones para probar la protección DoS y DDoS

Esta herramienta también nos va a permitir comprobar la estabilidad de nuestro sistema frente a ataques de red como DoS y DDoS generando pruebas reales, ya sea hacia localhost como hacia otro servidor dentro (o fuera) de la red.

Podemos realizar una serie de pings únicos modificando la IP de origen de los mismos en los paquetes TCP/IP simplemente tecleando:

hping3 --rand-source 192.168.1.1

Igualmente, podemos añadir el parámetro –flood para que los paquetes se envíen en tiempo real de forma masiva. De esta forma podremos comprobar, en primer lugar, si nuestro cortafuegos funciona y, en segundo lugar, qué tal responde nuestro sistema ante un amago de ataque DDoS.

Para ello teclearemos:

hping3 --rand-source --flood 192.168.1.1

Hping3_tutorial_Linux_foto_4

En tan sólo un par de segundos hemos generado más de 25.000 paquetes, por lo que debemos tener cuidado ya que puede quedar nuestra red bloqueada e inservible.

Con esto se empezarán a generar un gran número de paquetes con un “falso origen” (gracias al parámetro rand-source) que se enviarán de forma continua al servidor de destino (en este caso 192.168.1.1). De esta manera podremos comprobar la robustez de nuestro sistema frente a los ataques DDoS ya que, si el sistema deja de funcionar o se bloquea es posible que haya un fallo de configuración y que debamos aplicar las medidas correspondientes para evitar que esto pueda pasar en un entorno real.

Esta herramienta es muy útil, aunque siempre debe utilizarse en entornos cerrados y controlados ya que de salir al exterior es posible que terminemos por realizar un ataque de denegación de servicio a un equipo que no debamos, siendo esto ilegal y pudiendo terminar sancionado por ello.

Os recomendamos acceder al MAN PAGE oficial de hping para conocer todas sus opciones.

Publicado por Rubén Velasco el 05 febrero 2015

Últimos análisis

Valoración RZ
9
Valoración RZ
8
Valoración RZ
8
Valoración RZ
8
Valoración RZ
8
Valoración RZ
10
Valoración RZ
8