Evadir Firewalls e IDS con Nmap

NmapBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás a evadir los firewall y los IDS (Intrusion Detection System) utilizando Nmap. El laboratorio cubre varias técnicas, incluyendo la ejecución de escaneos de decoy, la fragmentación de paquetes, el spoofing de direcciones IP, el ajuste de las tasas de escaneo y la combinación de estas técnicas. Ejecutarás varios comandos de Nmap en la terminal Xfce y verificará los resultados de la evasión. Recuerda utilizar estas técnicas éticamente y con la autorización adecuada.

Ejecutar un escaneo de descoje con nmap -D RND:5 192.168.1.1

En este paso, exploraremos cómo utilizar el escaneo de decoy con Nmap para ocultar la fuente de nuestro escaneo. El escaneo de decoy hace que parezca que el escaneo proviene de múltiples direcciones IP, lo que dificulta localizar el verdadero escáner.

La opción -D en Nmap te permite especificar direcciones IP de decoy. El argumento RND:5 le dice a Nmap que use 5 direcciones IP aleatorias y no reservadas como decoy, además de tu dirección IP real.

Realicemos un escaneo de decoy contra un objetivo. A título de demostración, usaremos 192.168.1.1 como la dirección IP del objetivo. Tenga en cuenta que 192.168.1.1 es un marcador de posición. En un escenario real, reemplazarías esto con la dirección IP real del objetivo que estás autorizado a escanear.

Abra su terminal Xfce y ejecute el siguiente comando:

sudo nmap -D RND:5 192.168.1.1

Este comando iniciará un escaneo de Nmap contra 192.168.1.1, utilizando 5 direcciones IP aleatorias como decoy. Verá la salida de Nmap en la terminal, que muestra el progreso del escaneo.

Salida de ejemplo (la salida específica variará según el objetivo y la red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh

Nmap done: 1 IP address (1 host up) scanned in 1.23 seconds

Consideraciones importantes:

  • Uso ético: Siempre asegúrese de tener permiso explícito para escanear una red o un sistema. El escaneo no autorizado es ilegal y no ético.
  • Impacto en la red: Los escaneos de decoy pueden generar una gran cantidad de tráfico de red. úselos de manera responsable y evite sobrecargar la red objetivo.
  • Efectividad: Aunque los escaneos de decoy pueden hacer más difícil rastrear el origen de un escaneo, no son infalibles. Los sistemas de detección de intrusiones (IDS) sofisticados todavía pueden identificar la fuente real.

Fragmentar paquetes con nmap -f 127.0.0.1

En este paso, aprenderemos cómo fragmentar paquetes utilizando Nmap. La fragmentación de paquetes consiste en dividir los datos TCP o UDP en piezas más pequeñas (fragmentos) antes de enviarlos al objetivo. Esta técnica se puede utilizar para evadir algunos firewall o sistemas de detección de intrusiones (IDS) que pueden no reassamblar correctamente los paquetes fragmentados.

La opción -f en Nmap habilita la fragmentación de paquetes. Por defecto, Nmap fragmenta los paquetes en trozos de 8 bytes. Puedes especificar un tamaño diferente de MTU (Unidad de Transmisión Máxima) utilizando -mtu <tamaño>.

Realicemos un escaneo fragmentado contra la dirección de bucle 127.0.0.1. Esta dirección siempre se refiere a la máquina local, lo que la hace segura para pruebas.

Abra su terminal Xfce y ejecute el siguiente comando:

sudo nmap -f 127.0.0.1

Este comando iniciará un escaneo de Nmap contra 127.0.0.1, fragmentando los paquetes. Verá la salida de Nmap en la terminal, que muestra el progreso del escaneo.

Salida de ejemplo (la salida específica variará según la configuración de su sistema):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).
Other addresses for localhost: ::1

PORT     STATE SERVICE
139/tcp  closed netbios-ssn
445/tcp  closed microsoft-ds

Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds

Explicación:

  • sudo nmap: Ejecuta Nmap con privilegios de superusuario, que a menudo son necesarios para operaciones de socket crudo como la fragmentación de paquetes.
  • -f: Habilita la fragmentación. Nmap fragmentará los paquetes antes de enviarlos.
  • 127.0.0.1: Especifica la dirección IP del objetivo (la dirección de bucle).

