Parte: 7 — Red Team y operaciones ofensivas · Fuente: RTFM v2 (Clark) / documentación de EDR y Windows internals ⏱️ Duración estimada: 120 min · Nivel: Experto
Entender cómo funcionan los antivirus y EDR modernos para poder evadirlos de forma comprendida (no por copiar-pegar). El alumno estudiará las técnicas de detección (firmas, heurística, hooks de usermode, ETW, callbacks del kernel) y las contramedidas ofensivas responsables (unhooking, syscalls directas, ejecución en memoria), siempre en su laboratorio y con la mirada puesta en cómo el Blue Team lo detecta.
Al finalizar, el alumno podrá:
| # | Tema | Por qué importa |
|---|---|---|
| 1 | Firmas y heurística | Detección estática básica |
| 2 | Userland hooking | Cómo el EDR intercepta APIs |
| 3 | ETW y telemetría | Fuente rica de eventos |
| 4 | Kernel callbacks | Visibilidad profunda del EDR |
| 5 | Unhooking | Restaurar ntdll limpia |
| 6 | Syscalls directas/indirectas | Saltarse los hooks usermode |
| 7 | Ejecución en memoria | Cambia artefactos de archivo, no elimina telemetría |
Un error pedagógico frecuente es imaginar el EDR como una función colocada delante de cada API. En realidad, el producto combina sensores, eventos del sistema, contexto histórico y una capa de análisis. La arquitectura exacta depende del fabricante y de la versión: puede consumir creación de procesos, carga de imágenes, actividad de red, eventos de seguridad, ETW y señales obtenidas por componentes protegidos. Por eso una técnica que altera una observación en modo usuario no «apaga el EDR»; como máximo afecta una fuente concreta.
La detección ocurre además en momentos diferentes. Antes de ejecutar puede evaluarse reputación, firma o estructura del archivo. Durante la ejecución se correlacionan relaciones padre-hijo, memoria, credenciales, red y secuencias de acciones. Después, el backend puede enriquecer lo observado con inteligencia, prevalencia y actividad de otros equipos. Cambiar el hash solo altera una parte de la primera capa.
Una firma puede reconocer una secuencia de bytes, una cadena o una familia conocida con muy poco coste. La heurística busca propiedades sospechosas sin exigir identidad exacta. La analítica comportamental observa relaciones: por ejemplo, un intérprete iniciado por una aplicación ofimática que crea otro proceso y establece una conexión. Ninguna capa es perfecta; el valor aparece al correlacionarlas.
Esta distinción cambia el laboratorio. No basta con anotar «detectado/no detectado». Debe registrarse qué control produjo el resultado, en qué etapa, con qué evento y si la prevención fue local o posterior. Sin esa línea base, atribuir el cambio a unhooking, ejecución en memoria o cualquier otra variación sería una conclusión no demostrada.
Los hooks en bibliotecas de usuario son una posible fuente de observación, no una propiedad universal que deba asumirse. Restaurar código de una biblioteca o cambiar la ruta de una llamada puede modificar esa observación, pero la creación de hilos, los cambios de protección de memoria, la carga de módulos y la actividad resultante pueden seguir siendo visibles por otros medios. De igual forma, ejecutar sin escribir un binario convencional en disco reduce determinados artefactos, pero no borra memoria, red, proceso ni identidad.
La pregunta profesional no es «¿cómo hago invisible esta acción?», sino «¿qué fuentes se conservaron y cuáles se degradaron?». Esa pregunta permite al equipo azul diseñar cobertura redundante y al equipo rojo producir un hallazgo reproducible, en vez de una demostración dependiente de una versión concreta.
Se cambia una sola variable por iteración: misma máquina, identidad, muestra de prueba y ventana temporal. Primero se ejecuta la línea base; después, una variante; por último, se comparan archivos, procesos, eventos, alertas y tráfico. El criterio de éxito incluye observabilidad defensiva, no solo ejecución. Si la prueba requiere debilitar un control, se hace en una VM desechable y se restituye el estado al terminar.
⚠️ Solo laboratorio. La evasión se practica contra EDR/antivirus en máquinas que controlas, para entender su funcionamiento y mejorar la detección. Distribuir malware evasivo o usarlo fuera de un engagement autorizado es ilegal. El objetivo pedagógico es defensivo: saber qué buscar.
NtAllocateVirtualMemory entre una VM base y la VM vigilada. Si observas una redirección, demuestra su procedencia antes de atribuirla al EDR: Windows, un profiler u otro software también puede modificar rutas de ejecución.ntdll.dll desde disco (o KnownDlls) para sobrescribir los hooks en memoria; explica por qué restaura las funciones originales.syscall dentro de ntdll para no ser hookeado en usermode.Partiendo de un implante que el EDR de tu lab detecta, aplica al menos dos técnicas de evasión y documenta el cambio en la telemetría. Criterio de aceptación: demuestras (con capturas de la consola del EDR/Sysmon) que la línea base generaba una alerta y que tras las técnicas aplicadas cambia el resultado; además, explicas qué fuente de datos aún podría detectarte. Todo en tu laboratorio.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| Evasión "mágica" que no entiendes | Copiaste código; estudia el mecanismo antes de usarlo |
| Sigue detectando pese a syscalls | El EDR usa kernel callbacks/ETW-TI; usermode no basta |
| El unhooking crashea el proceso | Copia de ntdll mal mapeada; respeta secciones/permisos |
| Alerta por acceso a LSASS | La técnica es comportamental, no de firma; cambia el comportamiento, no el binario |
| Funciona hoy, falla mañana | El EDR se actualizó; la evasión es una carrera continua |
❓ ¿Cambiar el hash evade un EDR? Solo evade firmas estáticas. Los EDR modernos son comportamentales: detectan lo que el proceso hace, no cómo se llama el archivo.
❓ ¿Las syscalls directas son la solución definitiva? No. Evaden hooks usermode, pero el kernel (callbacks, ETW-TI) sigue viendo la actividad. Además, un proceso que llama syscalls "raras" es en sí sospechoso.
❓ ¿Esto no es enseñar a hacer malware? Enseñamos el mecanismo para defender: sin entender la evasión no se puede escribir una detección robusta. Todo se practica en laboratorio propio.
Clase 167 — Acceso inicial: técnicas