SOC Prime Bias: Critique

24 Nov 2025 09:15 UTC

Perspectives sur NotDoor : Plongée Profonde dans les Macros Outlook et Au-delà

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Suivre
Perspectives sur NotDoor : Plongée Profonde dans les Macros Outlook et Au-delà
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Cet article examine le cheval de Troie NotDoor, qui abuse des macros VBA malveillantes d’Outlook pour maintenir la persistance et fournir une commande et un contrôle. La charge utile est livrée via le chargement de bibliothèque dynamique (DLL) détourné d’un SSPICLI.dll qui imite un OneDrive.exe légitime. Des scripts PowerShell obscurcis gèrent l’exfiltration de données via des services de webhook et modifient les paramètres du registre d’Outlook pour forcer l’exécution des macros. Les conseils de détection se concentrent sur le suivi de la création de fichiers suspects, l’activité de chargement de DLL, les modifications du registre et les commandes PowerShell encodées.

Analyse du Cheval de Troie NotDoor

Une analyse plus approfondie révèle que la DLL malveillante crée un répertoire temporaire, écrit une charge utile dans le fichier VBAProject.OTM d’Outlook et configure les clés de registre pour permettre toutes les macros. Elle exécute ensuite des instructions PowerShell encodées en base64 qui émettent des rappels DNS et HTTP à webhook.site and dnshook.site. Les modifications du registre incluent l’activation de LoadMacroProviderOnBoot, l’abaissement du niveau de sécurité d’Outlook et la modification de PONT_STRING pour supprimer les invites de sécurité.

Atténuation

Les principales atténuations incluent la limitation des opportunités de chargement de DLL détournées, l’imposition de règles de signature de code pour les exécutables, la surveillance de la création de VBAProject.OTM par des processus non-Outlook, et le blocage des connexions sortantes vers les domaines de webhook identifiés. De plus, les équipes peuvent appliquer des principes de privilège le plus bas aux modifications du registre et désactiver le chargement automatique des macros lorsque cela est faisable.

Réponse

Lorsqu’une activité NotDoor est détectée, isolez le point de terminaison compromis, acquérez la DLL malveillante et les charges utiles associées, et effectuez un examen judiciaire des modifications du registre et des traces réseau. Bloquez les domaines et IP associés, lancez une recherche plus large pour des comportements de chargement de DLL similaires, réinitialisez les politiques de macros d’Outlook, et vérifiez que tous les paramètres de sécurité des utilisateurs sont revenus à un état renforcé.

Flux d’Attaque

Exécution de Simulation

Préalable : La Vérification de Pré-Vol de la Télémétrie et de la Base de Référence doit avoir été réussie.

Rationalité : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et viser à générer la télémétrie exacte attendue par la logique de détection.

  • Narration & Commandes de l’Attaque :
    Un attaquant qui a obtenu l’exécution au niveau utilisateur sur la machine victime déploie le malware NotDoor. Le but du malware est de s’assurer qu’Outlook charge automatiquement une macro malveillante au démarrage du système, désactive les avertissements de sécurité et supprime les fenêtres contextuelles de dialogue. Pour y parvenir, l’attaquant écrit trois valeurs spécifiques de registre sous la ruche Outlook :

    1. LoadMacroProviderOnBoot défini sur 1 sous HKCUSoftwareMicrosoftOutlook – force Outlook à charger le fournisseur de macros à chaque démarrage.
    2. Niveau défini sur 1 sous HKCUSoftwareMicrosoftOutlookSecurity – abaisse le niveau de sécurité des macros.
    3. PONT_STRING défini sur un CLSID malveillant sous HKCUSoftwareMicrosoftOutlookOptionsGeneral – indique à Outlook la DLL de macro malveillante.

    Ces écritures génèrent des événements de changement de registre qui satisfont sélection1 and (sélection2 or sélection3) dans la règle Sigma, provoquant le déclenchement de l’alerte.

  • Script de Test de Régression :

    # Simulation de modification de registre NotDoor – PowerShell
    function Set-NotDoorOutlookRegistry {
        # 1. Activer le fournisseur de macros au démarrage
        New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlook" `
            -Name "LoadMacroProviderOnBoot" -Value 1 -PropertyType DWORD -Force
    
        # 2. Abaisser le niveau d'avertissement de sécurité
        New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookSecurity" `
            -Name "Level" -Value 1 -PropertyType DWORD -Force
    
        # 3. Pointer vers la macro malveillante (CLSID simulé)
        $maliciousClsid = "{12345678-1234-1234-1234-123456789ABC}"
        New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookOptionsGeneral" `
            -Name "PONT_STRING" -Value $maliciousClsid -PropertyType String -Force
    }
    
    # Exécuter l'attaque simulée
    Set-NotDoorOutlookRegistry
  • Commandes de Nettoyage :

    # Supprimer les modifications de registre NotDoor simulées
    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