Evasión de Firewalls y IDS/IPS
Última actualización
Última actualización
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.
Cuando hagamos este tipo de descubrimiento no poner sudo o te puede dar maquinas que en realidad no existen
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
Podríamos meterle a estos escaneo un --min-rate 5000 o un -T5 que seguiría sin detectarnos Snort
Si escaneas mas de 5 puertos a la vez el IDS te detectara, así que utilizamos el parámetro --top-ports 5
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.
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.
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.
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.
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:
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
:
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)
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.