Perspectives sur NotDoor : Plongée Profonde dans les Macros Outlook et Au-delà
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
Détections
Détection des Modifications Malveillantes du Registre par le Malware NotDoor [Événement du Registre Windows]
Voir
Exécution de Commandes PowerShell Encodées [Windows PowerShell]
Voir
IOCs (HashSha256) pour détecter : Insights NotDoor : Un Regard Approfondi sur les Macros Outlook et Plus
Voir
Persistance basée sur les mails Outlook (via file_event)
Voir
Abus Possibles d’Outlook / Réduction de la Sécurité (via registry_event)
Voir
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 :-
LoadMacroProviderOnBootdéfini sur1sousHKCUSoftwareMicrosoftOutlook– force Outlook à charger le fournisseur de macros à chaque démarrage. -
Niveaudéfini sur1sousHKCUSoftwareMicrosoftOutlookSecurity– abaisse le niveau de sécurité des macros. -
PONT_STRINGdéfini sur un CLSID malveillant sousHKCUSoftwareMicrosoftOutlookOptionsGeneral– indique à Outlook la DLL de macro malveillante.
Ces écritures génèrent des événements de changement de registre qui satisfont
sélection1and (sélection2orsé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