SOC Prime Bias: Kritisch

26 May 2026 16:01 UTC

Void Dokkaebi nutzt mit Cython kompilierten InvisibleFerret-Malware

Author Photo
SOC Prime Team linkedin icon Folgen
Void Dokkaebi nutzt mit Cython kompilierten InvisibleFerret-Malware
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Void Dokkaebi, ein mit Nordkorea verbundener Bedrohungsakteur, hat seine InvisibleFerret-Malware verbessert, indem er sie mit Cython in native .pyd and .so Binärdateien kompiliert. Diese Änderung hilft der Malware, Erkennungen zu vermeiden, die sich nur auf Python-Skripte konzentrieren, während sie ihre Kernfunktionen beibehält, einschließlich Anmeldeinformationsdiebstahl, Keylogging, Zwischenablage-Erfassung und Kryptowährungs-Wallet-Entführung. BeaverTail dient als mehrstufiger Loader, der die kompilierten Module abruft und ausführt. Die Kampagne zielt auf Softwareentwickler und Kryptowährungsnutzer ab, die möglicherweise Wallet-Anmeldeinformationen, Signierschlüssel oder andere wertvolle Geheimnisse besitzen.

Untersuchung

Forscher analysierten die gesamte Infektionskette und stellten eine deutliche Abkehr von lesbaren Python-Skripten hin zu Cython-kompilierten Erweiterungsmodulen fest. Sie dokumentierten auch mehrere Verschleierungsmethoden, einschließlich Base64-Codierung, XOR-Verschlüsselung und der Aufteilung und Verschiebung von Zeichenfolgen. Während der Untersuchung extrahierten sie fest codierte IP-Adressen, Ports und Dateinamen und beobachteten die Erstellung temporärer Python .mod Skripte, die verwendet wurden, um die bösartigen Binärdateien zu laden. Die Zeichenfolgenanalyse zeigte außerdem Spuren der Entwicklungsumgebung und Verweise auf browserbasierte Kryptowährungs-Wallet-Erweiterungen.

Abschwächung

Verteidiger sollten sich über skriptfokussierte Erkennungen hinaus erweitern und auf verdächtige .pyd and .so Dateien in ungewöhnlichen Standorten sowie auf temporäre .mod Loader-Skripte achten. Zusätzliche Erkennungsmöglichkeiten umfassen die beobachteten Dateinamen, ausgehende Anfragen an ip-api.com, und Downloads, die Kryptowährungs-Wallet-Erweiterungen beinhalten. Das Entfernen oder Isolieren der temporären Loader-Skripte nach der Ausführung kann auch dazu beitragen, Persistenzmöglichkeiten zu reduzieren.

Reaktion

Wenn verwandte Indikatoren entdeckt werden, isolieren Sie den betroffenen Endpunkt sofort, blockieren Sie ausgehenden Datenverkehr zur identifizierten Command-and-Control-IP-Adresse und suchen Sie nach den aufgeführten Binärdateien und geplanten Aufgabenartefakten. Ermittler sollten alle wiederhergestellten .mod Skripte analysieren, um eingebettete Nutzlasten zu extrahieren und die Ausführungskette besser zu verstehen. Alle offengelegten Kryptowährungsanmeldeinformationen, Wallet-Geheimnisse oder Signaturschlüssel sollten unverzüglich erneuert werden.

Angriffsablauf

Wir aktualisieren diesen Teil noch. Melden Sie sich an, um benachrichtigt zu werden

Benachrichtigen Sie mich

Simulation Ausführung

Voraussetzung: Der Telemetrie- und Basislinien-Pre-Flight-Check muss bestanden haben.

Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der gegnerischen Technik (TTP), die darauf abzielt, 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. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.

  • Angriffserzählung & Befehle:
    Der Angreifer hat eine Reihe von Cython-kompilierten Modulen (mod.pyd, pad.pyd, brw.pyd) erhalten, die Anmeldedaten-Erfassung und C2-Kommunikation implementieren. Um Persistenz zu erreichen, kopiert der Gegner diese Module in das Konfigurationsverzeichnis des aktuellen Benutzers von VS Code (%USERPROFILE%.vscode). VS Code scannt diesen Ordner regelmäßig nach Erweiterungen, wodurch die böswilligen Module von einem späteren bösartigen Python-Skript geladen werden. Der Kopiervorgang erzeugt ein Sysmon FileCreate-Ereignis, das der Sigma-Regel entspricht.

  • Regression Test Script:

    # -------------------------------------------------
    # Simulation des Drops des InvisibleFerret Cython-Moduls
    # -------------------------------------------------
    $vscodePath = "$env:USERPROFILE.vscode"
    # Sicherstellen, dass der Zielordner existiert
    if (-not (Test-Path -Path $vscodePath)) {
        New-Item -ItemType Directory -Path $vscodePath | Out-Null
    }
    
    # Simulierte bösartige Binärdateien (zufälliger Müllinhalt)
    $modules = @("mod.pyd","pad.pyd","brw.pyd")
    foreach ($mod in $modules) {
        $dest = Join-Path -Path $vscodePath -ChildPath $mod
        # Schreiben Sie 1 KB zufälliger Bytes, um eine kompilierte Erweiterung nachzuahmen
        $bytes = New-Object byte[] 1024
        (New-Object System.Random).NextBytes($bytes)
        [System.IO.File]::WriteAllBytes($dest, $bytes)
        Write-Host "Erstellt $dest"
    }
  • Bereinigungskommandos:

    # -------------------------------------------------
    # Bereinigung der simulierten bösartigen Dateien
    # -------------------------------------------------
    $vscodePath = "$env:USERPROFILE.vscode"
    $modules = @("mod.pyd","pad.pyd","brw.pyd")
    foreach ($mod in $modules) {
        $file = Join-Path -Path $vscodePath -ChildPath $mod
        if (Test-Path $file) {
            Remove-Item -Path $file -Force
            Write-Host "Entfernt $file"
        }
    }