Está en la página 1de 4

Hping • PORTADA

Pruebas de seguridad con hping

Michael Röder, Fotolis


EL BAILE
No dejes que los intrusos te estropeen el baile. Te enseñaremos cómo

probar tus cortafuegos y sistemas de detección de intrusos con hping.

POR JAMES STANGER, PHD

¿Qué Hace hping?

C
uando llega la hora de auditar la enviar dos paquetes TCP a un sistema lla-
seguridad y las pruebas de penetra- Hping proporciona una solución sencilla y mado james y que esos paquetes alcancen el
ción, hping es uno de nuestros universal que permite evitar muchos de los puerto 80 de james. Para hacerlo, sólo hay
mejores amigos. Actualmente en su tercera problemas de la generación anterior. Está que ejecutar la orden que se muestra (con su
iteración, hping se ha convertido en la diseñado para: correspondiente salida) en el Listado 1.
manera preferida de generar paquetes IP, • escanear hosts, Nótese que en él, el campo flags= se ha
normalmente con el propósito de verificar • asistencia en las pruebas de penetración, establecido a SA, que es la manera en que
cortafuegos y sistemas de detección de • probar sistemas de detección de intrusos, hping nos dice que el puerto 80 de james está
intrusiones. • y enviar archivos entre hosts. abierto. Si estuviera cerrado, veríamos RA en
Como puede utilizarse para manipular En este artículo explicaremos cómo empezar el campo flags=.
todos los campos, banderas y protocolos del a generar paquetes de prueba con hping. La opción -S envía un paquete SYN, que a
conjunto de protocolos TCP/IP, algunos menudo se utiliza para crear escaneos que
usuarios le denominan aplicación de crea- Instalación de hping son difíciles de detectar y marcar como ame-
ción de paquetes. Hping3 está disponible como archivo fuente naza para los sistemas de detección de intru-
Mediante la manipulación de paquetes en la página web del proyecto [1]. Si estamos siones.
podemos escanear sistemas clandestina- utilizando un sistema Debian o Ubuntu, Después de que un sistema responda a un
mente, generar inundaciones de trafico y, en podemos usar para la instalación el Gestor de paquete SYN, sabremos que un puerto está
general, crear paquetes hasta que nos harte- paquetes Synaptic o aptget. Para instalar escuchando; los sistemas de detección de
mos. Con el paso de los años, hping se ha hping, ingresamos la siguiente orden: intrusiones tratarán el paquete SYN como trá-
convertido en el generador de paquetes de fico estándar más que como una amenaza.
facto. sudo apt-get U La Figura 1 muestra cómo especificar una
Generar paquetes personalizados no es install hping3. exploración más sofisticada que proporciona
nada nuevo. Herramientas anteriores con un pequeño informe basado en ASCII.
nombres pandilleros y hackeristas, como No será necesario habilitar ningún reposito-
targa, synful, papa smurf y netdude, podían rio adicional. También están disponibles en Ventajas sobre Nmap
ayudar en la tarea de generar paquetes dise- línea los paquetes para Red Hat y CentOS [2]. Podríamos preguntarnos por qué desearía-
ñados, pero muchos de esas viejas herra- mos utilizar hping para buscar puertos abier-
mientas tienen problemas y limitaciones. Por Escaneando Hosts tos cuando ya tenemos Nmap. En algunas
ejemplo, algunas sólo pueden escanear redes Después de instalar hping estamos listos para situaciones, hping ofrece ventajas sobre
IPv4 de Clase C. comenzar. Supongamos que queremos Nmap.

WWW.LINUX- MAGAZINE.ES Número 48 33


PORTADA • Hping

En primer lugar, hping es una aplicación Si deseamos emitir un comando traceroute