Consideraciones importantes:

  • Evasion de firewall/IDS: La fragmentación de paquetes puede a veces saltar firewall o IDS simples que no reassamblan correctamente los fragmentos. Sin embargo, los dispositivos de seguridad modernos generalmente son capaces de manejar paquetes fragmentados.
  • Impacto en el rendimiento: La fragmentación puede aumentar el tráfico de red y potencialmente ralentizar el escaneo.
  • Opción de MTU: Puedes utilizar la opción -mtu para especificar un tamaño de MTU personalizado para los fragmentos. Por ejemplo, nmap -f -mtu 32 127.0.0.1 fragmentaría los paquetes en trozos de 32 bytes.

Simitular IP con nmap -S 192.168.1.100 192.168.1.1

En este paso, exploraremos cómo hacer un spoof de la dirección IP de origen de los escaneos de Nmap. El spoofing de la dirección IP consiste en falsificar la dirección IP de origen en los paquetes enviados por Nmap. Esto se puede utilizar para ocultar tu dirección IP real o para probar las defensas de la red.

La opción -S en Nmap te permite especificar una dirección IP de origen. Es importante entender que el spoofing de direcciones IP puede tener consecuencias graves y solo debe hacerse en entornos autorizados. Además, tenga en cuenta que por lo general no recibirás respuestas a los paquetes con spoof, ya que se enviarán a la dirección con spoof. Por lo tanto, esta técnica se suele utilizar con técnicas de "escaneo ciego" como el escaneo SYN (-sS) o el escaneo de conexión (-sT) cuando no necesitas ver las respuestas.

Realicemos un escaneo SYN con una dirección IP con spoof contra un objetivo. A título de demostración, usaremos 192.168.1.100 como la dirección IP con spoof y 192.168.1.1 como la dirección IP del objetivo. Tenga en cuenta que 192.168.1.1 es un marcador de posición. En un escenario real, reemplazarías esto con la dirección IP real del objetivo que estás autorizado a escanear. Además, 192.168.1.100 es solo un ejemplo, y debes elegir una dirección IP que no esté en uso en tu red para evitar conflictos.

Abra su terminal Xfce y ejecute el siguiente comando:

sudo nmap -sS -S 192.168.1.100 192.168.1.1

Este comando iniciará un escaneo SYN de Nmap contra 192.168.1.1, utilizando 192.168.1.100 como la dirección IP de origen con spoof. Verá la salida de Nmap en la terminal, que muestra el progreso del escaneo.

