Void Dokkaebi nutzt mit Cython kompilierten InvisibleFerret-Malware
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 michErkennungen
Mögliche C2-Kommunikationen über HTTP zu direkter IP mit ungewöhnlichem Port (über Proxy)
Anzeigen
Mögliche IP-Abfrage-Domain-Kommunikationen versucht (über DNS)
Anzeigen
Versteckte Datei wurde auf Linux-Host erstellt (via file_event)
Anzeigen
Erkennung von Cython-kompilierten InvisibleFerret-Modulen [Windows-Datei-Ereignis]
Anzeigen
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" } }