Windows Defender Internals: Cómo Funciona y Cómo se Evade
Análisis técnico de los internals de Windows Defender (Microsoft Defender Antivirus). Motor de escaneo, AMSI, cloud protection, tamper protection, ASR rules, y las técnicas de bypass que usa el malware. Perspectiva defensiva para hardening.
Defender ya no es el eslabón débil
Windows Defender (oficialmente Microsoft Defender Antivirus) pasó de ser un producto mediocre a un antivirus de primer nivel. En tests de AV-TEST (2024-2025), Defender consistentemente obtiene 6/6 en protección, rendimiento y usabilidad. Su integración con el kernel de Windows le da ventajas que productos de terceros no pueden igualar.
Pero el malware también ha evolucionado. Entender cómo funciona Defender por dentro es necesario tanto para los defensores (para configurarlo correctamente) como para entender por qué ciertas técnicas de malware funcionan.
Arquitectura de Defender
Componentes principales
| Componente | Proceso | Función |
|---|---|---|
| Antimalware Service | MsMpEng.exe | Motor principal de escaneo (PPL protected) |
| Antimalware Client | MpCmdRun.exe | CLI para escaneos manuales |
| WdFilter | WdFilter.sys | Minifilter driver para I/O de archivos |
| WdNisSvc | NisSrv.exe | Network Inspection System (IDS) |
| WdBoot | WdBoot.sys | Boot-time protection (ELAM) |
| AMSI Provider | MpOAV.dll | Proveedor AMSI para escaneo de scripts |
| Cloud Protection | MpCloudBlockSvc | Conexión a Microsoft cloud para detección |
| Tamper Protection | Integrado en MsMpEng.exe | Protección contra modificación de Defender |
Flujo de escaneo
Archivo creado/modificado en disco
│
v
WdFilter.sys (minifilter)
Intercepta la operacion I/O
│
v
MsMpEng.exe (motor de escaneo)
├── Scan local: firmas, heurísticas
├── AMSI scan: si es script/assembly
├── Behavioral monitoring
└── Cloud query (si habilitado)
│
v
Resultado: Clean / Malware / PUA
│
Si malware → Cuarentena
Si PUA → Acción según config
Si clean → Permitir
Tipos de escaneo
| Tipo | Trigger | Profundidad |
|---|---|---|
| Real-time | Cada archivo accedido/creado/modificado | Archivo individual |
| Cloud | Archivos desconocidos enviados a cloud | Análisis en sandbox de Microsoft |
| Behavioral | Actividad sospechosa en ejecución | Monitoriza comportamiento post-ejecución |
| Quick scan | Manual o programado | Ubicaciones comunes de malware |
| Full scan | Manual | Todo el sistema de archivos |
| AMSI | Ejecución de scripts | Contenido deofuscado de scripts |
Motor de detección
Firmas (signatures)
Defender mantiene una base de datos de firmas actualizada varias veces al día:
- Definiciones locales: archivos .vdm en
C:\ProgramData\Microsoft\Windows Defender\Definition Updates\ - Cloud signatures: firmas adicionales en la nube (no descargadas localmente)
- Dynamic signatures: firmas generadas en respuesta a amenazas emergentes (horas vs días)
Heurísticas
Reglas que detectan patrones de comportamiento sospechoso sin necesidad de una firma exacta:
- Código que llama a APIs de inyección en secuencia
- Ejecutables con alta entropía (packing)
- Scripts que descargan y ejecutan código
- Procesos que acceden a credenciales
Machine Learning
Modelos ML entrenados con millones de muestras:
- Clasificador local (ligero, en el endpoint)
- Clasificador cloud (más pesado, mayor precisión)
- Análisis de features del PE: imports, secciones, strings, entropía
Cloud Protection (MAPS)
Microsoft Active Protection Service envía metadatos (y a veces muestras) de archivos sospechosos a la nube de Microsoft:
- Defender encuentra un archivo desconocido
- Envía hash y metadatos a la nube
- Cloud analiza en sandbox y con ML avanzado
- Retorna veredicto en segundos
- Si es malware, se bloquea y se crea firma dinámica
Block at First Sight: con cloud protection habilitado, Defender puede bloquear un archivo desconocido mientras espera el veredicto del cloud (hasta 60 segundos). Esto es efectivo contra malware zero-day.
Attack Surface Reduction (ASR) Rules
Las ASR rules son una de las defensas más infravaloradas de Defender. Son gratuitas con cualquier licencia de Windows 10/11 y bloquean técnicas específicas de malware.
ASR Rules más importantes
| Regla | GUID | Qué bloquea |
|---|---|---|
| Block Office apps from creating child processes | d4f940ab-401b-4efc-aadc-ad5f3c50688a | Word/Excel spawning cmd, PowerShell |
| Block Office apps from creating executable content | 3b576869-a4ec-4529-8536-b80a7769e899 | Macros que escriben .exe en disco |
| Block Office apps from injecting code | 75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84 | Macros que inyectan en procesos |
| Block JavaScript/VBScript from launching downloads | d3e037e1-3eb8-44c8-a917-57927947596d | Scripts que descargan payloads |
| Block execution of potentially obfuscated scripts | 5beb7efe-fd9a-4556-801d-275e5ffc04cc | PowerShell ofuscado |
| Block credential stealing from LSASS | 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 | Protege LSASS contra dump |
| Block process creations from PSExec/WMI | d1e49aac-8f56-4280-b9ba-993a6d77406c | PsExec y WMI lateral movement |
| Block untrusted/unsigned processes from USB | b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 | Malware USB |
| Block Win32 API calls from Office macros | 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b | Macros llamando a WinAPI |
| Block persistence through WMI event subscription | e6db77e5-3df2-4cf1-b95a-636979351e5b | WMI persistence |
Modos de ASR
| Modo | Efecto | Recomendación |
|---|---|---|
| Not configured | Regla inactiva | No recomendado |
| Block | Bloquea la acción y genera evento | Producción (tras testing) |
| Audit | Permite la acción pero genera evento | Testing (2-4 semanas antes de Block) |
| Warn | Muestra advertencia al usuario, permite si confirma | Transición |
Recomendación: activar todas las ASR rules en modo Audit durante 2-4 semanas para identificar falsos positivos, luego cambiar a Block.
Configuración vía PowerShell
# Habilitar ASR rule en modo Block
Set-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Enabled
# Habilitar ASR rule en modo Audit
Set-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions AuditMode
# Ver estado de todas las ASR rules
Get-MpPreference | Select-Object AttackSurfaceReductionRules_Ids, AttackSurfaceReductionRules_Actions
Tamper Protection
Qué protege
Tamper Protection impide que software (incluido malware con admin) modifique la configuración de Defender:
- No se puede desactivar real-time protection
- No se puede desactivar cloud protection
- No se puede modificar exclusiones localmente
- No se puede desinstalar Defender
- No se puede detener el servicio MsMpEng.exe
Cómo funciona
Con Tamper Protection activo, los cambios a la configuración de Defender solo se pueden realizar desde:
- Microsoft 365 Defender portal (cloud)
- Microsoft Intune
- Microsoft Endpoint Configuration Manager
Los cambios locales (PowerShell, registro, GPO) son ignorados silenciosamente.
Estado por defecto
- Windows 10/11 Home: activo por defecto
- Windows 10/11 Enterprise: debe habilitarse explícitamente via Intune/MDE
- Windows Server: debe habilitarse explícitamente
Técnicas de bypass de Defender
Bypass 1: AMSI bypass (scripts)
Cubierto en detalle en el artículo de AMSI. Patchear AmsiScanBuffer o amsiInitFailed para que Defender no escanee scripts PowerShell.
Bypass 2: Abuso de exclusiones
Si el malware puede leer las exclusiones configuradas, puede colocar sus archivos en paths excluidos:
# Leer exclusiones (requiere admin)
Get-MpPreference | Select-Object ExclusionPath, ExclusionExtension, ExclusionProcess
Las exclusiones se almacenan en el registro:
HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths
HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\Extensions
HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\Processes
Mitigación: minimizar exclusiones. Nunca excluir directorios amplios como C:\Users o C:\ProgramData. Monitorizar cambios en las exclusiones.
Bypass 3: Desactivación vía PowerShell (sin Tamper Protection)
# Solo funciona si Tamper Protection esta DESACTIVADO
Set-MpPreference -DisableRealtimeMonitoring $true
Set-MpPreference -DisableBehaviorMonitoring $true
Set-MpPreference -DisableIOAVProtection $true
Set-MpPreference -DisableBlockAtFirstSeen $true
Mitigación: habilitar Tamper Protection.
Bypass 4: BYOVD para matar MsMpEng.exe
Usar un driver vulnerable firmado para obtener kernel access y terminar el proceso de Defender:
1. Cargar driver vulnerable (ej. gdrv.sys, DBUtil)
2. Usar el driver para obtener kernel-mode execution
3. Terminar MsMpEng.exe desde kernel (bypasea PPL)
Mitigación: HVCI (Hypervisor-protected Code Integrity) + Microsoft Vulnerable Driver Blocklist.
Bypass 5: Timestomping + evasión de cloud
Modificar el timestamp del archivo para que parezca antiguo y evitar que Defender lo envíe al cloud (Block at First Sight analiza archivos "nuevos"):
(Get-Item payload.exe).CreationTime = '2020-01-01'
(Get-Item payload.exe).LastWriteTime = '2020-01-01'
Bypass 6: Ofuscación y packing
Cambiar la firma del binario con packers o crypters para evadir detección por firmas. Cubierto en el artículo de evasión de antivirus.
Hardening de Defender: checklist
Configuración recomendada
- Cloud protection: habilitado (Set-MpPreference -MAPSReporting Advanced)
- Block at First Sight: habilitado
- Tamper Protection: habilitado (via Intune/MDE)
- ASR rules: todas en modo Block (tras período de Audit)
- Real-time protection: habilitado
- Behavioral monitoring: habilitado
- PUA detection: habilitado (Set-MpPreference -PUAProtection Enabled)
- Exclusiones: mínimas y documentadas
- Actualizaciones: automáticas, verificar que no están atrasadas
- Network protection: habilitado (bloquea conexiones a dominios maliciosos)
- Controlled Folder Access: habilitado para directorios críticos (anti-ransomware)
Controlled Folder Access (anti-ransomware nativo)
Defender incluye protección nativa contra ransomware:
# Habilitar Controlled Folder Access
Set-MpPreference -EnableControlledFolderAccess Enabled
# Añadir carpetas protegidas
Add-MpPreference -ControlledFolderAccessProtectedFolders "D:\Finance"
# Añadir aplicaciones permitidas
Add-MpPreference -ControlledFolderAccessAllowedApplications "C:\Program Files\CustomApp\app.exe"
Solo las aplicaciones explícitamente permitidas pueden escribir en las carpetas protegidas. El ransomware (que no está en la lista) no puede cifrar archivos en esas carpetas.
Fuentes y referencias
- Microsoft. "Microsoft Defender Antivirus." Microsoft Docs.
- Microsoft. "Attack Surface Reduction Rules." Microsoft Docs.
- Microsoft. "Tamper Protection." Microsoft Docs.
- Microsoft. "Controlled Folder Access." Microsoft Docs.
- AV-TEST. "Microsoft Defender Test Results 2024-2025." av-test.org
- MITRE ATT&CK. "Impair Defenses (T1562)." https://attack.mitre.org/techniques/T1562/
- Red Canary. "Windows Defender ASR Rules Guide." 2024.
- Elastic Security Labs. "Defender Bypass Techniques." 2023.
Preguntas frecuentes
Libros recomendados
Artículos relacionados
AMSI Bypass: Técnicas de Evasión y Contramedidas Defensivas
Evasión de Antivirus: Ofuscación, Packers y Crypters
EDR Internals: Cómo Funcionan y Cómo se Evaden
Analisis de DLLs y Handles en Memoria: dlllist, handles y Deteccion de Inyeccion
Analisis de Procesos en Memoria Windows: pslist, pstree y Deteccion de Anomalias
Registro de Windows en Memoria: hivelist, printkey y Extraccion de Artefactos
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.