Geverpflichtete Benutzerprofil-Beständigkeit
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Bedrohungsakteure können auf Windows-Endpunkten Persistenz etablieren, indem sie obligatorische Benutzerprofile missbrauchen. Durch das Erstellen oder Ersetzen einer NTUSER.MAN -Datei im Benutzerprofilverzeichnis werden schädliche Registrierungseinträge beim Anmelden in den Registrierungshive geladen, ohne auf die Standard-Registrierungs-APIs angewiesen zu sein. Diese Technik ermöglicht die unauffällige Ausführung von Befehlen oder Binärdateien, wann immer sich der Benutzer anmeldet.
Untersuchung
Der Bericht beschreibt eine Proof-of-Concept-Technik, die den Windows-Registrierungshive manipuliert, um ein obligatorisches Benutzerprofil zu erstellen. Er zeigt, wie Tools wie Swarmer und HiveSwarming exportierte Registrierungsdaten in das .MAN -Format konvertieren können, was es Angreifern ermöglicht, EDR-Überwachung, die sich auf Registrierungs-API-Aktivitäten konzentriert, zu umgehen.
Milderung
Organisationen sollten die Erstellung oder Änderung von NTUSER.MAN Dateien in Benutzerprofilverzeichnissen überwachen, insbesondere dort, wo normalerweise keine obligatorischen Profile verwendet werden. Starke Dateisystem-Telemetrie in Kombination mit der Korrelation von Windows User Profile Service-Ereignissen kann helfen, diese Persistenztechnik zu erkennen.
Reaktion
Wenn eine NTUSER.MAN Datei unerwartet erstellt oder verdächtiges Offreg.dll Laden beobachtet wird, sollten Ermittler das zugehörige Benutzerprofil auf unbefugte Registrierungsänderungen prüfen. Korreliere Sysmon-Ereignis ID 11 für die Dateierstellung mit Microsoft Windows User Profile Service Event IDs 5 und 67, um zu überprüfen, ob ein obligatorisches Profil geladen wurde.
Angriffsfluss
Erkennungen
Mögliche Persistenzstellen [ASEPs – Software/NTUSER Hive] (über registry_event)
Möglicher Swarmer Utility-Ausführungsversuch (über cmdline)
Möglicher Swarmer Utility-Ausführungsversuch (über powershell)
Erstellung der NTUSER.MAN-Datei im Benutzerprofilverzeichnis [Windows-Datei-Ereignis]
Ausführung der Simulation
Voraussetzung: Der Telemetrie- und Basislinien-Vorflug-Check muss bestanden haben.
Begründung: In diesem Abschnitt werden die genaue Ausführung der Gegnertechnik (TTP) beschrieben, die zur Auslösung der Erkennungsregel erforderlich ist. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, genau die Telemetrie zu erzeugen, die von der Erkennung erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.
-
Angriffserzählung & Befehle: Der Angreifer beabsichtigt, Persistenz über Benutzeranmeldungen hinweg beizubehalten. Anstatt die aktuelle Registrierung zu ändern, die möglicherweise von EDR überwacht wird, erstellt der Angreifer ein „Obligatorisches Profil“, indem er eine
NTUSER.MANDatei in das Benutzerprofilverzeichnis ablegt. Beim nächsten Login verwendet Windows diese Datei, um den Registrierungshive des Benutzers zu erstellen. Diese Methode ist unauffällig, da die „bösartige“ Registrierungskonfiguration technisch Teil des Profil-Initialisierungsprozesses ist und nicht ein Standard-Registrierungsänderungsereignis. Die Simulation wird eine DummyNTUSER.MAN-Datei in einem Unterordner des Benutzerprofils erstellen, um dasendet mit: 'NTUSER.MAN'andenthält: 'Benutzer'Logik auszulösen. -
Regressionstest-Skript:
# Simulation der NTUSER.MAN-Erstellung für Persistenztests $targetDir = Join-Path $env:USERPROFILE "AppDataLocalTempSimulatedProfile" # Verzeichnis erstellen, wenn es nicht existiert if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force } # Erstellen der NTUSER.MAN-Datei zur Auslösung der Erkennungsregel $filePath = Join-Path $targetDir "NTUSER.MAN" Set-Content -Path $filePath -Value "Simulierter Inhalt des obligatorischen Profils" Write-Host "[+] Simulation abgeschlossen. Datei erstellt unter: $filePath" -ForegroundColor Green -
Bereinigungskommandos:
# Bereinigung der Simulationsartefakte $targetDir = Join-Path $env:USERPROFILE "AppDataLocalTempSimulatedProfile" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force Write-Host "[+] Bereinigung erfolgreich. Artefakte entfernt." -ForegroundColor Yellow } else { Write-Host "[-] Bereinigung fehlgeschlagen: Verzeichnis nicht gefunden." -ForegroundColor Red }