Rompe La Cáscara Protectora De Windows Defender Con La Técnica De Redirección De Carpetas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El artículo demuestra un método de secuestro de Windows Defender que abusa de la redirección de carpetas colocando un directorio de enlace simbólico dentro de la ruta de la Plataforma de Defender y apuntándolo a una ubicación controlada por el atacante. Al asignar al directorio symlink un número de “versión” más alto que el directorio legítimo de la plataforma, Defender puede seleccionar la ruta controlada por el atacante después de reiniciar y cargar sus componentes desde allí. Esto crea oportunidades para la carga lateral de DLL, eliminación selectiva de archivos o incluso la interrupción operativa del servicio Defender.
Investigación
El flujo de trabajo del autor copia la carpeta de la plataforma activa de Defender en un directorio temporal controlado por el atacante, luego crea un enlace simbólico en la ubicación de la Plataforma (a través de mklink /D) usando un identificador de versión fabricado y más alto. Después de un reinicio, se observa que Defender se ejecuta desde el directorio redirigido, lo que permite manipulaciones posteriores como el secuestro de DLL o la eliminación de binarios para interferir con el inicio y la protección de Defender.
Mitigación
Minimice el riesgo limitando estrictamente los permisos de escritura en el directorio de la Plataforma de Windows Defender y monitoreando la creación sospechosa de enlaces simbólicos o subcarpetas de “estilo versión” inesperadas. Implemente controles de integridad para los binarios de Defender y alerte sobre cambios en las rutas de ejecución o el comportamiento de selección de directorios de la plataforma. Cuando sea factible, aplique Windows Defender Application Control (WDAC) o políticas de endurecimiento equivalentes para prevenir cambios no autorizados en ubicaciones del sistema protegidas.
Respuesta
Alerta cuando aparezcan nuevas carpetas de enlace simbólico bajo C:ProgramDataMicrosoftWindows DefenderPlatform o cuando se use mklink para apuntar a ese directorio. Valide la integridad de los archivos de Defender y confirme que los binarios en ejecución provengan de la carpeta de plataforma esperada. Si se confirma la manipulación, elimine el symlink malicioso y restaure los archivos de la plataforma Defender desde una fuente confiable, luego reinicie los servicios de Defender y revalide las protecciones en todo el host.
graph TB %% Definiciones de Clases classDef action fill:#99ccff classDef technique fill:#ffcc99 %% Nodos de Acción action_create_symlink[«<b>Acción</b> – Crear carpeta de enlace simbólico en la Plataforma Defender<br/><b>Detalles</b>: El enlace apunta a C:\TMP\AV con un número de versión superior»] class action_create_symlink action action_copy_binaries[«<b>Acción</b> – Copiar los binarios originales de Defender a un directorio controlado por el atacante»] class action_copy_binaries action action_place_malicious_dll[«<b>Acción</b> – Colocar DLL maliciosas en la carpeta comprometida»] class action_place_malicious_dll action action_cleanup[«<b>Acción</b> – Eliminar la carpeta de enlace simbólico para borrar evidencias»] class action_cleanup action %% Nodos de Técnicas tech_T1574_009[«<b>Técnica</b> – T1574.009 Secuestro de Component Object Model<br/><b>Descripción</b>: Abusar del registro COM para hacer que un servicio legítimo cargue código controlado por el atacante»] class tech_T1574_009 technique tech_T1218[«<b>Técnica</b> – T1218 Ejecución Proxy de Binarios Firmados<br/><b>Descripción</b>: Usar binarios firmados de confianza para ejecutar cargas maliciosas»] class tech_T1218 technique tech_T1055_001[«<b>Técnica</b> – T1055.001 Inyección de Procesos: Inyección DLL<br/><b>Descripción</b>: Cargar una DLL maliciosa en el espacio de direcciones de un proceso legítimo»] class tech_T1055_001 technique tech_T1546_009[«<b>Técnica</b> – T1546.009 Ejecución de DLL de Certificación de Aplicaciones<br/><b>Descripción</b>: Forzar al sistema a cargar una DLL maliciosa mediante mecanismos AppCert»] class tech_T1546_009 technique tech_T1070_004[«<b>Técnica</b> – T1070.004 Eliminación de Archivos<br/><b>Descripción</b>: Eliminar archivos o directorios para ocultar actividad maliciosa»] class tech_T1070_004 technique tech_T1562[«<b>Técnica</b> – T1562 Deteriorar Defensas<br/><b>Descripción</b>: Interrumpir o desactivar herramientas y funciones de seguridad»] class tech_T1562 technique %% Conexiones action_create_symlink –>|usa| tech_T1574_009 tech_T1574_009 –>|habilita| action_copy_binaries action_copy_binaries –>|usa| tech_T1218 action_copy_binaries –>|prepara| action_place_malicious_dll action_place_malicious_dll –>|utiliza| tech_T1055_001 action_place_malicious_dll –>|utiliza| tech_T1546_009 action_place_malicious_dll –>|conduce a| action_cleanup action_cleanup –>|usa| tech_T1070_004 tech_T1070_004 –>|resulta en| tech_T1562
Flujo de ataque
Ejecución de Simulación
Prerequisito: El Chequeo de Telemetría y Línea Base Previa debe haber pasado.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar exactamente la telemetría esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.
-
Narrativa y Comandos de Ataque:
El adversario ha comprometido una cuenta de usuario de bajo privilegio en el host objetivo. Su objetivo es cargar una carga maliciosa cuando Windows Defender se inicie, redirigiendo la carpeta de “Plataforma” de Defender a una ubicación que controlan. Realizan los siguientes pasos:- Crear un directorio de preparación (
C:TMPAV) que contendrá las DLLs maliciosas. - Poblar el directorio de preparación con una DLL diseñada llamada
MpEngine.dll(el nombre esperado por Defender). - Crear un enlace simbólico de directorio llamado
C:ProgramDataMicrosoftWindows DefenderPlatform{aleatorio}que apunta al directorio de preparación, usando tanto la utilidad nativamklink(para activar la regla de Sigma) y la de PowerShellNew‑Item(para probar la evasión de la regla). - Reiniciar el Servicio de Windows Defender para forzar la carga desde la ruta secuestrada.
- Crear un directorio de preparación (
-
Script de Prueba de Regresión:
# ============================== # Simulación de Secuestro de Carpeta # ============================== $defenderPlatform = "C:ProgramDataMicrosoftWindows DefenderPlatform" $attackerStaging = "C:TMPAV" $linkName = "$defenderPlatformHijackTarget" # 1. Prepare el directorio de preparación New-Item -Path $attackerStaging -ItemType Directory -Force | Out-Null # 2. Deje caer una DLL maliciosa ficticia (marcador de posición) $dummyDll = "$attackerStagingMpEngine.dll" Set-Content -Path $dummyDll -Value "CONTENIDO DE DLL MALICIOSO" -Encoding ASCII # 3a. Crear enlace simbólico vía mklink nativo (activa la regla de Sigma) cmd /c "mklink /D `"$linkName`" `"$attackerStaging`"" # 3b. Crear enlace simbólico vía PowerShell (prueba evasión) $psLink = "$defenderPlatformHijackTarget_PS" New-Item -ItemType SymbolicLink -Path $psLink -Target $attackerStaging -Force # 4. Reiniciar Servicio de Windows Defender (requiere admin) # Nota: Este paso puede ser bloqueado en un entorno fortalecido; incluido para completitud. Restart-Service -Name "WinDefend" -Force -
Comandos de Limpieza:
# Eliminar enlaces simbólicos creados y archivos de preparación $links = @( "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget", "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget_PS" ) foreach ($l in $links) { if (Test-Path $l) { Remove-Item $l -Force } } $staging = "C:TMPAV" if (Test-Path $staging) { Remove-Item $staging -Recurse -Force } # Opcionalmente restaure la carpeta de la plataforma Defender si es necesario (no requerido para la simulación)