Salida de ejemplo (la salida específica variará según el objetivo y la red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00029s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 2.12 seconds

Explicación:

  • sudo nmap: Ejecuta Nmap con privilegios de superusuario, que son necesarios para operaciones de socket crudo como el spoofing de la dirección IP.
  • -sS: Especifica un escaneo SYN, que es un escaneo sigiloso que no completa el handshake TCP.
  • -S 192.168.1.100: Especifica la dirección IP de origen con spoof.
  • 192.168.1.1: Especifica la dirección IP del objetivo.

Consideraciones importantes:

  • Uso ético: El spoofing de la dirección IP solo debe utilizarse en entornos autorizados con fines legítimos, como la prueba de seguridad.
  • Privilegios de root: El spoofing de direcciones IP requiere privilegios de root.
  • Funcionalidad limitada: Debido a que no recibirás respuestas a los paquetes con spoof, es posible que necesites utilizar otras técnicas para recopilar información sobre el objetivo.
  • Configuración de red: El spoofing puede no funcionar si tu red está configurada para evitarlo. Los routers y los firewall a menudo tienen mecanismos para evitar que los paquetes con direcciones IP de origen con spoof salgan de la red.

Ajustar la tasa con nmap --max-rate 100 192.168.1.1

En este paso, aprenderemos cómo controlar la tasa de escaneo de Nmap. Ajustar la tasa de escaneo es crucial para evitar la detección y prevenir la congestión de red. Nmap ofrece varias opciones para controlar la tasa a la que envía paquetes.

La opción --max-rate limita el número de paquetes que Nmap envía por segundo. Esto puede ser útil para evitar la detección por sistemas de detección de intrusiones (IDS) o para prevenir la congestión de red, especialmente cuando se escanean redes con ancho de banda limitado.

Realicemos un escaneo contra una dirección IP objetivo, limitando la tasa máxima de paquetes a 100 paquetes por segundo. A título de demostración, usaremos 192.168.1.1 como la dirección IP objetivo. Tenga en cuenta que 192.168.1.1 es un marcador de posición. En un escenario real, reemplazarías esto con la dirección IP real del objetivo que estás autorizado a escanear.

Abra su terminal Xfce y ejecute el siguiente comando:

sudo nmap --max-rate 100 192.168.1.1

Este comando iniciará un escaneo de Nmap contra 192.168.1.1, limitando la tasa máxima de paquetes a 100 paquetes por segundo. Verá la salida de Nmap en la terminal, que muestra el progreso del escaneo.

Salida de ejemplo (la salida específica variará según el objetivo y la red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00028s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

Explicación:

  • sudo nmap: Ejecuta Nmap con privilegios de superusuario, que pueden ser necesarios para ciertos tipos de escaneo.
  • --max-rate 100: Limita la tasa de envío a un máximo de 100 paquetes por segundo.
  • 192.168.1.1: Especifica la dirección IP objetivo.

Otras opciones de limitación de tasa:

Nmap ofrece varias otras opciones para controlar la tasa de escaneo:

  • --min-rate <número>: Especifica el número mínimo de paquetes por segundo que se deben enviar.
  • --scan-delay <tiempo>: Ajusta la cantidad de tiempo que Nmap espera después de cada sondeo que envía.
  • --min-rtt-timeout <tiempo>, --max-rtt-timeout <tiempo>, --initial-rtt-timeout <tiempo>: Controla los valores de tiempo de espera de los sondeos.

Consideraciones importantes:

  • Condiciones de red: La tasa de escaneo óptima depende de las condiciones de red. Si la red está congestionada, puede ser necesario una tasa más baja para evitar la pérdida de paquetes.
  • Evasion de IDS/IPS: Ajustar la tasa de escaneo puede ayudar a evitar la detección por sistemas de detección/prevención de intrusiones.
  • Tiempo de escaneo: Bajar la tasa de escaneo aumentará el tiempo total de escaneo.

Combinar técnicas con nmap -f --max-rate 50 127.0.0.1

En este paso, combinaremos las técnicas de fragmentación de paquetes y limitación de tasa para refinar aún más nuestros escaneos de Nmap. La combinación de técnicas puede ser útil para evitar la detección y optimizar el rendimiento del escaneo.

Usaremos la opción -f para fragmentar los paquetes y la opción --max-rate para limitar la tasa de envío. La fragmentación de paquetes divide el encabezado TCP en varios paquetes para que sea más difícil para los filtros de paquetes y los firewall detectar el escaneo. Limitar la tasa garantiza que el escaneo no sobrecargue la red o active alarmas.

Realicemos un escaneo contra la dirección de bucle (127.0.0.1), usando la fragmentación de paquetes y limitando la tasa máxima de paquetes a 50 paquetes por segundo.

Abra su terminal Xfce y ejecute el siguiente comando:

sudo nmap -f --max-rate 50 127.0.0.1

Este comando iniciará un escaneo de Nmap contra 127.0.0.1, fragmentando los paquetes y limitando la tasa máxima de paquetes a 50 paquetes por segundo. Verá la salida de Nmap en la terminal, que muestra el progreso del escaneo.

Salida de ejemplo (la salida específica variará según el objetivo y la red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Other addresses for localhost: ::1
Not shown: 999 closed ports
PORT     STATE SERVICE
135/tcp  open  msrpc

Nmap done: 1 IP address (1 host up) scanned in 1.85 seconds

Explicación:

  • sudo nmap: Ejecuta Nmap con privilegios de superusuario, que pueden ser necesarios para ciertos tipos de escaneo.
  • -f: Fragmenta los paquetes en piezas más pequeñas.
  • --max-rate 50: Limita la tasa de envío a un máximo de 50 paquetes por segundo.
  • 127.0.0.1: Especifica la dirección IP objetivo (dirección de bucle).

Consideraciones importantes:

  • Sobrehead de fragmentación: La fragmentación de paquetes puede aumentar el sobrehead del escaneo, ya que se necesitan enviar más paquetes.
  • Comportamiento del firewall: Algunos firewall pueden volver a ensamblar los paquetes fragmentados antes de inspeccionarlos, anulando los efectos de la fragmentación.
  • Efectividad de la limitación de tasa: La efectividad de la limitación de tasa depende de las condiciones de red y la sensibilidad del sistema objetivo.
  • Combinación de técnicas: Combinar diferentes técnicas de evasión puede aumentar las posibilidades de evitar las medidas de seguridad, pero también aumenta la complejidad del escaneo.

Verificar la evasión en la terminal Xfce

En este paso, discutiremos cómo verificar la efectividad de las técnicas de evasión que hemos utilizado en los pasos anteriores. Aunque no podemos probar de manera definitiva que nuestros escaneos son completamente indemostrables, podemos utilizar varios métodos para evaluar la probabilidad de evasión.

Métodos para Verificar la Evasión:

  1. Monitoreo de Red: Utilice herramientas como tcpdump o Wireshark para capturar el tráfico de red y analizar las características de los escaneos de Nmap. Busque paquetes fragmentados, direcciones IP de descoje y tráfico con tasa limitada. Esto requiere una máquina separada en la misma red que el objetivo. Dado que estamos en un entorno controlado, esto no es factible.

  2. Registros de IDS/IPS: Si tiene acceso a los registros de un sistema de detección/prevención de intrusiones (IDS/IPS), examine los alertas relacionadas con los escaneos de Nmap. La ausencia de alertas no garantiza la evasión, pero es una señal positiva. Esto también requiere acceso a sistemas externos que no tenemos.

  3. Registros del Sistema Objetivo: Verifique los registros del sistema objetivo en busca de cualquier evidencia de los escaneos de Nmap. Esto puede incluir intentos de conexión a puertos específicos o actividad de red inusual. Nuevamente, esto requiere acceso al sistema objetivo.

  4. Servicios Online de Terceros: Algunos servicios en línea pueden analizar el tráfico de red e identificar posibles amenazas de seguridad. Puede enviar una muestra del tráfico de escaneo de Nmap a estos servicios para su análisis.

Limitaciones en el Entorno de Laboratorio:

Debido a las limitaciones del entorno de la máquina virtual LabEx (por ejemplo, falta de una máquina de monitoreo separada, no hay acceso a los registros de IDS/IPS o del sistema objetivo), no podemos realizar una verificación exhaustiva de la evasión. Sin embargo, podemos revisar los comandos que ejecutamos y entender cómo contribuyen a la evasión.

Revisión de las Técnicas de Evasión:

  • Escaneo de Descoje (nmap -D RND:5 192.168.1.1): Esta técnica hace que parezca que el escaneo proviene de múltiples direcciones IP, incluyendo las generadas aleatoriamente. Esto puede confundir a los administradores de red y dificultar el rastreo del escaneo hasta la fuente real.

  • Fragmentación de Paquetes (nmap -f 127.0.0.1): Esta técnica divide el encabezado TCP en varios paquetes, lo que hace que sea más difícil para los filtros de paquetes y los firewall detectar el escaneo.

  • Spoofing de IP (nmap -S 192.168.1.100 192.168.1.1): Esta técnica oculta su dirección IP real utilizando una dirección IP de origen diferente.

  • Limitación de Tasa (nmap --max-rate 100 192.168.1.1): Esta técnica ralentiza el escaneo, reduciendo la probabilidad de activar alertas o causar congestión de red.

  • Técnicas Combinadas (nmap -f --max-rate 50 127.0.0.1): La combinación de fragmentación y limitación de tasa proporciona un enfoque de múltiples capas para la evasión.

Conclusión:

Aunque no podemos verificar de manera definitiva la evasión en el entorno de la máquina virtual LabEx, entender los principios detrás de estas técnicas y cómo funcionan es crucial para realizar escaneos de Nmap sigilos y efectivos. En un escenario real, utilizaría los métodos descritos anteriormente para evaluar la efectividad de sus esfuerzos de evasión.

Este paso se trata más de entender los conceptos y limitaciones que de realizar una acción específica en la terminal. Por lo tanto, la etapa de verificación simplemente comprobará que haya accedido a este paso en el laboratorio.

Resumen

En este laboratorio, los participantes aprenden cómo evadir los firewall y los IDS utilizando Nmap. Exploran varias técnicas, incluyendo ejecutar un escaneo de descoje con nmap -D RND:5, fragmentar paquetes con nmap -f, falsificar direcciones IP con nmap -S, ajustar la tasa de escaneo con nmap --max-rate y combinar estas técnicas. Cada comando se ejecuta en la terminal Xfce, y se recuerda a los participantes la importancia del uso ético, el impacto en la red y las limitaciones de estos métodos de evasión.