Utilizar el Script Firewalk (NSE) de Nmap para Intentar Descubrir las Reglas de un Firewall

  • Posted on: 12 March 2020
  • By: ReYDeS

El script (NSE) de nombre “firewalk”, intenta descubrir las reglas del firewall utilizando una técnica de expiración TTL de IP, conocida como firewalking.

Para determinar una regla en una pasarela determinada, el escáner envía una prueba hacia una métrica localizada detrás de una pasarela, con un TTL mayor a la pasarela. Si la prueba es reenviada por la pasarela, entonces se puede esperar recibir una respuesta ICMP_TIME_EXCEEDED desde la pasarela siguiendo al router, o eventualmente la métrica por si misma si está directamente conectada conectada hacia la pasarela. De otra manera la prueba expirará.

Si se inicia con un TTL igual a la distancia de la meta. Si la prueba expira, entonces se reenvía con un TTL disminuido en uno. Si se obtiene un ICMP_TIME_EXCEEDED, entonces el escaneo finaliza par esta prueba.

Se prueban todos los puertos filtrados (Sin respuesta) TCP y UDP. Como para los escaneos UDP, este proceso puede ser bastante lento si muchos de los puertos son bloqueados por una pasarela cercana hacia el escáner.

Los parámetros pueden sen controlados utilizando los argumentos opcionales “firewalk.*”

Entre los argumentos del script se enumeran:

firewalk.max-probed-ports: Máximo número de puertos a probar por protocolo. Definirlo a -1 para escanear cada puerto filtrado.

firewalk.max-retries: Máximo número de retransmisiones permitidas.

firewalk.recv-timeout: La duración de los paquetes capturados en bucle (en milisegundos)

firewalk.max-active-priobes: Máximo número de pruebas activas en paralelo.

firewalk.probe-timeout: Periodo válido de una prueba (en milisegundos)

Para el siguiente ejemplo se utiliza el host scanme.nmap.org (El cual es parte del proyecto Nmap, y puede ser utilizado para realizar escaneos).

# nmap -n -Pn -v --script=firewalk –script-args=firewalk.max-probed-ports=5 --traceroute scanme.nmap.org

Los resultados de este primer escaneo no exponen resultados obtenidos por el script NSE de nombre “firewalk”.

Se procede realizar un segundo escaneo.

# nmap -n -Pn -v --script=firewalk –script-args=firewalk.max-probed-ports=5 --traceroute 121.186. X. Y


Los resultados obtenidos por este segundo escaneo, y puntualmente por el script NSE de nombre “firewalk”, muestran en el salto número 18 los puertos TCP bloqueados 1,3,4, 6 y 7.

Mencionar también la utilización de la opción “--traceroute” de Nmap, lo cual realiza y muestra un trazado de la ruta hacia el host escaneado.

Fuente:

https://nmap.org/nsedoc/scripts/firewalk.html
https://nmap.org/

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Youtube: http://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: http://www.reydes.com/d/?q=node/1