Firewall and IDS/IPS Evasion
Last updated
Last updated
La protección de endpoints se refiere a cualquier dispositivo o servicio localizado cuyo propósito es proteger un solo host en la red. Este host puede ser una computadora personal, una estación de trabajo corporativa o un servidor en la zona desmilitarizada (DMZ) de la red.
La protección de endpoints generalmente incluye software que proporciona protección antivirus, antimalware (incluye bloatware, spyware, adware, scareware, ransomware), firewall y protección contra ataques DDoS, todo en un solo paquete. Ejemplos de software de protección de endpoints incluyen Avast, Nod32, Malwarebytes y BitDefender.
La protección de perímetro se refiere a dispositivos físicos o virtualizados que se encuentran en el borde de la red y que proporcionan acceso a la red interna desde el exterior (de público a privado).
Entre las zonas pública y privada a menudo se encuentra una tercera zona conocida como DMZ (Zona Desmilitarizada). En esta área se alojan servidores públicos que interactúan con clientes de Internet y con la red interna para ser administrados y actualizados.
Las políticas de seguridad son fundamentales para mantener una postura de seguridad en cualquier red. Funcionan como listas de control de acceso (ACL), dictando qué tráfico o archivos pueden existir dentro de los límites de la red. Estas políticas pueden abarcar diversas áreas como:
Políticas de tráfico de red
Políticas de aplicaciones
Políticas de control de acceso de usuarios
Políticas de gestión de archivos
Políticas de protección contra DDoS
Los antivirus suelen depender de la detección basada en firmas para identificar código malicioso. Una vez detectado, el programa se cuarentena y se termina su ejecución. Para evitar esto, es posible utilizar técnicas de evasión:
Túneles AES en msfconsole: MSF6 puede tunelar comunicación encriptada mediante AES entre el shell de Meterpreter y el atacante, lo que elude sistemas de detección y prevención de intrusiones (IDS/IPS) basados en red.
Ejecutables backdoor con msfvenom: Podemos inyectar código malicioso en ejecutables legítimos para disfrazar la actividad maliciosa. Esto se logra con la herramienta msfvenom.
Podemos usar msfvenom para generar ejecutables con shellcode malicioso incrustado. Ejemplo:
Esto genera un archivo ejecutable TeamViewer_Setup.exe
con un payload incrustado que evade detecciones utilizando múltiples iteraciones del encoder shikata_ga_nai
.
Una vez generado el ejecutable, si la víctima lo ejecuta, la aplicación maliciosa puede funcionar sin levantar sospechas, especialmente si usamos el flag -k
para continuar la ejecución normal del programa legítimo mientras nuestro payload se ejecuta en un hilo separado.
Archivar un archivo, carpeta, script, ejecutable, imagen o documento y ponerle una contraseña permite eludir muchas firmas comunes de antivirus actuales. Sin embargo, la desventaja de este proceso es que generará notificaciones en el tablero de alarmas del antivirus, ya que no se podrán escanear debido a que están bloqueados con una contraseña. Un administrador puede optar por inspeccionar manualmente estos archivos comprimidos para determinar si son maliciosos o no.
Descripción del proceso:
Se selecciona el payload windows/x86/meterpreter_reverse_tcp
.
Se usa el encoder x86/shikata_ga_nai
con 5 iteraciones.
El payload es guardado en el archivo test.js
.
El contenido del archivo test.js
está codificado en varias iteraciones y es difícilmente legible sin el proceso de decodificación adecuado.
Se sube el archivo test.js
a VirusTotal para obtener un informe de detección.
Algunas detecciones de antivirus incluyen:
AVG: Win32[Trj].
BitDefender: Exploit.Metacoder.Shikata.Gen.
ClamAV: Win.Trojan.MSShellcode-6360729-0.
Evasión de Firewall e IDS/IPS
Crear archivo comprimido y proteger con contraseña:
Eliminar la extensión .rar
:
Comprimir nuevamente y proteger con otra contraseña:
Eliminar extensión del segundo archivo comprimido:
Evasión de Firewall e IDS/IPS
Después de cargar el archivo comprimido nuevamente (test2
), los resultados de detección muestran 0/49 detecciones por parte de los motores antivirus, lo que significa que el archivo ahora es indetectable.
Un packer es un software que comprime y empaqueta un ejecutable junto con código de descompresión en un solo archivo. Cuando se ejecuta, el código de descompresión restaura el ejecutable original. Esto agrega una capa adicional de protección contra los mecanismos de escaneo de archivos en los hosts objetivo.
Lista de software de packers populares:
UPX packer
The Enigma Protector
MPRESS
Alternate EXE Packer
ExeStealth
Morphine
MEW
Themida
Cuando se codifica un exploit o se porta uno existente al marco de trabajo, es recomendable asegurarse de que el código no sea fácilmente identificable por las medidas de seguridad del sistema objetivo. Un ejemplo clásico es un desbordamiento de búfer (Buffer Overflow), que puede ser detectado debido a los patrones hexadecimales en el tráfico de red.
Agregar randomización en los patrones puede romper las firmas de IDS/IPS que detectan estos patrones comunes. Además, se recomienda evitar el uso de NOP sleds evidentes para colocar el shellcode tras el desbordamiento.
Los sistemas de prevención de intrusiones (IPS) y los motores antivirus son las herramientas más comunes que pueden interrumpir el establecimiento de una conexión en el objetivo. Estos funcionan principalmente con firmas del archivo malicioso completo o de la etapa inicial del payload.
Tipo de Detección
Descripción
Detección basada en firmas
Comparación de paquetes de la red con patrones de ataques conocidos (firmas). Una coincidencia exacta genera alarmas.
Detección heurística / anomalía estadística
Comparación del comportamiento con una línea base establecida para identificar amenazas persistentes avanzadas (APT). Cualquier desviación genera alarmas.
Análisis de protocolo con estado
Reconoce divergencias en los protocolos mediante perfiles preconstruidos de actividad no maliciosa.
Monitoreo en vivo y alertas (basado en SOC)
Un equipo de analistas monitorea la actividad de la red en tiempo real, decidiendo si tomar acciones ante posibles amenazas o dejar que los mecanismos automatizados lo hagan.