SOC Prime Bias: Mittel

28 Apr 2026 15:45 UTC

Crypto Drainer als Konvergierende Bedrohung: Einblicke in Entstehende Hybride Angriffsökosysteme

Author Photo
SOC Prime Team linkedin icon Folgen
Crypto Drainer als Konvergierende Bedrohung: Einblicke in Entstehende Hybride Angriffsökosysteme
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Der Bericht erklärt, wie sich etablierte Cybercrime-Infrastrukturen zunehmend mit Kryptowährungs-Drainer-Operationen vermischen, was zu hybriden Angriffsökosystemen führt, die sowohl Web2- als auch Web3-Assets gefährden. Bedrohungsakteure verlassen sich auf ausgefeilte Phishing-Seiten, die um KI-Tools oder Finanzdienstleistungen thematisiert sind, um Opfer zu überzeugen, ihre Wallets zu verbinden, Token-Transaktionen zu autorisieren und unwissentlich Gelder über mehrere Blockchains zu transferieren. Zwei hervorgehobene Beispiele, StepDrainer und EtherRAT, zeigen, wie dieses Modell sowohl browserbasierte Wallet-Leerung als auch Windows-Malware mit blockchain-spezifischer Funktionalität umfasst. Dadurch reicht die Bedrohung nun weit über kryptowährungs-native Benutzer hinaus und dringt tiefer in Mainstream-Unternehmensumgebungen ein.

Untersuchung

Forscher untersuchten die StepDrainer Malware-as-a-Service-Operation, einschließlich ihrer PHP- und JavaScript-Staging-Infrastruktur und ihrer Nutzung von Web3Modal zur Anzeige überzeugender Wallet-Verbindungsaufforderungen. Sie analysierten auch die EtherRAT-Windows-Malware, die durch einen trojanisierten TFTP-Installer geliefert wurde, Persistenz über einen Run-Registrierungsschlüssel aufrechterhielt und mit Ethereum- und Solana-RPC-Endpunkten kommunizierte. Während der Untersuchung extrahierte das Team Indikatoren wie bösartige Domains, Registrierungsschlüssel und Befehlszeilen-Artefakte, die mit beiden Angriffswegen verbunden sind.

Abschwächung

Organisationen sollten den Zugang zu bekannten bösartigen Domains blockieren, wo immer möglich Multi-Faktor-Authentifizierung für Wallet-Erweiterungen verlangen und Systeme auf verdächtige Run-Registrierungseinträge und unerwartete Node.js-Prozesse überwachen. Sicherheitsteams sollten auch den Traffic zu öffentlichen Blockchain-RPC-Diensten auf anomalem Verhalten inspizieren und Browser-Erweiterungen regelmäßig auf Anzeichen von Manipulationen oder Missbrauch überprüfen.

Reaktion

Wird diese Aktivität entdeckt, isolieren Sie den betroffenen Host sofort, entfernen Sie den bösartigen Run-Registrierungseintrag, beenden Sie unautorisierte Node.js-Prozesse und widerrufen Sie alle von den betroffenen Wallets gewährten Token-Zulassungen. Ermittler sollten dann eine forensische Analyse durchführen, um zusätzliche Payloads oder Persistenzmechanismen zu identifizieren und erlaubte Listen oder Blocklisten zu aktualisieren, um weitere Kommunikation mit der identifizierten Command-and-Control-Infrastruktur zu verhindern.

Angriffsablauf

Simulation der Ausführung

Voraussetzung: Der Telemetrie- und Basislinsenvorbereitscheck muss bestanden sein.

  • Angriffserzählung & Befehle

    Der Angreifer hat bereits eine bösartige JavaScript-Datei (payload.js) auf dem Ziel platziert. Um Persistenz zu erreichen, verwenden sie die installierte node.exe Binärdatei, um conhost.exe im kopflosen Modus zu starten, was dann die JavaScript-Nutzlast lädt. Diese Technik vermeidet sichtbare Konsolenfenster und fügt sich in normale Node Nutzung ein.

    1. Legen Sie die bösartige Nutzlast (payload.js) an einem temporären Ort ab.
    2. Ausführen node.exe mit einem Befehl, der conhost.exe --headless aufruft und auf die Nutzlast verweist.
    3. Erstellen Sie eine geplante Aufgabe , die denselben Befehl beim Systemstart ausführt, um Persistenz bereitzustellen.
  • Regressionstest-Skript

    # EtherRAT-Persistenzsimulation – PowerShell
    # -------------------------------------------------
    # 1. Bösartige JavaScript-Nutzlast vorbereiten
    $payloadPath = "$env:TEMPpayload.js"
    @"
    // Minimal bösartiges JS – in Wirklichkeit würde dies das EtherRAT-Implantat laden
    const { exec } = require('child_process');
    exec('calc.exe'); // Beispielseitenwirkung
    "@ | Set-Content -Encoding UTF8 $payloadPath
    
    # 2. Suchen Sie node.exe (gehen Sie davon aus, dass es im PATH ist)
    $node = (Get-Command node.exe).Source
    if (-not $node) {
        Write-Error "node.exe nicht im PATH gefunden."
        exit 1
    }
    
    # 3. Bauen Sie die conhost-Befehlszeile
    $conhostCmd = "C:WindowsSystem32conhost.exe --headless `"$payloadPath`""
    
    # 4. Starten Sie über node.exe (dies erstellt die Eltern-Kind-Beziehung)
    $script = "require('child_process').exec(`"$conhostCmd`")"
    & $node -e $script
    
    # 5. OPTIONAL: Geplante Aufgabe zur Persistenz erstellen
    $taskName = "SystemUpdate"
    $action = New-ScheduledTaskAction -Execute $node -Argument "-e `"$script`""
    $trigger = New-ScheduledTaskTrigger -AtLogOn
    Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -RunLevel Highest -Force
  • Bereinigungskommandos

    # Geplante Aufgabe entfernen
    Unregister-ScheduledTask -TaskName "SystemUpdate" -Confirm:$false
    
    # Nutzlast löschen
    Remove-Item -Path "$env:TEMPpayload.js" -Force
    
    # Jegliche verbleibenden conhost-Prozesse, die durch den Test ausgelöst wurden, stoppen
    Get-Process conhost -ErrorAction SilentlyContinue | Where-Object {
        $_.Path -eq 'C:WindowsSystem32conhost.exe' -and $_.CommandLine -match '--headless'
    } | Stop-Process -Force