liviana, si la tenemos instalada y lista para utilizando UDP, será suficiente el comando
funcionar, ¿por qué preocuparse de instalar que se muestra en el Listado 2. El resultado
nada más? muestra cómo cada router procesa los paque-
En segundo lugar, siempre es bueno saber tes UDP.
cómo hacer lo mismo con más de una aplica- ¿Por qué nos gustaría hacer tal cosa? Por-
ción. Por ejemplo, el creador de hping toda- que muchos routers normalmente bloquean
vía mantiene la herramienta a pesar de que los paquetes ICMP, incluso nuestro más
colaboró durante años con Fyodor, el creador reciente sistema utilizó UDP.
de Nmap. Para analizar un salto en particular de un
En tercer lugar, también podemos reali- paquete traceroute podemos utilizar la
zar escaneos incrementales, lo que significa opción —tr-keep-ttl:
que cada escaneo escala un puerto del sis-
tema: sudo hping3 -S 12.119.80.1 U
-p 80 -T —ttl 3 U
sudo hping -S targethost-p ++0 —tr-keep-ttl -n Figura 1: Perspectiva de un paquete generado
con hping en Wireshark.
Esta orden crea un informe que nos dice qué La opción -n asegura que los números no se
puertos están abiertos en el sistema. resuelvan. hping3 -D -V -I em1 5
El comando anterior lanza paquetes basa- —icmp targethost
¿Un Traceroute Mejor? dos en TDP al host objetivo, pero después
Una característica interesante de hping3 es solamente informa del tercer salto. El resul- Sutituyendo targethost por el nombre o la
que puede generar un informe de traceroute tado se muestra en el Listado 3. La informa- dirección IP del sistema en la red en la que
más revelador utilizando cualquier protocolo. ción contenida en éste puede ayudarnos a queremos probar el MTU.
Por ejemplo, supongamos que queremos determinar exactamente cuándo y en qué ¿Por qué es importante descubrir la MTU?
determinar exactamente lo que ocurre en forma un router modifica los paquetes en Primero, las conexiones VPN y otras redes de
cada tramo de un traceroute. Para ello, se tránsito. transmisión a veces encuentran problemas si
puede especificar el uso de un paquete TCP el MTU de un sistema o una red se establece
SYN. La opción -T nos permite activar la fun- Descubrimiento de la MTU extrañamente.
ción traceroute de hping3. En la orden que se Para determinar la MTU – Maximum Trans- En redes convergentes (por ejemplo,
ha indicado, la opción —ttl nos permite espe- mission Unit, el datagrama más largo permi- donde estamos implementando un VoIP SIP
cificar el número de routers (es decir, saltos) tido por la red – podemos lanzar la siguiente o un sistema H.323), puede que tengamos
que deseamos transmitir. orden: que determinar la MTU para evitar proble-

Listado 1: Un Sencillo Scan


01 pink@floyd:~/Desktop$ sudo flags=SA seq=0 09 —- james hping statistic —-
hping3 -S james -c 2 -p 80
05 win=5840 rtt=0.3 ms 10 2 packets transmitted, 2
02 HPING james (eth0 packets received, 0% packet
06 len=46 ip=192.168.15.134
192.168.15.134): S set, 40
ttl=64 DF id=0 sport=80 loss
headers + 0 data
flags=SA seq=1 11 round-trip min/avg/max =
03 bytes
07 win=5840 rtt=0.3 ms 0.3/0.3/0.3 ms
04 len=46 ip=192.168.15.134
ttl=64 DF id=0 sport=80 08 12 pink@floyd:~/Desktop$

Listado 2:Trazando UDP


01 sudo hping3 -2 192.168.44.45 from ip=12.155.83.1 15 hop=6 TTL 0 during transit
-p ++44444 -T -n 08 hop=2 hoprtt=2.7 ms from ip=12.122.17.42
02 09 hop=3 TTL 0 during transit 16 hop=6 hoprtt=11.9 ms
03 HPING 192.168.44.45 (eth0 from ip=12.119.43.49 17 hop=7 TTL 0 during transit
192.168.44.45): udp mode 10 hop=3 hoprtt=10.0 ms from ip=12.122.96.9
04 set, 28 headers + 0 data 11 hop=4 TTL 0 during transit 18 hop=7 hoprtt=36.6 ms
bytes from ip=12.123.21.30 19 hop=8 TTL 0 during transit
05 hop=1 TTL 0 during transit 12 hop=4 hoprtt=13.6 ms from ip=192.205.34.62
from ip=172.16.8.1 13 hop=5 TTL 0 during transit 20 hop=8 hoprtt=13.6 ms
06 hop=1 hoprtt=1.7 ms from ip=12.122.12.21 21 hop=9 TTL 0 during transit
07 hop=2 TTL 0 during transit 14 hop=5 hoprtt=13.3 ms from ip=4.68.103.46

