M4nu
  • whoami
  • 🏆 Certificaciones
    • eJPTv2
    • eCPPTv3
    • KLCP
  • CWP
  • 🏗️Mis Proyectos
    • Apache Hunter
    • Águila
      • Águila-Https
        • Configuración Proxy Automático
        • Configuración Proxy Manual
      • Águila-Http
      • Águila-Infection
    • PingMapper
    • WizardScan
    • FakeHosts
    • EvasionIDS
    • nmap2ports
  • 📝 Write Ups
    • Hack The Box
      • Windows
        • Granny
        • Escape
        • Bastard
      • Linux
        • Keeper
        • BoardLight
        • Backdoor
      • Active Directory
        • Sauna
        • Monteverde
        • ServMon
    • Proving Grounds Practice
      • Linux
        • Twiggy
      • Windows
        • Algernon
        • Craft
  • 📚Apuntes
    • Nmap
      • Esencial ⭐
      • Reconocimiento de Hosts
      • Scripts
      • Evasión de Firewalls y IDS/IPS
      • IPv6
    • Best of Nuclei
      • Plantillas para Wordpress
    • Tor en línea de comandos
Con tecnología de GitBook
En esta página
  • Descubrimiento de Hosts
  • Escaneo de Puertos
  1. Apuntes
  2. Nmap

Evasión de Firewalls y IDS/IPS

AnteriorScriptsSiguienteIPv6

Última actualización hace 10 meses

Firewall: Es un sistema de seguridad de red que supervisa y controla el tráfico entrante y saliente según reglas de seguridad predefinidas.

IDS: Sistema de detección de intrusos que actúa como una alarma, identificando actividades sospechosas en la red.

Todos los siguientes comandos han sido probados para evadir la detección de el IDS Snort.

Descubrimiento de Hosts

Cuando hagamos este tipo de descubrimiento no poner sudo o te puede dar maquinas que en realidad no existen

nmap -sn -n <ip/24>

Snort no detecta este tipo de escaneo. Sin embargo, en una red bien protegida, podría haber direcciones IP que no sean reales, como la herramienta que he creado FakeHosts.

Para que no lo detecte Snort y además resuelva solo máquinas que verdaderamente están activas, es mejor añadir el parámetro -FS

nmap -sn -n -FS <ip/24>

Podríamos meterle a estos escaneo un --min-rate 5000 o un -T5 que seguiría sin detectarnos Snort

Escaneo de Puertos

Escaneos básicos con flags típicas como -sS -p- --open --min-rate 5000 -vvv -n -Pn serían fácilmente detectados por un IDS. De hecho, no solo estas flags, sino casi todas, pueden ser identificadas.

Limitar numero de puertos

Si escaneas mas de 5 puertos a la vez el IDS te detectara, así que utilizamos el parámetro --top-ports 5

nmap --top-ports 5 --open -sS --min-rate 5000 -vvv -n -Pn <ip>

Fragmentación de Paquetes

La idea es fragmentar el paquete TCP, que consta de 20 bytes, y enviarlo en partes. Aunque esta técnica es muy conocida y relativamente fácil de detectar por los IDS, sigue siendo muy efectiva contra los Firewalls.

sudo nmap -p80 -sS -ff -n <ip>

El parámetro -f fragmenta los paquetes en segmentos de 8 bytes cada uno, lo que suele ser más fácil de detectar, mientras que el parámetro -ff los fragmenta en dos segmentos de 16 bytes.

Señuelo

El parámetro -D en Nmap modifica la dirección IP de origen, haciendo que un IDS en la red no pueda identificar al atacante debido a la presencia de múltiples IPs simultáneamente. Las direcciones IP especificadas en el parámetro -D deben estar activas en la red.

sudo nmap -sS -n -D <ip_random>,<ip_random> <ip>

En un IDS como Snort saldria lo siguiente (la IP 192.168.20.129 es la unica real)

Finalmente, es importante destacar que si se incluye la misma IP que se está escaneando en el parámetro -D, se generarán numerosas alertas de BAD-TRAFFIC. Esto puede delatar inmediatamente la técnica que se está utilizando.

Spoofing de identidad

El spoofing de identidad se realiza con el parámetro -S, que manipula la dirección IP de origen desde la que estamos realizando el ataque. Al igual que en el ejemplo anterior, debemos utilizar direcciones IP activas dentro de la red para las direcciones IP de señuelo.

En las versiones más recientes de Nmap, este escaneo no funciona. Por lo tanto tendremos que descargar la versión 1.92 de nmap que de echo es la que yo utilizo siempre

Este ataque hará que en Snort o cualquier IDS se vea que el PortScan proviene de la IP especificada, que no es la nuestra:

sudo nmap -S <ip_inventada> -e eth0 -n -Pn <ip>

Así se vería desde snort: (mi ip real en este ejemplo 192.168.20.129)

A veces, el firewall o el IPS restringen el acceso basándose en la dirección IP de origen, lo cual hemos evadido con -S. Otras veces, la restricción se basa en el puerto de origen. Para ocultar el puerto de origen, podemos usar el parámetro --source-port:

sudo nmap -S 192.168.20.1 -e eth0 --source-port 80 -n -Pn 192.168.20.128

Ahora, todos los paquetes parecerán llegar a Snort como si provinieran de 192.168.20.1:80, cuando en realidad salen de nuestra máquina y desde otro puerto.

Como podemos ver en la imagen, Snort no detecta ni mi ip real (192.168.20.129) ni el puerto real por el que esta saliendo (42232)

Control de Velocidad

El control de velocidad es la técnica mas efectiva y para ello he creado una herramienta que lo que va a hacer es ir escaneando de 2 en 2 cada x segundos para poder hacer un escaneo de las 100 direcciones ips mas comunes, esta herramienta es perfecta para auditar servicios de Blue Team.

📚
FakeHosts
EvasionIDS