NullReceiver Avanza l’EtherHiding con Trasferimenti di Cripto Invisibili
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Gli attori delle minacce legati alla DPRK stanno usando un nuovo metodo di risoluzione C2 basato su blockchain noto come NullReceiver. La tecnica integra gli indirizzi IP C2 all’interno dei byte dell’indirizzo del destinatario dei trasferimenti Ethereum a valore zero, rendendo la rilevazione più difficile rispetto all’EtherHiding tradizionale. Il malware associato viene distribuito tramite pacchetti npm infettati.
Indagine
I ricercatori hanno esaminato l’attività attraverso l’analisi statica dei tarball npm pubblicati e l’esame in sola lettura delle transazioni controllate dagli attaccanti sulla blockchain pubblica. L’analisi ha identificato due pacchetti npm malevoli, bianira-ui and fluid-type-ui, che utilizzano NullReceiver per risolvere l’infrastruttura di comando e controllo.
Mitigazione
I difensori dovrebbero monitorare l’attività della blockchain associata a wallet Ethereum controllati dagli attaccanti conosciuti e ispezionare gli indirizzi dei destinatari utilizzati nei trasferimenti a valore zero. Le organizzazioni dovrebbero anche rafforzare i controlli della catena di approvvigionamento del software per le dipendenze npm per prevenire l’installazione di pacchetti infettati.
Reazione
Se viene rilevata attività NullReceiver, gli ambienti Node.js interessati dovrebbero essere isolati immediatamente. Gli investigatori dovrebbero identificare la fonte del pacchetto npm malevolo e bloccare gli indirizzi IP C2 e gli indirizzi dei wallet Ethereum associati sia a livello di rete che di applicazione.
Flusso di Attacco
Rilevamenti
Possibile Tentativo di Abuso di Ethereum Publicnode Come Canale C2 (tramite dns_query)
Proof of Value
IOC (SourceIP) per rilevare: i Trasferimenti Vuoti di Cripto di NullReceiver Risolvono le Sfide di EtherHiding
Proof of Value
IOC (DestinationIP) per rilevare: i Trasferimenti Vuoti di Cripto di NullReceiver Risolvono le Sfide di EtherHiding
Proof of Value
Connessione HTTP/HTTPS NullReceiver [Connessione di Rete Windows]
Proof of Value
Rilevamento della Tecnica di Comando e Controllo Basata su Blockchain di NullReceiver [Creazione di Processo Linux]
Proof of Value
Esecuzione di Simulazione
Prerequisito: Il Controllo Preliminare di Telemetria & Baseline deve essere superato.
Razionalità: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per innescare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare esattamente la telemetria attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a errori di diagnosi.
-
Narrativa di Attacco & Comandi: L’avversario cerca di stabilire un canale C2 furtivo che bypassa il tradizionale blacklist IP-based. Per fare questo, distribuiscono un pacchetto npm malevolo che utilizza la tecnica “NullReceiver”. Lo script inizializza variabili globali usando una sintassi specifica offuscata (
global.i = "A10-npm3!", global.r = require) e si connette immediatamente ahttps://1rpc.io/ethendpoint. Questo permette al malware di leggere il campo “recipient” di una transazione Ethereum specifica, che contiene l’indirizzo IP codificato del vero server C2. Questo metodo utilizza l’infrastruttura legittima blockchain per nascondere l’intento malevolo. -
Script di Test di Regressione:
#!/bin/bash # Script di simulazione per il rilevamento della Tecnica C2 NullReceiver # Crea uno script node malevolo che imita i pattern specifici nella regola di rilevamento cat << 'EOF' > malicious_npm_payload.js // Imitando i pattern esatti definiti nella regola Sigma global.i = "A10-npm3!"; global.r = require; const https = require('https'); // Il malware si connette al specifico endpoint RPC per ottenere istruzioni const url = 'https://1rpc.io/eth'; console.log("[!] Avviata ricerca C2 basata su blockchain..."); https.get(url, (res) => { console.log("[!] Connessione riuscita. Analisi dello stato della blockchain..."); res.on('data', (d) => { // In un attacco reale, questo analizzerebbe il campo 'recipient' per l'IP C2 console.log("[!] Istruzione ricevuta tramite la tecnica NullReceiver."); }); }).on('error', (e) => { console.error(`[X] Connessione fallita: ${e.message}`); }); EOF # Esegui lo script malevolo usando node echo "[*] Esecuzione della simulazione malevola..." node malicious_npm_payload.js # Ripulire il file script rm malicious_npm_payload.js -
Comandi di Pulizia:
# Rimuovi eventuali artefatti creati durante la simulazione rm -f malicious_npm_payload.js