34 Número 48 WWW.LINUX- MAGAZINE.ES


Hping • PORTADA

Listado 3:Analizando el Baile


01 hop=3 TTL 0 during transit 06 hop=3 hoprtt=5.0 ms from ip=12.119.43.49
from ip=12.119.43.61 07 hop=3 TTL 0 during transit 12 hop=3 hoprtt=4.9 ms
02 hop=3 hoprtt=31.7 ms from ip=12.119.43.49
13 hop=3 TTL 0 during transit
03 hop=3 TTL 0 during transit 08 hop=3 hoprtt=5.2 ms
from ip=12.119.43.61
from ip=12.119.43.61 09 hop=3 TTL 0 during transit
04 hop=3 hoprtt=6.9 ms from ip=12.119.43.49 14 hop=3 hoprtt=5.4 ms

05 hop=3 TTL 0 during transit 10 hop=3 hoprtt=5.2 ms 15 hop=3 TTL 0 during transit
from ip=12.119.43.61 11 hop=3 TTL 0 during transit from ip=12.119.43.61

mas con el jitter y la congestión del tráfico. En ese caso, no tenemos que utilizar TCP. de recepción, lanzamos la siguiente
Mediante la determinación de la MTU y ajus- Utilizando hping podemos generar paquetes orden:
tándolo correctamente en el router o sus anfi- UDP del siguiente modo
triones se puede reducir la latencia y resolver host$ sudo hping3 -i eth0 U
problemas de calidad de la llamada que de sudo hping3 targethost -c 2 U —listen signature —icmp
otro modo es difícil conseguir. —udp —baseport 80 U
—destport 80 Para enviar el contenido de un archivo en
Pruebas de Perímetro nuestro sistema local a un sistema remoto lla-
Las pruebas de perímetro son un método que La orden anterior envía dos paquetes UDP al mado james, introducimos la siguiente
determina exactamente lo que bloquea y lo puerto 80 del sistema objetivo desde el orden:
que permite nuestro cortafuegos. Para reali- puerto 80 de nuestro sistema.
zar una buena prueba podemos suplantar los Evidentemente, podemos suplantar el user@host:~$ sudo hping3 -I U
direccionamientos de la IP fuente y los puer- direccionamiento IP fuente así como los eth0 localhost —icmp -d 100 U
tos fuente. puertos origen y destino. —sign signature U
—file /etc/shadow
sudo hping3 -a U sudo hping3 localhost -a U
10.0.44.45 -S james -c 2 -p 80 10.0.44.45 -c 2 —udp U En el terminal del sistema recibiremos la
—baseport 80 —destport 80 salida del archivo que estamos enviando
El resultado de la orden anterior es que los (Véase el Listado 4).
paquetes aparecerán como originados en Envío de Archivos Nótese que el contenido del archivo ha
10.0.44.45. Cada paquete es útil para deter- La creación de un túnel es una manera sido enviado a través del cortafuegos. Nótese
minar si el cortafuegos está permitiendo que de averiguar lo que nuestro cortafuegos también que he decidido enviar el contenido
entren o salgan paquetes aleatoriamente. es capaz de bloquear. En nuestro sistema de un archivo en particular bastante delicado.

