Durchbreche Die Schutzhülle Von Windows Defender Mit Der Ordner-Umleitungstechnik
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Der Artikel demonstriert eine Methode zur Hijack von Windows Defender, die die Ordnerumleitung missbraucht, indem ein symbolischer Verzeichnispfad im Defender Platform-Verzeichnis platziert und auf einen vom Angreifer kontrollierten Ort umgeleitet wird. Indem dem Symlink-Ordner eine höhere „Versionsnummer“ als dem legitimen Plattformverzeichnis zugewiesen wird, kann es sein, dass Defender nach einem Neustart den vom Angreifer kontrollierten Pfad wählt und seine Komponenten von dort lädt. Dies eröffnet Möglichkeiten für DLL-Sideloading, selektives Löschen von Dateien oder sogar für die betriebliche Störung des Defender-Dienstes.
Untersuchung
Der Arbeitsablauf des Autors kopiert den aktiven Defender-Plattformordner in ein temporäres, vom Angreifer kontrolliertes Verzeichnis und erstellt dann einen Verzeichnissymlink im Plattformverzeichnis (über mklink /D) mit einer erfundenen, höheren Versionskennung. Nach einem Neustart wird beobachtet, dass Defender aus dem umgeleiteten Verzeichnis ausgeführt wird, was Manipulationen wie DLL-Hijacking oder das Entfernen von Binärdateien ermöglicht, um den Start von Defender und den Schutz zu stören.
Minderung
Minimieren Sie das Risiko, indem Sie die Schreibberechtigungen im Windows Defender Platform-Verzeichnis strikt einschränken und die Erstellung verdächtiger symbolischer Links oder unerwarteter „Versionsstil“-Unterordner überwachen. Implementieren Sie Integritätskontrollen für Defender-Binärdateien und warnen Sie bei Änderungen von ausführbaren Pfaden oder dem Verhalten bei der Auswahl von Plattformverzeichnissen. Wo möglich, wenden Sie Windows Defender Application Control (WDAC) oder gleichwertige Härtungsrichtlinien an, um unbefugte Änderungen an geschützten Systemorten zu verhindern.
Reaktion
Alarmieren Sie, wenn neue symbolische Linkordner unter C:ProgramDataMicrosoftWindows DefenderPlatform erscheinen oder wenn mklink verwendet wird, um dieses Verzeichnis anzusteuern. Validieren Sie die Integrität der Defender-Dateien und bestätigen Sie, dass die laufenden Binärdateien aus dem erwarteten Plattformordner stammen. Wenn eine Manipulation bestätigt wird, entfernen Sie den bösartigen Symlink und stellen Sie Defender-Plattformdateien aus einer vertrauenswürdigen Quelle wieder her, starten Sie dann die Defender-Dienste neu und validieren Sie den Schutz auf dem gesamten Host erneut.
graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef technique fill:#ffcc99 %% Aktionsknoten action_create_symlink[„<b>Aktion</b> – Symbolischen Link-Ordner in der Defender-Plattform erstellen<br/><b>Details</b>: Der Link verweist auf C:\TMP\AV mit höherer Versionsnummer“] class action_create_symlink action action_copy_binaries[„<b>Aktion</b> – Originale Defender-Binärdateien in ein vom Angreifer kontrolliertes Verzeichnis kopieren“] class action_copy_binaries action action_place_malicious_dll[„<b>Aktion</b> – Platzieren bösartiger DLLs im kompromittierten Ordner“] class action_place_malicious_dll action action_cleanup[„<b>Aktion</b> – Löschen des Symlink-Ordners zur Spurenbeseitigung“] class action_cleanup action %% Technik-Knoten tech_T1574_009[„<b>Technik</b> – T1574.009 COM-Hijacking<br/><b>Beschreibung</b>: Missbrauch der COM-Registrierung, um legitime Dienste schädlichen Code laden zu lassen“] class tech_T1574_009 technique tech_T1218[„<b>Technik</b> – T1218 Proxy-Ausführung signierter Binärdateien<br/><b>Beschreibung</b>: Nutzung vertrauenswürdiger signierter Binärdateien zur Ausführung von Schadcode“] class tech_T1218 technique tech_T1055_001[„<b>Technik</b> – T1055.001 Prozessinjektion (DLL)<br/><b>Beschreibung</b>: Laden einer bösartigen DLL in den Adressraum eines legitimen Prozesses“] class tech_T1055_001 technique tech_T1546_009[„<b>Technik</b> – T1546.009 AppCert-DLL-Ausführung<br/><b>Beschreibung</b>: Erzwingen des Ladens einer bösartigen DLL über AppCert-Mechanismen“] class tech_T1546_009 technique tech_T1070_004[„<b>Technik</b> – T1070.004 Dateilöschung<br/><b>Beschreibung</b>: Entfernen von Dateien oder Verzeichnissen zur Verschleierung“] class tech_T1070_004 technique tech_T1562[„<b>Technik</b> – T1562 Beeinträchtigung von Abwehrmaßnahmen<br/><b>Beschreibung</b>: Störung oder Deaktivierung von Sicherheitstools“] class tech_T1562 technique %% Verbindungen action_create_symlink –>|nutzt| tech_T1574_009 tech_T1574_009 –>|ermöglicht| action_copy_binaries action_copy_binaries –>|nutzt| tech_T1218 action_copy_binaries –>|bereitet vor| action_place_malicious_dll action_place_malicious_dll –>|nutzt| tech_T1055_001 action_place_malicious_dll –>|nutzt| tech_T1546_009 action_place_malicious_dll –>|führt zu| action_cleanup action_cleanup –>|nutzt| tech_T1070_004 tech_T1070_004 –>|führt zu| tech_T1562
Angriffsfluss
Simulationsausführung
Voraussetzung: Die Telemetrie- & Baseline-Vorflugtests müssen bestanden sein.
Begründung: Dieser Abschnitt skizziert die genaue Ausführung der gegnerischen Technik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und der narrative Aufbau müssen direkt die identifizierten TTPs widerspiegeln und darauf abzielen, genau die Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder unzusammenhängende Beispiele führen zu Fehldiagnosen.
-
Angriffsablauf & Befehle:
Der Angreifer hat ein niedrig privilegiertes Benutzerkonto auf dem Zielhost kompromittiert. Sein Ziel ist es, eine bösartige Nutzlast zu laden, wenn Windows Defender startet, indem der Defender „Platform“-Ordner an einen Ort umgeleitet wird, den sie kontrollieren. Sie führen die folgenden Schritte aus:- Erstellen Sie ein Staging-Verzeichnis (
C:TMPAV), das die bösartigen DLLs aufnehmen wird. - Befüllen Sie das Staging-Verzeichnis mit einer erstellten DLL namens
MpEngine.dll(der Name, den Defender erwartet). - Erstellen Sie einen symbolischen Verzeichnislink benannt
C:ProgramDataMicrosoftWindows DefenderPlatform{random}der auf das Staging-Verzeichnis zeigt, wobei sowohl das nativemklinkDienstprogramm (um die Sigma-Regel auszulösen) als auch PowerShellsNew‑Item(um die Regelumgehung zu testen) verwendet werden. - Starten Sie den Windows Defender-Dienst neu um das Laden aus dem gehijackten Pfad zu erzwingen.
- Erstellen Sie ein Staging-Verzeichnis (
-
Regressionstest-Skript:
# ============================== # Ordner-Hijacking-Simulation # ============================== $defenderPlatform = "C:ProgramDataMicrosoftWindows DefenderPlatform" $attackerStaging = "C:TMPAV" $linkName = "$defenderPlatformHijackTarget" # 1. Bereiten Sie den Staging-Ordner vor New-Item -Path $attackerStaging -ItemType Directory -Force | Out-Null # 2. Legen Sie eine Dummy-Malware-DLL ab (Platzhalter) $dummyDll = "$attackerStagingMpEngine.dll" Set-Content -Path $dummyDll -Value "MALICIOUS DLL CONTENT" -Encoding ASCII # 3a. Erstellen Sie einen Symlink über natives mklink (löst Sigma-Regel aus) cmd /c "mklink /D `"$linkName`" `"$attackerStaging`"" # 3b. Erstellen Sie einen Symlink über PowerShell (testet Umgehung) $psLink = "$defenderPlatformHijackTarget_PS" New-Item -ItemType SymbolicLink -Path $psLink -Target $attackerStaging -Force # 4. Starten Sie den Windows Defender-Dienst neu (erfordert Administratorrecht) # Hinweis: Dieser Schritt kann in einer gehärteten Umgebung blockiert sein; hier der Vollständigkeit halber enthalten. Restart-Service -Name "WinDefend" -Force -
Bereinigungsbefehle:
# Entfernen der erstellten Symlinks und Staging-Dateien $links = @( "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget", "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget_PS" ) foreach ($l in $links) { if (Test-Path $l) { Remove-Item $l -Force } } $staging = "C:TMPAV" if (Test-Path $staging) { Remove-Item $staging -Recurse -Force } # Optional kann der Defender-Plattformordner bei Bedarf wiederhergestellt werden (für die Simulation nicht erforderlich)