Defense Evasion (TA0005): Evadiendo Todas las Defensas
Análisis completo de la táctica Defense Evasion de MITRE ATT&CK (TA0005): la táctica con más técnicas (~42). Process injection, ofuscación, LOLBins, rootkits, AMSI bypass, timestomping, indicator removal y cómo detectar cada categoría de evasión.
Defense Evasion es la táctica más grande de ATT&CK porque el atacante debe evadir defensas durante todo el ataque
La táctica Defense Evasion (TA0005) documenta las técnicas que los adversarios usan para evitar ser detectados por herramientas de seguridad y analistas. Con ~42 técnicas principales y más de 100 sub-técnicas, es la táctica más extensa de MITRE ATT&CK. La razón es que la evasión no es una fase puntual: el atacante debe evadir defensas continuamente, desde el acceso inicial hasta el impacto final.
Categorías de evasión
Categoría 1: Process Injection (T1055)
Inyectar código malicioso en procesos legítimos para ejecutar bajo su contexto, heredar sus permisos y evitar detección.
| Sub-técnica | ID | Mecanismo |
|---|---|---|
| DLL Injection | T1055.001 | LoadLibrary en proceso remoto via CreateRemoteThread |
| PE Injection | T1055.002 | Mapear PE completo en memoria de otro proceso |
| Thread Execution Hijacking | T1055.003 | Suspender thread, modificar contexto, resumir |
| Asynchronous Procedure Call | T1055.004 | QueueUserAPC para ejecutar en thread existente |
| Thread Local Storage | T1055.005 | Callback TLS ejecuta al cargar DLL |
| Process Hollowing | T1055.012 | Crear proceso suspendido, reemplazar su imagen en memoria |
| Process Doppelganging | T1055.013 | Usar NTFS transactions para crear proceso desde archivo fantasma |
| Extra Window Memory | T1055.011 | Inyectar via SetWindowLong en proceso GUI |
Detección:
- Sysmon Event 8: CreateRemoteThread en proceso ajeno
- Sysmon Event 7: DLL cargada inesperada en proceso legítimo
- ETW: Microsoft-Windows-Threat-Intelligence (memory write cross-process)
- Memory analysis: comparar código en memoria vs imagen en disco
Categoría 2: Ofuscación y codificación (T1027)
Transformar el payload para evitar detección basada en firmas.
| Sub-técnica | ID | Método |
|---|---|---|
| Binary Padding | T1027.001 | Añadir bytes para cambiar hash |
| Software Packing | T1027.002 | UPX, Themida, VMProtect |
| Steganography | T1027.003 | Payload oculto en imagen/audio |
| Compile After Delivery | T1027.004 | Entregar código fuente, compilar en víctima |
| Indicator Removal from Tools | T1027.005 | Eliminar strings identificativas |
| HTML Smuggling | T1027.006 | Payload construido en JavaScript del navegador |
| Dynamic API Resolution | T1027.007 | Resolver APIs en runtime, no en import table |
| Stripped Payloads | T1027.008 | Eliminar símbolos y debug info |
| Embedded Payloads | T1027.009 | Payload dentro de archivo legítimo |
Detección:
- Entropy analysis: archivos con entropy > 7.0 probablemente empaquetados/cifrados
- AMSI: ve contenido después de deofuscación (scripts)
- Sandbox: detonación revela comportamiento real
- YARA: patrones de packers conocidos (UPX header, Themida markers)
Categoría 3: System Binary Proxy Execution (T1218) — LOLBins
Usar binarios legítimos firmados por Microsoft para ejecutar código malicioso.
| LOLBin | ID | Uso malicioso |
|---|---|---|
| mshta.exe | T1218.005 | Ejecutar HTA con VBScript/JScript |
| regsvr32.exe | T1218.010 | Cargar DLL remota (Squiblydoo) |
| rundll32.exe | T1218.011 | Ejecutar funciones de DLL arbitraria |
| certutil.exe | T1218.* | Descargar archivos, decodificar Base64 |
| msiexec.exe | T1218.007 | Instalar MSI remoto con payload |
| cmstp.exe | T1218.003 | Ejecutar INF con comandos |
| wmic.exe | T1218.* | Ejecución via XSL stylesheets |
| InstallUtil.exe | T1218.004 | Ejecutar .NET assembly |
| MSBuild.exe | T1218.005 | Compilar y ejecutar C# inline |
Detección:
- Sysmon Event 1: LOLBins con argumentos sospechosos (URLs, Base64, rutas a %TEMP%)
- Parent process analysis: ¿quién lanzó el LOLBin? (Word → mshta es anómalo)
- Reglas Sigma: detecciones específicas por cada LOLBin y sus parámetros maliciosos
- WDAC/AppLocker: bloquear LOLBins no necesarios
Categoría 4: Impair Defenses (T1562)
Desactivar o degradar herramientas de seguridad directamente.
| Sub-técnica | ID | Acción |
|---|---|---|
| Disable or Modify Tools | T1562.001 | Matar procesos AV/EDR, AMSI bypass, desactivar Defender |
| Disable Windows Event Logging | T1562.002 | Detener servicio EventLog, limpiar canales |
| Impair Command History | T1562.003 | Desactivar historial PowerShell/bash |
| Disable or Modify System Firewall | T1562.004 | netsh advfirewall set allprofiles state off |
| Indicator Blocking | T1562.006 | Bloquear ETW providers |
| Disable or Modify Cloud Firewall | T1562.007 | Modificar security groups en AWS/Azure |
Detección:
- Tamper protection: EDR que detecta intentos de terminar su propio proceso
- Event 7036: servicios de seguridad detenidos
- Sysmon Event 1: comandos que desactivan Defender, firewall, logs
- Monitorización de health: alertar cuando un agente EDR deja de reportar
Categoría 5: Indicator Removal (T1070)
Eliminar evidencia de la presencia del atacante.
| Sub-técnica | ID | Acción |
|---|---|---|
| Clear Windows Event Logs | T1070.001 | wevtutil cl Security/System/Application |
| Clear Linux/Mac Logs | T1070.002 | Borrar /var/log/auth.log, .bash_history |
| File Deletion | T1070.004 | Eliminar herramientas y payloads |
| Timestomping | T1070.006 | Modificar timestamps de archivos para parecer antiguos |
| Network Share Connection Removal | T1070.005 | Desconectar shares para ocultar lateral movement |
Detección:
- Event 1102: log de Security limpiado (Windows genera este evento al limpiar)
- Sysmon Event 1: ejecución de
wevtutil cl,del /fde archivos sospechosos - Timestomping: comparar $STANDARD_INFORMATION vs $FILE_NAME en MFT (los timestamps divergen)
- Forwarding: enviar logs a SIEM remoto (el atacante no puede borrar logs del SIEM)
Categoría 6: Masquerading (T1036)
Disfrazar procesos, archivos o servicios maliciosos como legítimos.
| Sub-técnica | ID | Método |
|---|---|---|
| Invalid Code Signature | T1036.001 | Firmar con certificado robado o inválido |
| Right-to-Left Override | T1036.002 | Carácter Unicode que invierte el nombre visible |
| Rename System Utilities | T1036.003 | Renombrar cmd.exe a svchost.exe |
| Masquerade Task or Service | T1036.004 | Servicio malicioso con nombre legítimo |
| Match Legitimate Name | T1036.005 | svch0st.exe (cero en lugar de o) |
| Space after Filename | T1036.006 | "svchost.exe " (espacio trailing) |
Detección:
- Sysmon Event 1: verificar que el hash del proceso coincide con el binario legítimo
- Image path vs name: svchost.exe solo debe ejecutarse desde System32
- Signature validation: verificar firma digital de binarios
Categoría 7: Rootkits (T1014)
Cubiertas en profundidad en nuestra serie de rootkits. Ocultan procesos, archivos, conexiones de red y claves de registro a nivel de kernel o firmware.
Categoría 8: Virtualization/Sandbox Evasion (T1497)
Detectar si el malware está corriendo en un sandbox o VM y alterar comportamiento.
| Sub-técnica | Método |
|---|---|
| T1497.001: System Checks | Buscar VMware tools, VBoxGuest, artefactos de VM |
| T1497.002: User Activity Based | Esperar clic del ratón, movimiento, archivos recientes |
| T1497.003: Time Based | Verificar que el tiempo transcurre normalmente (sleep acceleration) |
Detección: Sandboxes modernos mitigan estas técnicas con anti-evasion features.
Top 10 técnicas de Defense Evasion por frecuencia
| Rank | Técnica | Frecuencia | Detección principal |
|---|---|---|---|
| 1 | T1059.001 PowerShell (ofuscado) | Muy alta | AMSI + Script Block Logging |
| 2 | T1055 Process Injection | Alta | Sysmon 8 + ETW TI |
| 3 | T1218 LOLBins | Alta | Sysmon 1 + Sigma rules |
| 4 | T1027 Obfuscation | Alta | Sandbox + entropy analysis |
| 5 | T1036 Masquerading | Alta | Image path validation |
| 6 | T1562.001 Disable Tools | Media | Tamper protection + health |
| 7 | T1070.001 Clear Logs | Media | Event 1102 + log forwarding |
| 8 | T1140 Deobfuscate | Media | AMSI (ve post-deobfuscation) |
| 9 | T1497 Sandbox Evasion | Media | Anti-evasion sandboxes |
| 10 | T1014 Rootkit | Baja (pero alto impacto) | Memory forensics + CHIPSEC |
Principio defensivo: defensa en profundidad
Defense Evasion funciona contra capas individuales. La estrategia es tener múltiples capas de detección de modo que bypasear una active alertas en otra:
Capa 1: AV/Firmas → Evasión: ofuscación, packing
Capa 2: AMSI → Evasión: AMSI bypass
Capa 3: EDR user-mode → Evasión: unhooking, direct syscalls
Capa 4: ETW kernel → Evasión: ETW patching
Capa 5: Kernel callbacks → Evasión: BYOVD
Capa 6: Memory forensics → Evasión: muy difícil de evadir completamente
Cada bypass deja artefactos detectables por otra capa.
AMSI bypass → detectable por ETW Threat Intelligence
Unhooking → detectable por kernel callbacks
BYOVD → detectable por driver load monitoring
Conclusión
Defense Evasion es la táctica más extensa porque refleja la carrera armamentística continua entre atacantes y defensores. La clave no es intentar prevenir toda evasión (imposible) sino construir detección en profundidad donde cada capa bypasseada genere señales en la siguiente. Process injection, LOLBins y ofuscación son las tres categorías prioritarias por frecuencia.
Fuentes y referencias
- MITRE ATT&CK: Defense Evasion (TA0005)
- LOLBAS Project: Living Off The Land Binaries
- Elastic Security: "Defense Evasion Detection Strategies" (2024)
- Red Canary: Threat Detection Report 2025 (evasion techniques ranked)
- Mandiant: "Evasion Techniques in Modern Malware" (2024)
Preguntas frecuentes
Artículos relacionados
Privilege Escalation (TA0004): Escalando Privilegios en el Sistema
Credential Access (TA0006): Robando Credenciales del Sistema
Evasión de Antivirus: Ofuscación, Packers y Crypters
AMSI Bypass: Técnicas de Evasión y Contramedidas Defensivas
EDR Internals: Cómo Funcionan y Cómo se Evaden
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.