Pruebas de Penetración
Saber solamente cómo utilizar hping3 no que ha identificado. Por ejemplo, un • Pruebas de detección de intrusos: En
es suficiente; también es necesario com- sistema puede tener una vulnerabili- este paso, vamos a generar tráfico
prender los fundamentos de una prueba dad bastante grave que podría no ser para comprobar si el sistema de detec-
de penetración. Una prueba típica muy importante. Probablemente ción de intrusos es capaz de identificar
incluye los siguientes pasos básicos: tenga que asignar a este sistema una anomalías y problemas. Las aplicacio-
• Identificación de los recursos de Red: prioridad menor que otros que se con- nes tales como hping3 son perfectas
A este paso se le llama a veces red de más importantes, especialmente si el para generar este tipo de tráfico anó-
mapas, red footprinting u objetivo de sistema vulnerable no es probable que malo.
identificación. Consiste en escanear se convierta en blanco de un ataque. • Examen de la política de seguridad y
sistemas buscando puertos abiertos, Muchas veces, este paso se considera cuestiones de usuario final: En este
la toma de huellas de sistemas opera- parte de la red de recursos de identifi- paso, determinar la eficacia de la polí-
tivos y determinar los tipos de aplica- cación, pero me gusta para tratar esta tica de seguridad y la forma en que las
ciones que operan en los puertos actividad como algo separado. La aplicaciones de red garantizan su
abiertos. determinación de las vulnerabilidades cumplimiento. También se puede
• Escaneo de vulnerabilidades: Buscar es una tarea compleja que requiere un determinar hasta qué punto los usua-
vulnerabilidades en el servidor, el cor- poco de pensamiento analítico. rios finales cumplen con la política de
tafuegos y en los sistemas operativos • Pruebas perimetrales: Un clásico de la seguridad. Aunque este último paso
VoIP. También realizar pruebas desti- actividad hping3. Por ejemplo, puede no es realmente relevante para aplica-
nadas a romper el actual esquema de utilizar hping3 para generar tráfico que ciones tales como hping3, es impor-
autenticación. Una vez que haya ter- verifica si el cortafuegos es capaz de tante comprender que un auditor hace
minado craqueando el sistema, a con- bloquear los paquetes internos falsifi- algo más que escanear sistemas y
tinuación, dar prioridad a los recursos cados. generar paquetes.

WWW.LINUX- MAGAZINE.ES Número 48 35


PORTADA • Hping

