Evasión de firewalls e IDS
Entre tú y el objetivo suele haber controles de red: firewalls (filtran por IP/puerto/protocolo), IDS/IPS (detectan/bloquean patrones de ataque) y proxies. La evasión consiste en que tu tráfico llegue al objetivo sin ser bloqueado ni reconocido: ocultando el escaneo, fragmentando paquetes, usando puertos y protocolos permitidos, o cifrando/ofuscando el contenido. No rompes el control; pasas por donde no mira.
Qué filtra cada control
Sección titulada «Qué filtra cada control»- Firewall de red: decide qué IPs/puertos/protocolos pasan. Evasión = usar lo permitido o parecerlo.
- IDS/IPS (Snort, Suricata): detecta firmas de ataque en el tráfico. Evasión = que el payload no case la firma.
- Firewall de aplicación (WAF): para HTTP (ver Evasión de WAF).
- Egress filtering: limita el tráfico saliente (clave para C2/reverse shells).
Evasión de escaneo (nmap)
Sección titulada «Evasión de escaneo (nmap)»-T1/-T2 lento = por debajo del umbral de detección-f / --mtu 16 fragmentar paquetes (dividir la firma)-D RND:10 decoys: mezclar tu IP con señuelos-S <ip falsa> spoofear origen (si puedes recibir o no te importa la respuesta)--source-port 53 / 88 salir desde un puerto "de confianza" que el FW deja pasar--data-length 25 añadir bytes aleatorios--scan-delay espaciar los paquetes# mapear reglas del FWnmap -sA target # ACK scan: distingue puerto filtrado de no filtradoPasar por puertos/protocolos permitidos
Sección titulada «Pasar por puertos/protocolos permitidos»Casi siempre 80/443 y 53 (DNS) están abiertos de salida:
# reverse shell / C2 por 443 (se confunde con HTTPS)# tunelar sobre protocolos permitidosDNS tunneling (iodine/dnscat2) si DNS saliente pasa (ver net-dnsattacks)HTTP/HTTPS tunneling C2 sobre 443, domain frontingICMP tunneling (ptunnel) si ICMP sale# encontrar qué sale: probar puertos de salidafor p in 21 22 53 80 443 8080; do curl -s ...; doneEvasión de IDS/IPS
Sección titulada «Evasión de IDS/IPS»# fragmentación y reensamblado ambiguo (el IDS y el host reensamblan distinto)# ofuscación/codificación del payload (que no case la firma — ver web-wafbypass)# cifrado: un payload en TLS no es inspeccionable sin interceptación# timing: espaciar para no superar umbrales de "N eventos en T tiempo"# polimorfismo: variar el payload en cada intentoEl principio es el mismo que en WAF: el IDS reconoce patrones; cambia el patrón manteniendo la semántica (ver Evasión de WAF para el caso HTTP).
Egress filtering: el reto del C2
Sección titulada «Egress filtering: el reto del C2»Una reverse shell necesita salir. Si el egress está filtrado:
# usar el puerto que sí sale (normalmente 443)# tunelar sobre DNS/HTTP (ver net-pivot, net-dnsattacks)# domain fronting / CDN para disfrazar el destinoPara la defensa
Sección titulada «Para la defensa»- Default-deny en entrada y salida (egress filtering estricto): corta C2/reverse shells.
- IDS/IPS actualizado con reensamblado normalizado (evita evasión por fragmentación); TLS inspection donde sea viable.
- Rate-limiting y detección de escaneo; correlación en SIEM.
- Segmentación y allowlist de destinos salientes; Protective DNS (corta tunneling).
- Asumir que un atacante intentará 443/DNS: inspeccionar también esos canales.
Checklist de prueba
Sección titulada «Checklist de prueba»- Mapear reglas del firewall (ACK scan, qué puertos pasan)
- Escaneo evasivo (timing, fragmentación, decoys, source-port)
- Identificar puertos de salida permitidos (egress)
- C2/reverse shell por 443 u otro puerto permitido
- Tunneling sobre DNS/HTTP/ICMP si el filtrado es estricto
- Evasión de IDS por fragmentación/ofuscación/cifrado
- Blue: ¿egress default-deny, IDS normalizado, Protective DNS?
- Documentar qué controles se evadieron y cómo