Firewalk: Reconocimiento de Firewall en Kali
Firewalk: Reconocimiento de Firewall en Kali
Firewalk es una herramienta de reconocimiento activo de red que se utiliza para determinar qué capas de protocolos de transporte (como TCP o UDP) un firewall o un router permite pasar hacia un destino específico.
Aquí tienes una guía detallada sobre qué es y cómo funciona en Kali Linux.
¿Qué es Firewalk?
Firewalk funciona de manera similar a traceroute, pero con un propósito más específico. Utiliza el campo TTL (Time To Live) de los paquetes IP para analizar las respuestas de los dispositivos intermedios.
Su objetivo principal es responder a la pregunta: "¿Qué puertos están abiertos en el firewall que protege a este host?"
¿Cómo funciona?
Fase de Escaneo (Traceroute): Firewalk primero determina la cantidad de saltos (hops) que hay hasta el firewall.
Fase de Análisis: Envía paquetes con un TTL exactamente un salto superior al del firewall.
Si el firewall permite el tráfico: El paquete pasa, llega al siguiente dispositivo, el TTL llega a cero y se recibe un mensaje ICMP "TTL expired in transit". Esto indica que el puerto está abierto.
Si el firewall bloquea el tráfico: El firewall descarta el paquete (o envía un rechazo). No se recibe respuesta de TTL expirado, lo que indica que el puerto está cerrado.
Cómo usar Firewalk en Kali Linux
Firewalk suele venir preinstalado en Kali Linux. Si no es así, puedes instalarlo con sudo apt install firewalk.
Sintaxis básica:
sudo firewalk -S[puertos] -i [interfaz] [IP_Gateway] [IP_Destino]
Parámetros comunes:
-S: Especifica los puertos a escanear (ejemplo:-S80,443,22).-i: Interfaz de red (ejemplo:eth0).-n: No resuelve nombres DNS (más rápido).-p: Protocolo a usar (TCP o UDP, por defecto es UDP).
Ejemplo Práctico
Imagina que quieres saber si un router (192.168.1.1) permite tráfico hacia un servidor (10.0.0.5) en los puertos 80 y 443.
sudo firewalk -S80,443 -n -pTCP 192.168.1.1 10.0.0.5
Resultados posibles:
"A" (Expired): El puerto está abierto (el paquete pasó el firewall).
"!" (Communication Prohibited): El firewall bloqueó el paquete explícitamente.
"*" (Timeout): No hubo respuesta (posiblemente bloqueado silenciosamente).
Consideraciones importantes
Privilegios: Necesitas ejecutarlo con
sudoporque requiere crear paquetes crudos (raw sockets).Detección: Al ser una herramienta activa, Firewalk es fácilmente detectable por los Sistemas de Detección de Intrusos (IDS).
Efectividad: Hoy en día, muchos firewalls modernos están configurados para no enviar respuestas ICMP de "TTL expired", lo que puede hacer que la herramienta no devuelva resultados claros.