Evadir IDS en el desarrollo de exploits

9

En el contexto del desarrollo del exploit de desbordamiento de búfer, me preguntaron:

Discuss how your exploit may be modified to evade an Intrusion Detection System.

No pido que se haga mi tarea, pero después de usar mi mejor Google-Fu, la única respuesta que puedo encontrar es usar codificadores (como shikata_ga_nai) .

¿Existen otros métodos en el desarrollo de exploits para evadir IDS?

Dado el contexto, parece poco probable que esto sea lo único que debería discutir, pero como dije, después de pasar la noche en eso no puedo encontrar nada más.

    
pregunta Juicy 16.03.2015 - 00:13
fuente

4 respuestas

9

Mientras que la otra respuesta se enfoca en modificar el exploit en sí, también puede modificar el transporte del exploit, para que el IDS no lo detecte (Descargo de responsabilidad: parte de esto apunta a mi propia investigación).

Algunos ejemplos sobre cómo hacer esto en la capa de la aplicación con HTTP (es decir, para las descargas por unidad mientras navega por la web, etc.):

  • Use un método de compresión HTTP válido pero menos común, que sea compatible con los navegadores, pero a menudo no con el IDS. A menudo basta con un simple Content-Encoding: deflate , como con ZScaler o Comodo Webinspector o Sophos UTM (corregido) .
  • Combina la compresión HTTP, por ejemplo, utilice un Content-Encoding de deflate, deflate o gzip, deflate . IDS como Bro, Snort, Suricata o incluso VirusTotal solo miran el primer o último esquema de compresión , mientras que los navegadores como Firefox o Google Chrome aceptan contenido que se comprime varias veces.

Se pueden hacer evasiones similares con jugar con la codificación de transferencia de contenido al enviar el malware por correo electrónico. -mail.

Y luego hay una buena investigación sobre cómo evadir IDS en la capa de transporte. Hay un documento sobre Evadir Deep Inspection for Fun and Shell y también un video de Blackhat 13 .

Y, por supuesto, también puedes modificar el exploit en sí. Aquí es una buena descripción de cómo modificar las vulnerabilidades existentes para que los AV comunes No los detectará más.

Otras técnicas de evasión utilizan métodos sociales para evadir IDS, como colocar el exploit en un archivo ZIP encriptado, adjuntar también un correo y escribir la contraseña en el correo también. Si se hace bien, se seducirá a la víctima para que abra el archivo con la contraseña proporcionada solo para obtener el contenido (como las supuestas listas de salarios de su compañía o trampas similares). Debido a que el IDS no conoce la contraseña, no puede detectar el malware.

    
respondido por el Steffen Ullrich 16.03.2015 - 07:23
fuente
4
  1. Utilizando recursos del sistema fácilmente disponibles.
  2. Shellcode alfanumérico.
  3. Encripta el código de shell.
  4. Shellcodes polimórficos.
  5. Shellcode metamórfico.

enlace

Siga el enlace y vaya a "Técnicas más avanzadas" para obtener información adicional.

    
respondido por el Jay Holister 16.03.2015 - 00:26
fuente
0

En lugar de usar Google para encontrar respuestas para "Cómo evitar IDS", dale la vuelta. Busque IDS y lea sobre las diversas soluciones de IDS. Para responder a esta pregunta, primero debe definir qué se entiende por IDS. No es lo que representan las letras, sino a lo que usted entiende que se refiere el término y las principales técnicas utilizadas. Encontrará que estos se encuentran en algunos tipos típicos, por ejemplo, sistemas IDS de red / firewall que pueden hacer cosas como inspección profunda de paquetes y protocolos, patrones de conexión sospechosos y detección de escaneo de puertos, etc. , actividad de red inusual, etc. e IDS de aplicaciones que pueden monitorear conexiones, entradas de datos, etc.

Una vez que tenga una definición clara, lea acerca de las diversas técnicas que se ajustan a su definición. Luego considera cómo podrías ser capaz de derrotar esas técnicas.

Como su pregunta se refiere a discutir cómo SU vulnerabilidad puede modificarse para evitar la detección, se puede suponer que tiene una vulnerabilidad específica. Mira cómo los diversos IDS que encuentras pueden detectar tu hazaña y luego dejar volar tu imaginación. Por ejemplo, si su exploit hace múltiples conexiones, puede agregar un retraso entre cada conexión para anular un IDS que busca altos niveles de conexiones de una IP en un período corto o puede cambiar su exploit para usar un protocolo de transporte diferente un alto nivel de tráfico, como http o tal vez puede disfrazarlo como tráfico DNS, etc.

La respuesta realmente depende de tu exploit. Para proporcionar una buena respuesta, deberá saber qué técnicas de IDS detectarán su vulnerabilidad.

    
respondido por el Tim X 19.03.2015 - 23:09
fuente
0

De acuerdo con Steffen en sus primeros enfoques.

Además, respondí una pregunta similar aquí, enlace , y debería aplicarse la técnica de uso de SniffJoke . A menudo, es mejor cambiar el tráfico de su red que modificar su stager de explotación o carga útil. Sin embargo, cada situación es diferente. Recopile más información sobre sus entornos de destino y simule un ataque en un laboratorio antes de hacer lo que es real.

La respuesta sobre la codificación realmente se reduce a estos problemas: enlace : los codificadores están diseñados para manejar la terminación NULA de los espacios en blanco, nueva línea y caracteres de ruptura. Los codificadores no están destinados a proporcionar ofuscación.

    
respondido por el atdre 15.05.2015 - 00:55
fuente

Lea otras preguntas en las etiquetas