NullReceiver verbessert EtherHiding mit leeren Kryptotransfers
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Bedrohungsakteure mit Verbindungen zu Nordkorea verwenden eine neue Blockchain-basierte Methode zur Kommandokontrolle namens NullReceiver. Diese Technik bettet C2-IP-Adressen in die Empfängeradressen von Ethereum-Übertragungen ohne monetären Wert ein, was die Erkennung schwieriger macht als bei der traditionellen EtherHiding-Methode. Die zugehörige Malware wird über trojanisierte npm-Pakete verteilt.
Untersuchung
Forscher untersuchten die Aktivität durch statische Analyse veröffentlichter npm-Tarballs und die nur-lesende Untersuchung von angreifer-kontrollierten Transaktionen auf der öffentlichen Blockchain. Die Analyse identifizierte zwei bösartige npm-Pakete, bianira-ui and fluid-type-ui, die NullReceiver verwenden, um die Kommandokontrollinfrastruktur aufzulösen.
Minderung
Verteidiger sollten Blockchain-Aktivitäten überwachen, die mit bekannten angreifer-kontrollierten Ethereum-Wallets verbunden sind, und die Empfängeradressen in Übertragungen ohne Wert inspizieren. Organisationen sollten auch die Kontrolle von Software-Lieferketten für npm-Abhängigkeiten stärken, um die Installation trojanisierter Pakete zu verhindern.
Reaktion
Wenn NullReceiver-Aktivitäten erkannt werden, sollten betroffene Node.js-Umgebungen sofort isoliert werden. Ermittler sollten die Quelle des bösartigen npm-Pakets identifizieren und die zugehörigen C2-IP-Adressen sowie Ethereum-Wallet-Adressen sowohl auf Netzwerk- als auch auf Anwendungsebene blockieren.
Angriffsfluss
Erkennungen
Möglicher missbräuchlicher Versuch, Publicnode Ethereum als C2-Kanal zu verwenden (über dns_query)
Proof of Value
IOCs (SourceIP) zur Erkennung: NullReceiver’s Blank Crypto Transfers löst die Herausforderungen von EtherHiding
Proof of Value
IOCs (DestinationIP) zur Erkennung: NullReceiver’s Blank Crypto Transfers löst die Herausforderungen von EtherHiding
Proof of Value
NullReceiver HTTP/HTTPS-Verbindungsaufbau [Windows-Netzwerkverbindung]
Proof of Value
Erkennung der Blockchain-basierten Kommandokontrolltechnik von NullReceiver [Linux-Prozesserstellung]
Proof of Value
Simulation ausführen
Voraussetzung: Die Telemetrie- und Basislinien-Preflight-Überprüfung muss bestanden werden.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die entwickelt wurde, um die Erkennungsregel auszulösen. Die Befehle und das Narrativ MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, genau die Telemetrie zu erzeugen, die durch die Erkennungslogik erwartet wird. Abstrakte oder unzusammenhängende Beispiele führen zu Fehldiagnosen.
-
Angriffserzählung & Befehle: Der Gegner versucht, einen unauffälligen C2-Kanal einzurichten, der die traditionelle IP-basierte Blacklisting umgeht. Dazu setzen sie ein bösartiges npm-Paket ein, das die „NullReceiver“-Technik verwendet. Das Skript initialisiert globale Variablen mit spezifischer, verschleierter Syntax (
global.i = "A10-npm3!", global.r = require) und kontaktiert sofort denhttps://1rpc.io/eth-Endpunkt. Dies ermöglicht es der Malware, das „Recipient“-Feld einer bestimmten Ethereum-Transaktion zu lesen, das die kodierte IP-Adresse des tatsächlichen C2-Servers enthält. Diese Methode nutzt legitime Blockchain-Infrastruktur, um böswillige Absichten zu verbergen. -
Regressionstest-Skript:
#!/bin/bash # Simulationsskript zur Erkennung der NullReceiver C2-Technik # Erstellen Sie ein bösartiges Node-Skript, das die spezifischen Muster in der Erkennungsregel nachahmt cat < malicious_npm_payload.js // Nachahmung der genauen Muster, die in der Sigma-Regel definiert sind global.i = "A10-npm3!"; global.r = require; const https = require('https'); // Die Malware kontaktiert den spezifischen RPC-Endpunkt, um Anweisungen abzurufen const url = 'https://1rpc.io/eth'; console.log("[!] Blockchain-basierte C2-Abfrage wird initiiert..."); https.get(url, (res) => { console.log("[!] Verbindung erfolgreich. Blockchain-Status wird analysiert..."); res.on('data', (d) => { // In einem echten Angriff würde dies das 'Recipient'-Feld für die C2-IP analysieren console.log("[!] Anweisung über NullReceiver-Technik erhalten."); }); }).on('error', (e) => { console.error(`[X] Verbindung fehlgeschlagen: ${e.message}`); }); EOF # Führen Sie das bösartige Skript mit Node aus echo "[*] Böswillige Simulation wird ausgeführt..." node malicious_npm_payload.js # Bereinigen Sie die Skriptdatei rm malicious_npm_payload.js -
Aufräumbefehle:
# Entfernen Sie alle während der Simulation erstellten Artefakte rm -f malicious_npm_payload.js