| Técnicas de Detección Avanzada de interconectividad: Detección de equipos conectados a la red | ||
|---|---|---|
| Anterior | Capítulo 5. Obtención de respuesta del servidor ante una petición válida | Siguiente |
Es conocido que los puertos UDP cerrados deben responder (según RFC) ante una petición de conexión, lo que puede ser explotable por un posible hacker.
Una petición UDP de un cliente ante un puerto UDP cerrado (que no esté escuchando) en el otro lado genera un error ICMP conocido como PORT_UNREACH.
La forma de determinar un puerto cerrado de un posible equipo objetivo es sencilla: elegimos uno o varios puertos altos (de 1024 a 65536).
Es posible que los paquetes UDP no estén llegando a su destino o no nos esté llegando la respuesta ICMP por diversos motivos:
El puerto UDP realmente está abierto, deberemos probar con algún otro.
El puerto UDP está siendo bloqueado o filtrado por un router, firewall o el mismo equipo de destino.
Quizás el puerto esté cerrado y generando un error ICMP PORT_UNREACH, pero está siendo filtrado en su regreso.
El protocolo UDP no proporciona fiabilidad, por lo que será necesario retransmitirlo para tener ciertas garantías de que llegó a su destino.
Veamos una transmisión udp contra un puerto cerrado (normalmente nfs está en el 2049) usando la herramienta hping
# Opciones utilizadas de hping: -V=verbose, -c 1= 1 sólo paquete, -2=Protocolo udp, -p=puerto delorian:~# hping2 -V -V -c 1 -2 -p 2049 xxx.xxx.xxx.xxx default routing interface selected (according to /proc) using eth0, addr: xxx.xxx.xxx.xxx, MTU: 1500 HPING xxx.xxx.xxx.xxx (eth0 xxx.xxx.xxx.xxx): udp mode set, 28 headers + 0 data bytes ICMP Port Unreachable from xxx.xxx.xxx.xxx (remote) --- remote hping statistic --- 1 packets tramitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.8/0.8/0.8 ms delorian:~#
Como hemos podido observar el puerto de 2049 estaba cerrado, por lo que hemos recibido una contestación ICMP.
Veamos una transmisión udp contra un puerto abierto (DNS en este caso esta escuchando peticiones)
delorian:~# hping2 -V -V -c 1 -2 -p 53 xxx.xxx.xxx.xxx default routing interface selected (according to /proc) using eth0, addr: xxx.xxx.xxx.xxx, MTU: 1500 HPING remote (eth0 xxx.xxx.xxx.xxx): udp mode set, 28 headers + 0 data bytes --- remote hping statistic --- 1 packets tramitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.6/0.6/0.6 ms
Como hemos podido observar el puerto 53 de DNS estaba abierto (o bloqueado), por lo que no hemos recibido ninguna contestación.