T1547.008 LSASS-Treiber im MITRE ATT&CK erklärt
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Der Artikel erklärt die Persistenz-Subtechnik LSASS-Treiber, T1547.008, die Bedrohungsakteure nutzen, um eine dauerhafte, hochprivilegierte Ausführung auf Windows-Systemen zu erreichen, indem sie ausnutzen, wie LSASS sicherheitsrelevante Komponenten lädt.
Untersuchung
Angreifer beginnen typischerweise damit, SYSTEM-Privilegien zu erlangen, platzieren dann eine bösartige DLL oder einen Treiber auf dem Zielhost und ändern Registrierungsschlüssel innerhalb der LSA-Konfiguration, sodass LSASS die schädliche Komponente während des Bootvorgangs lädt. In einigen Fällen kann derselbe Ansatz erweitert werden, um Missbrauch von Dienst-Erweiterungspunkten des Domänencontrollers zu ermöglichen.
Minderung
Verteidiger sollten auf Registrierungsänderungen achten, die LSA-Schlüssel betreffen, striktes Code-Signing für Treiber und DLLs verlangen, Schreibrechte auf die entsprechenden Registrierungspfade einschränken und Integritätsüberwachung auf Komponenten anwenden, die von LSASS geladen werden.
Antwort
Wenn verdächtige Registrierungsänderungen oder unerwartete Treiberladungen in lsass.exe entdeckt werden, isolieren Sie den Host, erfassen Sie den LSASS-Speicher zur Analyse mit Fokus auf Anmeldedaten und stellen Sie die geänderten Registrierungswerte in einen bekannten, guten Zustand zurück, während Sie den verantwortlichen übergeordneten Prozess untersuchen.
Angriffsablauf
Wir aktualisieren diesen Teil noch. Melden Sie sich an, um benachrichtigt zu werden
Benachrichtige michErkennungen
Mögliche Anmeldeinformationsentnahme mit MSv1_0!SpAcceptCredentials-Hook (via registry_event)
Ansehen
Mögliches DLL-Laden über LSASS für Persistenz oder Codeausführung (via registry_event)
Ansehen
Verdächtige Bibliothek zu den Security Support Providers [SSP] hinzufügen (via registry_event)
Ansehen
IOCs (E-Mails) zur Erkennung: T1547.008 LSASS-Treiber in MITRE ATT&CK erklärt
Ansehen
Erkennung der persistenten Ausführung über LSASS-Treibermodifikation [Windows-Registrierungsereignis]
Ansehen
Simulationsausführung
Voraussetzung: Der Telemetrie- und Basislinientest muss bestanden sein.
Begründung: In diesem Abschnitt wird die genaue Ausführung der gegnerischen Technik (TTP) detailliert beschrieben, die darauf ausgelegt ist, die Erkennungsregel auszulösen. Die Befehle und Erzählungen MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.
-
Angriffsnarrativ & Befehle:
- Vorbereitung – bösartige DLL ablegen – Der Angreifer erstellt eine DLL (
maliciousLSASS.dll), die, wenn sie von LSASS geladen wird, Anmeldeinformations-Hashes extrahiert und sie in%TEMP%schreibt. Die DLL wird auf dem Opferarbeitsplatz platziert. - Persistenz durch Registrierungsänderung – Mit dem nativen
reg.exefügt der Angreifer den vollständigen Pfad der bösartigen DLL demSecurity PackagesMehrstring-Wert hinzu, den LSASS beim Dienststart liest. - Auslösen – Der Angreifer zwingt LSASS, die Pakete neu zu laden, indem er den
LSASSDienst neu startet (erfordert einen Systemneustart; für den Test simulieren wir, indem wir denWinDefendDienst stoppen und starten, was LSASS dazu zwingt, die Sicherheits-Pakete Liste neu zu laden).
- Vorbereitung – bösartige DLL ablegen – Der Angreifer erstellt eine DLL (
-
Regressionstest-Skript:
# ------------------------------------------------- # Simulation der LSASS-Treiber-Persistenz (T1547.008) # ------------------------------------------------- $dllPath = "$env:USERPROFILEDesktopmaliciousLSASS.dll" # Sicherstellen, dass eine Dummy-DLL-Datei existiert (leerer Platzhalter für Test) if (-not (Test-Path $dllPath)) { New-Item -Path $dllPath -ItemType File -Force | Out-Null } # Ursprünglichen Wert sichern $regPath = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages' $original = (Get-ItemProperty -Path $regPath -Name '(Default)' -ErrorAction SilentlyContinue).'(Default)' # Bösartigen DLL-Pfad anhängen $newValue = @() if ($original) { $newValue = $original -split "`0" } $newValue += $dllPath Set-ItemProperty -Path $regPath -Name '(Default)' -Value $newValue -Force Write-Host "[+] Geänderten Security-Pakete-Registrierungsschlüsselwert hinzugefügt, um bösartige DLL einzuschließen." # Optional: Erzwingt LSASS das Neuladen von Paketen ohne Neustart (abhängigen Dienst neu starten) Restart-Service -Name WinDefend -Force -ErrorAction SilentlyContinue Write-Host "[+] Dienstneustart angefordert, um LSASS-Neuladen zu provozieren." # Pause, um Protokolle sammeln zu lassen Start-Sleep -Seconds 10 # Ursprünglichen Wert wiederherstellen (Bereinigungsschritt separat ausgeführt) -
Bereinigungskommandos:
# ------------------------------------------------- # Bereinigung nach Simulation # ------------------------------------------------- $regPath = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages' # Ursprünglichen Mehrstring-Wert, der früher erfasst wurde, wiederherstellen (falls vorhanden) if ($original) { Set-ItemProperty -Path $regPath -Name '(Default)' -Value $original -Force } else { # Wert vollständig entfernen, wenn er ursprünglich leer war Remove-ItemProperty -Path $regPath -Name '(Default)' -Force -ErrorAction SilentlyContinue } Write-Host "[+] Ursprünglichen Security-Pakete-Registrierungsschlüsselwert wiederhergestellt." # Dummy-DLL entfernen Remove-Item -Path "$env:USERPROFILEDesktopmaliciousLSASS.dll" -Force -ErrorAction SilentlyContinue Write-Host "[+] Temporäre bösartige DLL gelöscht." # Optional: Host neu starten, um LSASS-Zustand vollständig zurückzusetzen (für Test nicht erforderlich) # Restart-Computer -Force