Nmap – Firewall and IDS/IPS Evasion
1. Conceptos clave
- Firewall: aplica reglas (permitir / rechazar / ignorar) a conexiones entrantes/salientes.
- IDS: detecta patrones de ataque y alerta.
- IPS: además de detectar, bloquea automáticamente.
- Nmap incluye técnicas para evadir o sondear estos controles (fragmentación, decoys, puertos origen, etc.).
2. Detectar firewalls y reglas
Cuando un puerto aparece filtered, suele haber un firewall. Dos comportamientos típicos:
- DROP (ignorar): no hay respuesta → tiempo de espera.
- REJECT (rechazar): respuesta explícita (p. ej., TCP RST o ICMP type 3: Net/Host/Port Unreachable, Prohibited, etc.).
ACK Scan -sA (mapea filtrado)
- Envía ACK (no SYN).
- Si el puerto está open o closed, el host suele responder RST → estado unfiltered (el puerto es accesible, pero no sabemos open/closed).
- Si no hay respuesta → filtered (probable firewall DROP).
# Comparar SYN vs ACK
sudo nmap 10.129.2.28 -p 21,22,25 -sS -Pn -n --disable-arp-ping --packet-trace
sudo nmap 10.129.2.28 -p 21,22,25 -sA -Pn -n --disable-arp-ping --packet-trace
Lectura rápida: en SYN (-sS), 22/tcp → open; 21/25 → filtered. En ACK (-sA), 22/tcp devuelve RST → unfiltered; 21/25 sin respuesta → filtered.
3. Detectar IDS/IPS en el objetivo
- Más difícil que un firewall porque observa pasivamente todo el tráfico (firma/patrón).
- Indicadores:
- Tras escaneo agresivo, tu IP queda bloqueada.
- El acceso vuelve si cambias a otra IP/VPS.
- Estrategia: escanear bajo y lento, variar orígenes, y usar técnicas de disfraz.
4. Decoys (-D)
- Nmap inyecta IP señuelos en los paquetes para ocultar el origen real.
- Formato:
-D RND:5(5 IPs aleatorias) o lista manual de IPs. - Tu IP real se mezcla aleatoriamente entre los señuelos.
- Requisito: los decoys deben estar vivos, de lo contrario puedes disparar protecciones (SYN-flood, inconsistencia).
sudo nmap 10.129.2.28 -p 80 -sS -Pn -n --disable-arp-ping --packet-trace -D RND:5
Nota: ISPs/routers a menudo filtran IP spoofing. Puedes usar IPs de tus propios VPS y combinar con otras técnicas (e.g., IP ID).
5. Cambiar IP/Interfaz de origen
- Algunas reglas solo permiten ciertos subnets o interfaces.
- Prueba variando IP e interfaz:
# Detección de SO con otra IP origen e interfaz
sudo nmap 10.129.2.28 -n -Pn -p 445 -O -S 10.129.2.200 -e tun0
- Resultado: el mismo puerto puede pasar de filtered a open según el origen.
6. DNS proxying y puerto de origen
- Nmap hace reverse DNS por defecto (UDP/53; cada vez más TCP/53 por DNSSEC/IPv6).
- Puedes fijar DNS propio:
--dns-server <ns1>,<ns2>. - Truco: usar
--source-port 53(parecer tráfico DNS “confiable”).
# Mismo puerto filtrado, sondas desde puerto origen 53
sudo nmap 10.129.2.28 -p50000 -sS -Pn -n --disable-arp-ping --packet-trace --source-port 53
# → 50000/tcp pasa de filtered a open
Validación con Netcat:
ncat -nv --source-port 53 10.129.2.28 50000
# 220 ProFTPd
7. Playbook rápido de evasión
- Mapea filtrado con
-sAy observaRSTvs. silencio. - Reduce firma: baja velocidad (
-T2), añade pausas, evita patrones NSE ruidosos. - Varía origen:
-D,-S,-e, distintos VPS. - Aprovecha puertos “confiables”:
--source-port 53(DNS) cuando tenga sentido. - Limita superficie: enfoca puertos con inteligencia previa, usa
--top-portsprimero. - Comprueba bloqueos: si una IP cae, continúa desde otra y baja agresividad.
- Registra todo:
-oA evasion_targetpara comparar qué técnica funciona.
8. Comandos útiles (recordatorio)
-sA·-sS·-Pn·-n·--disable-arp-ping·--packet-trace-D RND:<n>·-S <ip>·-e <iface>·--source-port <p>--dns-server <ns>·-O(detección de SO)
9. Riesgos y buenas prácticas
- Ética/Legal: solo en entornos y objetivos autorizados.
- Ruido: decoys, alto rate, y
-T5pueden activar IPS. - Disponibilidad: evita
doso plantillas agresivas contra servicios frágiles. - Consistencia: documenta parámetros y resultados para reproducibilidad.
Referencias
- NSE docs: https://nmap.org/nsedoc/
- Evasión y timing: https://nmap.org/book/