Episodio 7: Operaciones Sigilosas - Evasión de Firewalls e IDS
Duración: 1.5 horas
Introducción a la Evasión de Firewalls e IDS
¡Bienvenidos y bienvenidas al séptimo episodio de nuestro curso completo de Nmap! En este módulo, vamos a explorar las técnicas de evasión de firewalls e IDS: métodos avanzados que nos permiten realizar escaneos de red exhaustivos minimizando la detección. Estas técnicas son esenciales para realizar pruebas de seguridad completas y entender las limitaciones de los controles de seguridad.
En el mundo digital, a veces ser visto es la diferencia entre el éxito y el fracaso. Los sistemas de seguridad están diseñados para detectar escaneos, pero como un agente habilidoso, Nmap puede moverse a través de las redes minimizando su huella.
Este juego del gato y el ratón entre el escaneo y la detección es un aspecto crucial de la seguridad de redes que tanto atacantes como defensores necesitan comprender. Al final de este módulo, vamos a entender ambos lados de esta partida de ajedrez técnica —cómo funciona la detección y cómo la evasión la contrarresta—, conocimiento esencial para una evaluación de seguridad integral.
En este módulo, vamos a aprender:
- Cómo los firewalls e IDS detectan las actividades de escaneo
- Técnicas para reducir la visibilidad de nuestros escaneos con Nmap
- Cómo manipular atributos de paquetes para eludir la detección
- Optimización del timing para evitar activar alertas basadas en tasas
- Métodos para ocultar el origen de las actividades de escaneo
Consideraciones Éticas
Las técnicas que veremos en este módulo solo deben usarse con la autorización adecuada. Usar técnicas de evasión sin permiso puede violar leyes sobre delitos informáticos y políticas organizacionales. Estas habilidades se presentan únicamente con fines educativos y de pruebas de seguridad legítimas.
Explicación de los Mecanismos de Detección
Antes de meternos con la evasión, tenemos que entender cómo se detectan los escaneos. Los sistemas de seguridad de red usan varios mecanismos:
Reconocimiento de Patrones
- Detección basada en firmas de patrones de escaneo conocidos
- Reconocimiento de secuencias específicas de paquetes
- Identificación de combinaciones inusuales de opciones
Los dispositivos de seguridad mantienen bases de datos de patrones de escaneo conocidos y alertan cuando detectan tráfico coincidente.
Detección Volumétrica
- Monitoreo de las tasas de intentos de conexión
- Seguimiento de las proporciones de conexiones fallidas
- Alerta sobre violaciones de umbrales
Cuando ocurren demasiados intentos de conexión en un corto período, especialmente si muchos fallan, los sistemas de seguridad generan alertas.
Análisis de Comportamiento
- Identificación de patrones de conexión anormales
- Detección de uso inusual de protocolos
- Reconocimiento de handshakes incompletos
Los sistemas de seguridad modernos construyen líneas base de comportamiento normal y señalan desviaciones de estos patrones.
Inspección con Estado (Stateful)
- Seguimiento de estados de conexión
- Identificación de violaciones de protocolo
- Detección de comportamientos de sesión anormales
Los firewalls y sistemas IDS rastrean el estado de las conexiones y alertan sobre violaciones del comportamiento esperado del protocolo.
Tipos de Firewalls y sus Métodos de Detección
Distintos tipos de firewalls detectan los escaneos de diferentes maneras:
Firewalls de Filtrado de Paquetes
Firewalls básicos que verifican las cabeceras de los paquetes contra un conjunto de reglas. Pueden bloquear puertos específicos pero típicamente no inspeccionan el contenido del paquete.
Firewalls con Estado (Stateful)
Rastrean el estado de las conexiones activas y analizan el contenido de los paquetes. Pueden detectar secuencias incorrectas de flags TCP usadas en escaneos de puertos.
Firewalls de Nueva Generación (NGFW)
Combinan funciones de firewall tradicionales con características de IDS/IPS. Analizan el tráfico a nivel de aplicación y pueden detectar escaneos sofisticados.
Firewalls de Aplicaciones Web (WAF)
Especializados para tráfico web. Se enfocan en conexiones HTTP/HTTPS y en proteger aplicaciones basadas en web.
Resumen de la Estrategia de Evasión
Una evasión efectiva no se trata de una única técnica, sino de una estrategia integral que aborda múltiples vectores de detección:
Modificaciones de Timing
- Disminuir las tasas de escaneo para evitar alertas de umbral
- Introducir retrasos aleatorios
- Distribuir el escaneo durante períodos más largos
Manipulación de Paquetes
- Fragmentar paquetes para eludir la coincidencia de patrones
- Usar combinaciones de flags poco comunes
- Manipular las cabeceras de los paquetes
Ofuscación del Origen
- Usar direcciones señuelo (decoy) para ocultar el origen real
- Escanear desde múltiples direcciones de origen
- Manipular la información del puerto de origen
Distribución de Objetivos
- Escanear hosts en orden aleatorio
- Distribuir escaneos de puertos entre múltiples objetivos
- Evitar patrones de escaneo predecibles
La combinación adecuada dependerá de nuestros objetivos específicos y de los controles de seguridad que estemos probando. Vamos a explorar cada enfoque en detalle.
Optimización del Timing y Rendimiento
Las opciones de timing de Nmap nos permiten controlar la agresividad y velocidad de nuestros escaneos. Esto es crucial tanto para evitar la detección como para optimizar la duración del escaneo.
Plantillas de Timing (-T)
Nmap ofrece seis plantillas de timing incorporadas, desde la más sigilosa (T0) hasta la más agresiva (T5):
T0 (Paranoid)
Escaneo extremadamente lento que espera 5 minutos entre el envío de paquetes. Diseñado para evadir incluso los IDS más sofisticados.
sudo nmap -T0 192.168.1.1T1 (Sneaky)
Escaneo muy lento que espera 15 segundos entre paquetes. Sigue siendo muy sigiloso pero más práctico que T0.
sudo nmap -T1 192.168.1.1T2 (Polite)
Ralentiza el escaneo para usar menos ancho de banda y recursos de la máquina objetivo. Espera 0.4 segundos entre paquetes.
sudo nmap -T2 192.168.1.1T3 (Normal)
La plantilla de timing por defecto. Equilibra velocidad con confiabilidad. Sin retrasos deliberados.
sudo nmap -T3 192.168.1.1T4 (Aggressive)
Acelera los escaneos asumiendo que estamos en una red rápida y confiable. Puede sobrecargar hosts lentos.
sudo nmap -T4 192.168.1.1T5 (Insane)
Prioriza la velocidad sobre la precisión. Sacrifica resultados exhaustivos por un escaneo más rápido. Fácil de detectar.
sudo nmap -T5 192.168.1.1Ajuste Fino de Parámetros de Timing
Para un control más preciso, podemos ajustar parámetros de timing individuales:
- --min-rate <number>: Número mínimo de paquetes enviados por segundo
- --max-rate <number>: Número máximo de paquetes enviados por segundo
- --min-rtt-timeout <time>: Timeout mínimo de tiempo de ida y vuelta (RTT)
- --max-rtt-timeout <time>: Timeout máximo de tiempo de ida y vuelta (RTT)
- --initial-rtt-timeout <time>: Timeout inicial de tiempo de ida y vuelta (RTT)
- --max-retries <number>: Número máximo de retransmisiones de sondeos de escaneo de puertos
- --host-timeout <time>: Abandonar el objetivo después de este tiempo
- --scan-delay <time>: Tiempo mínimo entre sondeos
- --max-scan-delay <time>: Tiempo máximo entre sondeos
- --min-parallelism <number>: Número mínimo de sondeos en paralelo
- --max-parallelism <number>: Número máximo de sondeos en paralelo
Acá tenemos un ejemplo de parámetros de timing ajustados para un escaneo sigiloso:
sudo nmap --max-rate 10 --scan-delay 1s --max-retries 1 --host-timeout 30m 192.168.1.1Y para un escaneo rápido que prioriza la velocidad sobre la confiabilidad:
sudo nmap --min-rate 300 --max-retries 2 --min-parallelism 50 192.168.1.1Técnicas de Manipulación de Paquetes
Las técnicas de manipulación de paquetes modifican cómo se construyen y envían los paquetes para evadir la detección basada en patrones:
Fragmentación (-f, -ff, --mtu)
La fragmentación de paquetes divide las cabeceras TCP en múltiples paquetes IP, lo que puede eludir algunos sistemas de inspección:
# Fragmentar paquetes
sudo nmap -f 192.168.1.1
# Usar fragmentos más pequeños
sudo nmap -ff 192.168.1.1
# Especificar MTU personalizada (múltiplo de 8)
sudo nmap --mtu 24 192.168.1.1La fragmentación funciona porque algunos sistemas de inspección no reensamblan los fragmentos antes de analizarlos.
Señuelos (Decoys) (-D)
El escaneo con señuelos (decoys) genera ruido enviando paquetes desde direcciones IP falseadas (spoofed) junto con nuestra dirección real:
# Usar señuelos aleatorios
sudo nmap -D RND:10 192.168.1.1
# Especificar direcciones señuelo (ME es nuestra IP real)
sudo nmap -D 10.0.0.1,10.0.0.2,ME 192.168.1.1
# Usar solo señuelos (nuestra IP no incluida explícitamente, necesitamos -S para definirla)
# El siguiente comando usa 10.0.0.3 como IP fuente REAL y 10.0.0.1, 10.0.0.2 como señuelos
sudo nmap -D 10.0.0.1,10.0.0.2 -S 10.0.0.3 192.168.1.1Esta técnica hace más difícil identificar el origen real del escaneo entre el tráfico de los señuelos.
Manipulación de la Longitud de Datos (--data-length)
Cambiar la longitud de los paquetes puede ayudar a evadir la detección basada en patrones:
# Agregar datos aleatorios a los paquetes
sudo nmap --data-length 25 192.168.1.1Esto agrega datos aleatorios a los paquetes enviados, haciendo que se parezcan menos a los paquetes estándar de Nmap.
Creación Personalizada de Paquetes (--scanflags, -sN, -sF, -sX)
Para un control máximo, podemos especificar exactamente qué flags usar:
# Escaneo TCP personalizado con flags SYN-FIN
sudo nmap --scanflags SYNFIN 192.168.1.1
# Escaneo Null (sin flags)
sudo nmap -sN 192.168.1.1
# Escaneo FIN
sudo nmap -sF 192.168.1.1
# Escaneo Xmas (flags FIN, PSH, URG)
sudo nmap -sX 192.168.1.1Estas combinaciones inusuales de flags pueden eludir dispositivos de seguridad configurados para buscar solo tipos de escaneo estándar.
Evadiendo Firewalls e IDS (Técnicas Detalladas)
Nmap ofrece varias técnicas para evadir la detección de firewalls e IDS. Vamos a explorar algunos de estos métodos en más detalle:
Fragmentación (-f, -ff, --mtu)
La fragmentación de paquetes divide las cabeceras TCP en múltiples paquetes, lo que puede eludir sistemas de inspección de paquetes que no reensamblan los fragmentos antes de analizarlos.
sudo nmap -f 192.168.1.1Para una mayor fragmentación, podemos usar -ff para utilizar fragmentos más pequeños:
sudo nmap -ff 192.168.1.1Alternativamente, podemos especificar una MTU (Maximum Transmission Unit) personalizada con --mtu. El valor debe ser múltiplo de 8:
sudo nmap --mtu 16 192.168.1.1Escaneos con Señuelos (Decoys) (-D)
El escaneo con señuelos (decoys) crea ruido haciendo parecer que el escaneo proviene de múltiples IPs de origen, ocultando la fuente real entre los señuelos:
# ME representa nuestra IP real
sudo nmap -D 10.0.0.1,10.0.0.2,10.0.0.3,ME 192.168.1.1Esto hace que el escaneo parezca provenir de 10.0.0.1, 10.0.0.2, 10.0.0.3 y nuestra IP real (ME). También podemos generar señuelos aleatorios:
# Genera 10 IPs señuelo aleatorias además de la nuestra
sudo nmap -D RND:10 192.168.1.1Esto genera 10 direcciones IP aleatorias como señuelos.
Consideraciones Importantes sobre los Señuelos
Al usar señuelos, asegurémonos de que los hosts señuelo estén activos y accesibles. Si no lo están, podría ralentizar nuestro escaneo o hacerlo fallar. Además, tengamos cuidado de no implicar a terceros inocentes en nuestras actividades de escaneo.
Spoofing y Uso de Proxies
Podemos rutear nuestros escaneos Nmap a través de proxies o falsear (spoof) nuestra dirección MAC:
- MAC Spoofing (--spoof-mac):
sudo nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1También podemos usar
--spoof-mac 0para una MAC aleatoria, o--spoof-mac Apple,--spoof-mac Cisco, etc., para MACs específicas de proveedores. - Uso de Proxies a través de Tor (con proxychains):
Primero, asegurémonos de que Tor esté instalado y corriendo, luego usemos ProxyChains con Nmap:
sudo proxychains nmap -sT -Pn 192.168.1.1Notá que solo los escaneos TCP connect (
-sT) funcionan de manera confiable a través de proxies como Tor. Otros tipos de escaneo (como SYN) generalmente fallarán.
Manipulación de la Longitud de Datos (--data-length)
Algunos firewalls e IDS inspeccionan el tamaño de los paquetes. Al agregar datos aleatorios a los paquetes, podemos evadir la detección basada en firmas:
# Agrega 200 bytes de datos aleatorios
sudo nmap --data-length 200 192.168.1.1Esto agrega datos aleatorios a los paquetes enviados, haciéndolos parecer menos típicos de un escaneo.
Aleatorizar el Orden de los Hosts (--randomize-hosts)
Al escanear múltiples hosts, aleatorizar el orden puede hacer que el patrón de escaneo sea menos obvio:
sudo nmap --randomize-hosts 192.168.1.0/24Escaneos Idle (-sI)
El escaneo idle (-sI) es una de las técnicas más sofisticadas de Nmap. Utiliza un host "zombie" para realizar el escaneo, haciéndolo completamente ciego (el objetivo no ve nuestra IP):
# Es necesario especificar un host zombie y, opcionalmente, un puerto en él
sudo nmap -sI host_zombie:puerto host_objetivoEsta técnica requiere un host "zombie" inactivo con secuencias predecibles de IP ID, lo cual es cada vez más raro en sistemas modernos debido a mejoras de seguridad en las pilas TCP/IP.
Manipulación del Puerto de Origen (--source-port o -g)
Muchos firewalls tienen reglas que permiten tráfico desde puertos de origen específicos, particularmente aquellos asociados con servicios comunes. Al manipular el puerto de origen, a veces podemos eludir estos filtros.
Puertos Comunes Confiables
Algunos puertos de origen comúnmente confiables (o al menos, frecuentemente permitidos) incluyen:
- Puerto 20: FTP data
- Puerto 53: DNS
- Puerto 80: HTTP
- Puerto 443: HTTPS
- Puerto 67/68: DHCP
Usando Puerto de Origen en Nmap
Para especificar un puerto de origen (-g es un alias de --source-port):
# Usar el puerto 53 (DNS) como puerto de origen
sudo nmap --source-port 53 192.168.1.1
# O equivalentemente:
sudo nmap -g 53 192.168.1.1Este ejemplo usa DNS (puerto 53) como el puerto de origen, que a menudo se permite a través de firewalls para consultas DNS.
Combinándolo con un escaneo SYN (que suele ser más sigiloso) para intentar mejores resultados:
sudo nmap -sS -g 443 192.168.1.1Aplicación en el Mundo Real
En engagements de pentesting, probar diferentes puertos de origen a veces puede revelar inconsistencias en el filtrado. Si una regla de firewall permite tráfico HTTP saliente (desde cualquier puerto origen hacia el puerto 80 destino) o entrante (desde puerto origen 80), usar el puerto 80 como nuestro puerto de origen podría permitir que nuestro escaneo atraviese el firewall, revelando información que de otro modo estaría oculta.
Técnicas Avanzadas de Evasión (Resumen)
Escaneo Idle (-sI)
Como mencionamos, el escaneo Idle usa un host zombie para realizar un escaneo completamente ciego:
# Escaneo Idle básico
sudo nmap -sI host_zombie.philocyber.com 192.168.1.1
# Escaneo Idle especificando un puerto en el zombie (a veces necesario)
sudo nmap -sI host_zombie.philocyber.com:80 192.168.1.1Esta técnica "rebota" los escaneos en un host "zombie" inactivo, haciendo que el escaneo parezca provenir de ese host en lugar del nuestro.
Requisitos para un buen host zombie:
- Debe estar realmente inactivo (tráfico mínimo).
- Debe usar secuencias de IP ID predecibles (generalmente incrementales). Muchos sistemas operativos modernos usan IP IDs aleatorios, haciéndolos inútiles como zombies.
- Debe ser accesible tanto desde nuestra máquina como desde el objetivo.
Escaneo FTP Bounce (-b)
Algunos servidores FTP antiguos y mal configurados permitían ataques "bounce" que podían usarse para escanear indirectamente otros hosts a través del comando PORT/EPRT de FTP:
# Escaneo FTP bounce (requiere un servidor FTP vulnerable)
sudo nmap -b usuario:contraseña@ftp.vulnerable.com host_objetivoEsta técnica es raramente útil hoy en día, ya que la mayoría de los servidores FTP modernos deshabilitan esta funcionalidad por razones de seguridad.
Estrategias Comprensivas de Evasión
Para una máxima evasión, combinamos múltiples técnicas basadas en el entorno específico:
# Ejemplo de escaneo sigiloso comprensivo
sudo nmap -sS -T1 -f --randomize-hosts --data-length 15 \
--max-retries 1 --max-scan-delay 500ms 192.168.1.0/24Este enfoque:
- Usa escaneo SYN (-sS)
- Usa timing muy lento (-T1)
- Fragmenta paquetes (-f)
- Aleatoriza el orden de escaneo de hosts
- Agrega datos aleatorios a los paquetes
- Limita las retransmisiones
- Agrega retrasos máximos entre sondeos
Puntos Clave
- Las técnicas de evasión deben usarse éticamente y con la autorización adecuada.
- Una evasión efectiva combina múltiples enfoques: timing, manipulación de paquetes y ofuscación del origen.
- Diferentes controles de seguridad requieren diferentes estrategias de evasión.
- Siempre existe un equilibrio entre velocidad, exhaustividad y sigilo.
- Entender las técnicas de evasión nos ayuda a mejorar las capacidades de detección.
- Probar regularmente con técnicas de evasión ayuda a validar los controles de seguridad.
- Ninguna técnica de evasión es perfecta; la defensa en profundidad es esencial.
Próximos Pasos
En el próximo episodio, vamos a explorar:
- El Nmap Scripting Engine (NSE)
- Extender las capacidades de Nmap con scripts personalizados
- Automatizar tareas complejas de escaneo
- Usar NSE para la detección de vulnerabilidades
- Crear nuestros propios scripts personalizados
Recursos Adicionales
Documentación Oficial de Evasión de Nmap
Guía completa de todas las características de evasión de Nmap directamente de la fuente.
Nmap Network Scanning: Evasión de Firewall/IDS
Capítulo detallado del libro de Nmap sobre técnicas de evasión y spoofing.
Técnicas y Tácticas de Evasión de IDS
Exploración enfocada en métodos de evasión de IDS con ejemplos prácticos.
Pruebas de Penetración de Firewalls e IDS
Metodologías de prueba para evaluar la efectividad del firewall.
Demostración en Video
Nota: Usá este video como guía visual para complementar el material escrito.
Quiz de Autoevaluación
Knowledge Check
1. ¿Qué plantilla de timing de Nmap es la más agresiva y rápida?
2. ¿Qué hace la opción "-f" en Nmap?
3. ¿Qué comando usaríamos para hacer que nuestro escaneo parezca provenir de múltiples IPs de origen?
4. ¿Cuándo usaríamos la opción "--source-port 53" (o "-g 53")?
5. ¿Qué opción de Nmap guarda los resultados del escaneo en múltiples formatos simultáneamente?

