NotDoor Perspectivas: Profundizando en Macros de Outlook y Más Allá
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Este artículo examina el backdoor NotDoor, que abusa de macros maliciosas de VBA de Outlook para mantener la persistencia y ofrecer comando y control. El payload se entrega mediante DLL sideloading de una SSPICLI.dll que suplanta a un OneDrive.exe binario legítimo. Scripts de PowerShell ofuscados manejan la exfiltración de datos a través de servicios webhook y ajustan configuraciones del registro de Outlook para forzar la ejecución de macros. La guía de detección se centra en rastrear la creación de archivos sospechosos, actividad de carga de DLL, cambios en el registro y comandos de PowerShell codificados.
Análisis del Backdoor NotDoor
Un análisis más detallado revela que la DLL maliciosa crea un directorio temporal, escribe un payload en el archivo VBAProject.OTM de Outlook, y configura claves del registro para permitir todas las macros. Luego ejecuta instrucciones de PowerShell codificadas en base64 que emiten callbacks DNS y HTTP a webhook.site and dnshook.site. Los cambios en el registro incluyen habilitar LoadMacroProviderOnBoot, reducir el nivel de seguridad de Outlook y modificar PONT_STRING para suprimir alertas de seguridad.
Mitigación
Las mitigaciones clave incluyen limitar las oportunidades de DLL sideloading, reforzar los requisitos de firma de código para los ejecutables, monitorear la creación de VBAProject.OTM por procesos no asociados a Outlook, y bloquear las conexiones salientes a los dominios webhook identificados. Además, los equipos pueden aplicar principios de menor privilegio a las modificaciones del registro y desactivar la carga automática de macros donde sea posible.
Respuesta
Cuando se detecta actividad de NotDoor, debe aislarse el endpoint comprometido, adquirir la DLL maliciosa y los payloads relacionados, y realizar una revisión forense de las ediciones de registro y trazas de red. Bloquear los dominios e IPs asociados, iniciar una búsqueda más amplia de comportamientos similares de DLL sideloading, restablecer las políticas de macros de Outlook y verificar que todas las configuraciones de seguridad de los usuarios se vuelvan a un estado reforzado.
graph TB %% Class definitions classDef technique fill:#ffcc99 classDef tool fill:#cccccc classDef file fill:#e6e6fa classDef action fill:#99ccff classDef operator fill:#ff9900 %% Nodes – Actions / Techniques initial_access[«<b>Acción</b> – Acceso inicial mediante un punto de apoyo existente»] class initial_access action dll_sideload[«<b>Técnica</b> – <b>T1574.001 Secuestro del flujo de ejecución: DLL</b><br/>OneDrive.exe carga la DLL maliciosa SSPICLI.dll mediante DLL sideloading»] class dll_sideload technique powershell[«<b>Técnica</b> – <b>T1059.001 Intérprete de comandos y scripting: PowerShell</b><br/>Comandos de PowerShell codificados en Base64 ejecutados para comprobaciones de red y copia de archivos»] class powershell technique office_macro[«<b>Técnica</b> – <b>T1137.001 Inicio de aplicaciones de Office: macros de plantillas de Office</b><br/>Macro VBA colocada en %APPDATA%\\Microsoft\\Outlook\\VbaProject.OTM»] class office_macro technique vba_stomping[«<b>Técnica</b> – <b>T1564.007 Ocultar artefactos: VBA Stomping</b><br/>La macro supervisa el correo entrante (Application_NewMailEx) para disparadores de C2 y exfiltra datos»] class vba_stomping technique vb_interpreter[«<b>Técnica</b> – <b>T1059.005 Intérprete de comandos y scripting: Visual Basic</b><br/>El código VBA ejecuta comandos y se comunica a través de Outlook»] class vb_interpreter technique %% Nodes – Files / Objects file_oneDrive[«<b>Archivo</b> – OneDrive.exe»] class file_oneDrive file file_sspicli[«<b>Archivo</b> – SSPICLI.dll»] class file_sspicli file file_vba[«<b>Archivo</b> – VbaProject.OTM»] class file_vba file email_monitor[«<b>Objeto</b> – Aplicación Outlook<br/>Supervisa el correo entrante (Application_NewMailEx)»] class email_monitor action outlook_comm[«<b>Objeto</b> – Outlook<br/>Se comunica con C2 y exfiltra datos»] class outlook_comm action %% Connections – Flow of the attack initial_access u002du002d>|conduce_a| dll_sideload dll_sideload u002du002d>|usa| file_oneDrive dll_sideload u002du002d>|carga| file_sspicli dll_sideload u002du002d>|dispara| powershell powershell u002du002d>|conduce_a| office_macro office_macro u002du002d>|coloca| file_vba office_macro u002du002d>|habilita| vba_stomping office_macro u002du002d>|habilita| vb_interpreter vba_stomping u002du002d>|supervisa| email_monitor vb_interpreter u002du002d>|se_comunica_vía| outlook_comm
Flujo de Ataque
Detecciones
Detección de Modificaciones Maliciosas del Registro por Malware NotDoor [Evento del Registro de Windows]
Ver
Ejecución de Comandos PowerShell Codificados [PowerShell de Windows]
Ver
IOCs (HashSha256) para detectar: NotDoor Información: Un Examen Más Cercano a las Macros de Outlook y Más
Ver
Outlook en persistencia basada en correo (vía file_event)
Ver
Posible Abuso de Outlook / Degradación de Seguridad (vía registry_event)
Ver
Ejecución de Simulación
Prerequisito: La Verificación Previa de Telemetría y Línea de Base debe haber sido superada.
Justificación: 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 la telemetría exacta esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos:
Un atacante que ha obtenido ejecución a nivel de usuario en la máquina víctima despliega el malware NotDoor. El objetivo del malware es asegurar que Outlook cargue automáticamente una macro maliciosa en el inicio del sistema, deshabilite las advertencias de seguridad y suprima los cuadros de diálogo. Para lograr esto, el atacante escribe tres valores de registro específicos bajo la jerarquía de Outlook:LoadMacroProviderOnBootajustado a1bajoHKCUSoftwareMicrosoftOutlook– fuerza a Outlook a cargar el proveedor de macros en cada inicio.Nivelajustado a1bajoHKCUSoftwareMicrosoftOutlookSeguridad– disminuye el nivel de seguridad de las macros.PONT_STRINGajustado a un CLSID malicioso bajoHKCUSoftwareMicrosoftOutlookOpcionesGeneral– dirige a Outlook al DLL de macro malicioso.
Estas escrituras generan eventos de Cambio en el Registro que satisfacen
selección1and (selección2orselección3) en la regla Sigma, provocando que se active la alerta. -
Script de Prueba de Regresión:
# Simulación de modificación del registro NotDoor – PowerShell function Set-NotDoorOutlookRegistry { # 1. Habilitar el proveedor de macros en el inicio New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlook" ` -Name "LoadMacroProviderOnBoot" -Value 1 -PropertyType DWORD -Force # 2. Reducir el nivel de advertencia de seguridad New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookSecurity" ` -Name "Level" -Value 1 -PropertyType DWORD -Force # 3. Señalar macro maliciosa (CLSID simulado) $maliciousClsid = "{12345678-1234-1234-1234-123456789ABC}" New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookOptionsGeneral" ` -Name "PONT_STRING" -Value $maliciousClsid -PropertyType String -Force } # Ejecutar el ataque simulado Set-NotDoorOutlookRegistry -
Comandos de Limpieza:
# Eliminar las modificaciones del registro simuladas de NotDoor Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlook" ` -Name "LoadMacroProviderOnBoot" -ErrorAction SilentlyContinue Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookSecurity" ` -Name "Level" -ErrorAction SilentlyContinue Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookOptionsGeneral" ` -Name "PONT_STRING" -ErrorAction SilentlyContinue