SOC Prime Bias: Crítico

24 Nov 2025 09:15 UTC

NotDoor Perspectivas: Profundizando en Macros de Outlook y Más Allá

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
NotDoor Perspectivas: Profundizando en Macros de Outlook y Más Allá
shield icon

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.

Flujo de Ataque

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:

    1. LoadMacroProviderOnBoot ajustado a 1 bajo HKCUSoftwareMicrosoftOutlook – fuerza a Outlook a cargar el proveedor de macros en cada inicio.
    2. Nivel ajustado a 1 bajo HKCUSoftwareMicrosoftOutlookSeguridad – disminuye el nivel de seguridad de las macros.
    3. PONT_STRING ajustado a un CLSID malicioso bajo HKCUSoftwareMicrosoftOutlookOpcionesGeneral – dirige a Outlook al DLL de macro malicioso.

    Estas escrituras generan eventos de Cambio en el Registro que satisfacen selección1 and (selección2 or selecció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