NotDoor Einblicke: Tiefgründige Analyse von Outlook-Makros und darüber hinaus
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Dieser Artikel untersucht die NotDoor-Hintertür, die bösartige Outlook-VBA-Makros missbraucht, um Persistenz zu gewährleisten und Command-and-Control bereitzustellen. Die Nutzlast wird über DLL-Sideloading einer manipulierten SSPICLI.dll , die eine legitime OneDrive.exe Binärdatei nachahmt. Verschleierte PowerShell-Skripte verwalten die Datenexfiltration über Webhook-Dienste und ändern die Outlook-Registry-Einstellungen, um die Makroausführung zu erzwingen. Die Erkennungshinweise konzentrieren sich auf die Verfolgung verdächtiger Dateierstellung, DLL-Ladeaktivitäten, Registry-Änderungen und kodierte PowerShell-Befehle.
Analyse der NotDoor-Hintertür
Weiterführende Analysen zeigen, dass die gefälschte DLL ein temporäres Verzeichnis erstellt, eine Nutzlast in die Outlook VBAProject.OTM -Datei schreibt und Registrierungsschlüssel konfiguriert, um alle Makros zuzulassen. Anschließend werden base64-kodierte PowerShell-Anweisungen ausgeführt, die DNS- und HTTP-Callbacks an webhook.site and dnshook.siteausgeben. Registry-Änderungen umfassen das Aktivieren von LoadMacroProviderOnBoot, das Senken des Sicherheitsniveaus in Outlook und das Ändern von PONT_STRING , um Sicherheitshinweise zu unterdrücken.
Minderung
Wichtige Maßnahmen zur Minderung umfassen die Begrenzung von DLL-Sideloading-Möglichkeiten, die Durchsetzung von Codesignaturanforderungen für ausführbare Dateien, die Überwachung der Erstellung von VBAProject.OTM durch keine Outlook-Prozesse und das Blockieren ausgehender Verbindungen zu den identifizierten Webhook-Domains. Zusätzlich können Teams Prinzipien des geringsten Privilegs auf Registrierungsmeldungen anwenden und das automatische Laden von Makros deaktivieren, wo immer es möglich ist.
Reaktion
Wird eine NotDoor-Aktivität erkannt, isolieren Sie den kompromittierten Endpunkt, erfassen Sie die bösartige DLL und zugehörige Nutzlasten und führen Sie eine forensische Überprüfung von Registrierungseinträgen und Netzwerkspuren durch. Blockieren Sie zugehörige Domains und IPs, starten Sie eine umfassendere Untersuchung ähnlicher DLL-Sideloading-Verhaltensweisen, setzen Sie die Outlook-Makro-Richtlinien zurück und stellen Sie sicher, dass die Sicherheitseinstellungen aller Benutzer wieder gehärtet sind.
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>Action</b> – Initialer Zugriff über bestehenden Zugangspunkt“] class initial_access action dll_sideload[„<b>Technique</b> – <b>T1574.001 Hijack Execution Flow: DLL</b><br/>OneDrive.exe lädt die bösartige SSPICLI.dll über DLL-Sideloading“] class dll_sideload technique powershell[„<b>Technique</b> – <b>T1059.001 Command and Scripting Interpreter: PowerShell</b><br/>Base64-kodierte PowerShell-Befehle werden für Netzwerkprüfungen und Dateikopien ausgeführt“] class powershell technique office_macro[„<b>Technique</b> – <b>T1137.001 Office Application Startup: Office Template Macros</b><br/>VBA-Makro wird in %APPDATA%\\Microsoft\\Outlook\\VbaProject.OTM abgelegt“] class office_macro technique vba_stomping[„<b>Technique</b> – <b>T1564.007 Hide Artifacts: VBA Stomping</b><br/>Makro überwacht eingehende E-Mails (Application_NewMailEx) auf C2-Trigger und exfiltriert Daten“] class vba_stomping technique vb_interpreter[„<b>Technique</b> – <b>T1059.005 Command and Scripting Interpreter: Visual Basic</b><br/>VBA-Code führt Befehle aus und kommuniziert über Outlook“] class vb_interpreter technique %% Nodes – Files / Objects file_oneDrive[„<b>File</b> – OneDrive.exe“] class file_oneDrive file file_sspicli[„<b>File</b> – SSPICLI.dll“] class file_sspicli file file_vba[„<b>File</b> – VbaProject.OTM“] class file_vba file email_monitor[„<b>Object</b> – Outlook-Anwendung<br/>Überwacht eingehende E-Mails (Application_NewMailEx)“] class email_monitor action outlook_comm[„<b>Object</b> – Outlook<br/>Kommuniziert mit C2 und exfiltriert Daten“] class outlook_comm action %% Connections – Flow of the attack initial_access –>|führt zu| dll_sideload dll_sideload –>|nutzt| file_oneDrive dll_sideload –>|lädt| file_sspicli dll_sideload –>|löst aus| powershell powershell –>|führt zu| office_macro office_macro –>|platziert| file_vba office_macro –>|aktiviert| vba_stomping office_macro –>|aktiviert| vb_interpreter vba_stomping –>|überwacht| email_monitor vb_interpreter –>|kommuniziert über| outlook_comm
Angriffsfluss
Erkennungen
Erkennung von bösartigen Registrierungsmeldungen durch NotDoor-Malware [Windows-Registrierungsereignis]
Anzeigen
Ausführung von kodierten Powershell-Befehlen [Windows Powershell]
Anzeigen
IOCs (HashSha256) zur Erkennung: NotDoor Insights: Ein näherer Blick auf Outlook-Makros und mehr
Anzeigen
Outlook über mailbasierte Persistenz (via file_event)
Anzeigen
Möglicher Missbrauch von Outlook / Sicherheitsabstufung (via registry_event)
Anzeigen
Simulation Ausführung
Voraussetzung: Der Telemetrie- & Baseline-Preflight-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angreifertechnik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genau erwartete Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.
-
Angriffsaufriss & Befehle:
Ein Angreifer, der Benutzerrechte auf der Opfermaschine erlangt hat, setzt die NotDoor-Malware ein. Das Ziel der Malware ist es, sicherzustellen, dass Outlook beim Systemstart automatisch ein bösartiges Makro lädt, Sicherheitswarnungen deaktiviert und Dialog-Popups unterdrückt. Um dies zu erreichen, schreibt der Angreifer drei spezifische Registry-Werte in den Outlook-Zweig:LoadMacroProviderOnBootgesetzt auf1unterHKCUSoftwareMicrosoftOutlook– zwingt Outlook dazu, den Makro-Provider bei jedem Start zu laden.Levelgesetzt auf1unterHKCUSoftwareMicrosoftOutlookSecurity– senkt das Makro-Sicherheitsniveau.PONT_STRINGgesetzt auf eine bösartige CLSID unterHKCUSoftwareMicrosoftOutlookOptionsGeneral– weist Outlook auf die bösartige Makro-DLL hin.
Diese Schreibaktionen erzeugen Registrierungsänderungsevents, die
Auswahl1and (Auswahl2orAuswahl3) in der Sigma-Regel erfüllen und dadurch den Alarm auslösen. -
Regressionstestskript:
# NotDoor Registrierungnsänderungssimulation – PowerShell function Set-NotDoorOutlookRegistry { # 1. Aktivieren des Makro-Providers beim Start New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlook" ` -Name "LoadMacroProviderOnBoot" -Value 1 -PropertyType DWORD -Force # 2. Sicherheitswarnstufe senken New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookSecurity" ` -Name "Level" -Value 1 -PropertyType DWORD -Force # 3. Auf bösartiges Makro zeigen (simulierte CLSID) $maliciousClsid = "{12345678-1234-1234-1234-123456789ABC}" New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookOptionsGeneral" ` -Name "PONT_STRING" -Value $maliciousClsid -PropertyType String -Force } # Simulierten Angriff ausführen Set-NotDoorOutlookRegistry -
Bereinigungsbefehle:
# Entfernen der simulierten NotDoor-Registrierungsänderungen 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