Crear un túnel ad-hoc de esta manera per- también que la opción -flood envía miles de – si es capaz de continuar funcionando –
mite una rápida transferencia de archivos paquetes al sistema. registrará. Para verificar esto tendremos que
hacia adelante y hacia atrás a través de un comprobar los registros del cortafuegos y
cortafuegos. Además, esta característica es Cortafuegos y Estado de la usar un rastreador de paquetes.
útil para probar exactamente lo que un corta- Sesión
fuegos es capaz de bloquear. Supongamos que queremos determinar Paquete del Árbol de
hasta dónde es capaz nuestro cortafuegos de Navidad
Simulando Ataques registrar las solicitudes de protocolos de Un paquete del árbol de Navidad [5] es un
El ataque LAND [4], que apareció por pri- Microsoft a traves de la red. Para generar los paquete TCP que tiene la mayoría de las ven-
mera vez en 1997, implica el envío de un paquetes a utilizar para esta prueba introdu- tanas levantadas, lo cual es muy útil para
paquete falso con la bandera SYN activada al cimos las siguientes órdenes: atravesar los cortafuegos y para lanzar otras
host destino. Este paquete falseado tiene la formas de ataque. Para crear un paquete del
misma IP fuente y el puerto fuente de la IP hping www.acme.net -S -c 1U árbol de Navidad utilizando hping3, damos
del host objetivo. Cuando el ataque apareció -p 139 la siguiente orden:
por primera vez, provocó que los sistemas hping www.acme.net -S -A -c 1U
Windows sin actualizar (y algunos sistemas -p 139 hping3 -F -P -U U
Linux) crearan un bucle de conexión infinito hping www.acme.net -S -A -c 1U 10.44.45.15 -p 0
y se bloquearan. -p 135
Muchos atacantes explotaron este error Éstas generan los paquetes que el cortafuegos Cortafuegos y Marca de
simplemente por dar la lata con molestos ata- Tiempo
ques de denegación de servicio. Usuarios más Listado 4: Enviando un En muchas ocasiones, un cortafuegos descar-
sofisticados se dieron cuenta de que esos ata- Archivo tará paquetes que no tengan marca de
ques son útiles para los ataques de secuestro. 01 Warning: Unable to guess the
tiempo. Para añadir un marca de tiempo a
Una nueva variante del ataque LAN apare- output
nuestro paquetes utilizaremos la opción
ció en 2005, técnica clásica que podría apare- -timestamp:
02 interface
cer de nuevo.
Hping3 puede ayudarnos a asegurar que 03 hping3 listen mode hping3 -S 72.14.207.99 U
nuestros sistemas son inmunes a este tipo de 04 [main] memlockall(): Success -p 80 —tcp-timestamp
ataques. Supongamos que queremos probar
05 Warning: can’t disable memory
un sistema con la dirección IP 192.168.2.3 Los resultados nos ayudarán a determinar si
06 paging!
que tiene abierto el puerto 139. Para hacerlo necesitamos habilitar el filtrado de sello de
podemos lanzar la siguiente orden: 07 99999:7::: tiempo en el cortafuegos.
08 proxy:*:14181:0:99999:7:::
sudo hping3 -S 192.168.2.3 U Conclusión
09 www-data:*:14181:0:99999:7:::
-a 192.168.2.3 -k -s 139 U La realización de pruebas de penetración y la
-p 139 —flood 10 determinación de la eficacia del sistema de
backup:*:14181:0:99999:99999: detección de intrusos implica un alto grado
Este ataque puede provocar que un sistema 7::: de habilidad y paciencia. Además, necesitare-
sin actualizar se quede congelado. Nótese 11 proxy:*:14181:0:99999:7::: mos las herramientas adecuadas. Hping3 es
12 www-data:*:14181:0:99999:7::: una de esas herramientas. En este artículo
Elección de un Tipo de sólo he descrito algunos de las sofisticados
13 backup:*:14181:0:99999:7:::
Auditoría comandos a nuestra disposición cuando aña-
14 list:*:14181:0:99999:7::: damos hping a nuestra caja de herramientas
Aún a riesgo de simplificar demasiado,
existen dos tipos de auditorías: ciega y 15 irc:*:14181:0:99999:7::: de pruebas de seguridad. ■
no ciega. Una auditoría ciega es aque- 16 gnats:*:14181:0:99999:7:::
lla en la que que se adopta la perspec- 17 nobody:*7::: RECURSOS
tiva de un hacker que no sabe acerca [1] Proyecto hping: http://www.hping.
18 nobody:*^C
de la red y tiene que descubrir todos org/
los sistemas. Con una auditoría no 19 [code snipped due to hitting
[2] hping en RPM: http://dag.wieers.
ciega, no necesita preocuparse por el Ctrl +
com/rpm/packages/hping
descubrimiento de los sistemas, sino 20 C to end the transmission] [3] Elaboración de paquetes vía hping:
que se centra en el escaneo de las vul-
21 —- hping statistic —- http://www.governmentsecurity.org/
nerabilidades de los sistemas. Inde-
22 0 packets transmitted, 0 archive/t835.html
pendientemente del enfoque adoptado
para la auditoría, su objetivo es descu- packets [4] Ataque LAND: http://en.wikipedia.
brir recursos, mostrar cómo penetrar org/wiki/LAND
23 received, 0% packet loss
en las defensas y demostrar cómo un [5] Paquete del árbol de Navidad: http://
24 round-trip min/avg/max = en.wikipedia.org/wiki/
ataque podría propagarse a otros siste-
mas. 25 0.0/0.0/0.0 ms Christmas_tree_packet

36 Número 48 WWW.LINUX- MAGAZINE.ES