IDS significa Sistema de detección de intrusos. Se utiliza para monitorear el tráfico que ingresa a cualquier red y ayuda a detectar actividades maliciosas. Es importante tener en cuenta que IDS solo detecta actividades maliciosas y no previene ataques.
Este artículo describe varias técnicas para evadir IDS (Sistema de detección de intrusos) y su implementación utilizando la herramienta NMAP.
Las organizaciones pueden tener IDS para monitorear el tráfico de la red antes de que los paquetes se enruten a sus redes internas. IDS emplea varios métodos para detectar actividades sospechosas:
- basado en anomalías
- Basado en firma
- basado en host
- basado en la red
Consulte el artículo Sistema de detección de intrusos (IDS) para obtener más información sobre IDS.
Tipos de técnicas de evasión:
Como cualquier otro sistema, los IDS tienen vulnerabilidades que los atacantes pueden aprovechar para evadirlas.
1. Fragmentación de paquetes: en esta técnica, los paquetes IP se dividen en fragmentos más pequeños. Al hacer esto, el encabezado TCP se divide en varios fragmentos. Cuando IDS encuentra los paquetes, los pone en cola para verificar cualquier actividad maliciosa. Sin embargo, a medida que aumenta la cantidad de fragmentos, aumenta el consumo de ancho de banda de la CPU y de la red. Por esta razón, IDS ignora la evaluación de dichos paquetes. Por lo tanto, estos fragmentos pueden pasar desapercibidos a través del IDS.
El indicador -f se usa para crear fragmentos. Entonces, el paquete después del encabezado IP se divide en fragmentos de 8 bytes o menos. Por ejemplo, si el tamaño del paquete después del encabezado IP es de 10 bytes, se dividirá en dos fragmentos de 8 bytes y 2 bytes respectivamente. Especificar -f dos veces crearía fragmentos de 16 bytes de tamaño. También podemos especificar nuestro propio tamaño usando la bandera -mtu. Sin embargo, el tamaño debe ser un múltiplo de 8. Los fragmentos creados con el comando anterior se pueden capturar con Wireshark.
La imagen de arriba muestra el marco 6125 enviado a 127.0.0.1. La parte resaltada muestra que este marco se volvió a ensamblar en el marco IP 6127. Por lo tanto, podemos concluir que el marco 6125 era parte del marco 6127 y la fragmentación se realizó con éxito.
2. Enrutamiento de origen: los paquetes pasan a través de varios enrutadores antes de llegar al host de destino. Los enrutadores consultan la tabla de enrutamiento para pasar el paquete al siguiente salto. También se implementan IDS para monitorear el tráfico de la red. Sin embargo, la ruta que toman los paquetes puede ser manipulada por el atacante. El atacante puede asegurarse de que los paquetes tomen una ruta que no contenga el IDS.
3. Manipulación del puerto de origen: a veces, el IDS puede permitir que los paquetes de red pasen sin ninguna inspección si llegan a un puerto en particular, como el puerto 80, que se usa principalmente para HTTP. Los atacantes pueden explotar esta configuración incorrecta manipulando el puerto de origen de los paquetes. Por lo tanto, los paquetes que llegan a dichos puertos pueden pasar desapercibidos para el IDS.
El indicador –source-port o -g se puede usar para especificar el puerto de origen de los paquetes. La siguiente imagen muestra los paquetes enviados como resultado de ejecutar el comando anterior. Podemos ver que el puerto de origen de todos los paquetes SYN es el 22.
4. Señuelo de dirección IP: el atacante envía paquetes al host de destino utilizando las direcciones IP de otros hosts. Entonces, diferentes paquetes tienen diferentes direcciones IP. Por lo tanto, se vuelve difícil para el IDS identificar la dirección IP real del atacante. Sin embargo, uno de los paquetes tiene la dirección IP real del atacante, y si el IDS está configurado para bloquear el tráfico de todas estas direcciones IP, el atacante no puede evadir el IDS. Esta técnica se utiliza para escanear puertos en el host de destino. Entonces, un atacante puede identificar si un puerto en particular en el host de destino se está ejecutando o no.
La bandera -D se puede usar para un escaneo de señuelo. La opción RND se utiliza para generar direcciones IP aleatorias. En el ejemplo anterior, se generaron aleatoriamente 10 direcciones IP y se enviaron al host de destino. Podemos ver que los paquetes se enviaron al mismo host de destino desde 10 direcciones IP diferentes, incluida la dirección IP real (127.0.0.1) del atacante en la imagen a continuación.
5. Falsificación de direcciones IP: La falsificación de direcciones IP simplemente significa usar la dirección IP de otra máquina para enviar paquetes al host de destino. Nuevamente, esta técnica se puede usar para escanear puertos, lo que generalmente se hace antes del ataque real. Entonces, el IDS puede identificar a los hosts inocentes como maliciosos. Sin embargo, el uso de NMAP para realizar la suplantación de direcciones IP no producirá resultados útiles, ya que los paquetes de respuesta del host de destino se enviarán a la dirección IP suplantada. La opción -S <ip-address> se puede utilizar para realizar la suplantación de direcciones IP.
Puede consultar el artículo IP Spoofing para obtener más información.
6. Paquetes personalizados: IDS se puede evadir personalizando los paquetes de datos. La personalización se puede realizar reemplazando datos en la carga útil o agregando datos a la carga útil. Las siguientes son algunas formas de personalizar los datos:
(a) Evasión basada en Unicode: Unicode se usa para representar caracteres de diferentes idiomas, emojis, etc. Por lo tanto, la carga útil puede contener una representación de datos Unicode. Sin embargo, un mensaje que tenga el mismo significado podría representarse usando un Unicode diferente. Al reemplazar los datos en la carga útil, los paquetes maliciosos pueden pasar a través de un IDS basado en firmas si el patrón recién creado no forma parte del conjunto de firmas almacenado.
(b) Agregar datos binarios: Esto agrega datos binarios a la carga útil. Los datos a anexar deben especificarse en hexadecimal.
nmap <target ip-address> --data 0xabcdefab
(c) Agregar string: Esto agrega una string normal a la carga útil.
nmap <target ip-address> --data-string "danger"
(d) Agregar datos aleatorios: Esto agrega datos aleatorios de longitud especificada a la carga útil. La longitud puede ser cualquier valor entre 0 y 65400. Sin embargo, no se recomiendan valores superiores a 1400, ya que podrían ser superiores a MTU.
nmap <target ip-address> --data-length <length>
Publicación traducida automáticamente
Artículo escrito por aayushhyadav y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA