1. Executive Summary
Il 28 aprile 2026, l'honeypot proprietario Nerd Herd ha registrato un'intrusione automatizzata su un'istanza Hadoop volutamente mal configurata ed esposta a Internet, nell'ambito della nostra infrastruttura di monitoraggio. L'analisi del payload scaricato ha rivelato una variante aggiornata di Chaos, un malware scritto in Go documentato per la prima volta da Lumen's Black Lotus Labs e ritenuto di probabile origine cinese sulla base di artefatti linguistici presenti nel codice sorgente.
Rispetto alle versioni precedenti, il campione presenta modifiche strutturali significative: il namespace e' stato rinominato da main_chaos a main, le funzionalita' di diffusione via SSH e di sfruttamento delle CVE nei router sono state rimosse, ed e' stata introdotta una nuova capacita' di proxy SOCKS5, attivabile via comando C2 StartProxy. Questo aggiornamento trasforma Chaos da puro strumento DDoS a piattaforma di accesso proxy cedibile ad altri attori.
Le scoperte chiave di questa analisi sono quattro:
- Vettore Hadoop YARN confermato: l'attacco sfrutta la REST API di Hadoop Resource Manager per creare applicazioni malevole che eseguono comandi arbitrari sul cluster.
- Dropper monouso: il payload viene scaricato, eseguito e immediatamente cancellato dal disco per ostacolare l'analisi forense successiva alla compromissione.
- Proxy SOCKS5 integrato: la nuova funzione
StartProxypermette all'attaccante di instradare traffico attraverso il server vittima, mascherando la propria origine e raggiungendo reti interne altrimenti inaccessibili. - Correlazione infrastrutturale: il dominio usato per distribuire il payload,
pan.tenire.com, e' stato precedentemente osservato in "Operation Silk Lure", una campagna che distribuisce il RAT ValleyRAT. La sovrapposizione suggerisce un attore comune o infrastruttura condivisa tra gruppi diversi.
2. Contesto: Cos'e' Chaos Malware
Chaos e' un malware scritto in Go scoperto nel 2022 da Lumen's Black Lotus Labs, inizialmente classificato come successore del botnet Kaiji, con il quale condivide struttura del codice e metodologia di propagazione. L'attribuzione all'area cinese si basa su caratteri in lingua cinese presenti nelle stringhe del binario e indicatori di locale zh-CN rilevati durante l'analisi statica.
Nelle prime versioni documentate, Chaos si focalizzava su dispositivi di rete periferici (router, modem, dispositivi IoT) e si propagava principalmente tramite attacchi a forza bruta su SSH e sfruttamento di CVE note nel firmware. Il botnet risultante veniva utilizzato per campagne DDoS e, in misura minore, per cryptomining opportunistico.
La variante identificata nel nostro honeypot segna un cambio di direzione strategico: l'abbandono dei router in favore di server Linux cloud, infrastruttura di elaborazione dati distribuita e ambienti Kubernetes segnala una maturazione delle capacita' operative degli attori e un interesse crescente verso sistemi con maggiore banda di rete e potenza di calcolo.
3. Vettore di Attacco: Hadoop YARN Resource Manager
Apache Hadoop e' un framework open-source per l'elaborazione distribuita di grandi dataset su cluster di macchine. La componente YARN (Yet Another Resource Negotiator) gestisce l'allocazione delle risorse del cluster e, nella configurazione di default, espone una REST API non autenticata sulla porta 8088.
Il vettore di attacco sfrutta questa API per creare una nuova applicazione sul cluster. La richiesta malevola specifica, nel campo am-container-spec, una sequenza di comandi shell che vengono eseguiti direttamente sul nodo del cluster con i privilegi dell'utente che esegue il demone YARN, in genere un utente di sistema con ampi permessi sull'infrastruttura.
3.1 La Request di Infezione Iniziale
L'attaccante invia una richiesta HTTP POST all'endpoint YARN per la creazione di applicazioni, con il seguente payload nel campo dei comandi del container:
La sequenza segue lo schema classico dei dropper monouso: il binario viene scaricato, reso eseguibile, avviato e immediatamente rimosso dal filesystem. Al momento dell'esecuzione il processo e' gia' in memoria, quindi la cancellazione del file non ne interrompe l'esecuzione ma rende significativamente piu' difficile il recupero forense del campione dopo l'incidente.
3.2 Il Server di Distribuzione: pan.tenire.com
Il dominio pan.tenire.com risolve all'IP 107.189.10.219, un VPS allocato presso BuyVM, provider economico con sede in Lussemburgo, noto per politiche permissive nella gestione delle segnalazioni di abuso e per accettare pagamenti in criptovaluta. La scelta e' coerente con la necessita' di mantenere l'infrastruttura operativa anche in presenza di segnalazioni.
pan.tenire.com e' stato precedentemente associato a "Operation Silk Lure", una campagna attribuita ad attori cinesi che distribuisce il RAT ValleyRAT attraverso false offerte di lavoro allegate come CV malevoli. La condivisione dell'infrastruttura tra una campagna RAT e una campagna botnet DDoS suggerisce un attore comune o l'utilizzo di hosting tollerante agli abusi condiviso tra gruppi diversi.
4. Kill Chain: dalla Reconnaissance alla Persistenza
182.90.229.95) testa la presenza dell'endpoint /ws/v1/cluster/apps/new-application per verificare l'assenza di autenticazione sulla REST API di YARN.am-container-spec.commands definisce una shell pipeline che scarica ed esegue il dropper Chaos dal server di distribuzione controllato dall'attaccante.curl -L -O recupera il binario ELF 64-bit dal server pan.tenire.com. I permessi vengono impostati a 777 e il binario viene eseguito. Subito dopo l'avvio, rm -rf rimuove il file dal disco: il processo Chaos continua pero' a girare in memoria./boot/system.pub, un percorso insolito e difficile da monitorare con gli strumenti standard. La combinazione dei due meccanismi garantisce la sopravvivenza anche dopo reboot o terminazioni del processo.gmserver.osfc.org.cn e apre una connessione verso l'IP corrente del server di comando (70.39.181.70, Hong Kong) sulla porta TCP 65111. La comunicazione avviene con un protocollo custom non applicativo.StartProxy, che avvia un listener SOCKS5 su una porta controllata dall'attaccante, trasformando il server vittima in un nodo proxy anonimizzante.5. Analisi del Campione: Struttura e Modifiche dalla Versione Precedente
5.1 Caratteristiche del Binario
Il campione analizzato e' un binario ELF a 64 bit compilato con il toolchain Go. La scelta di questo linguaggio offre agli attori tre vantaggi concreti: compilazione incrociata facilitata per architetture multiple (Linux x86-64, ARM, MIPS) da un unico codice sorgente, binario collegato staticamente che non richiede dipendenze sul sistema vittima, e offuscamento naturale del grafo delle chiamate rispetto a C/C++ compilato con simboli di debug.
5.2 Confronto Funzionale con le Versioni Precedenti
L'analisi comparativa con campioni precedenti di Chaos rivela una ristrutturazione significativa del codice. Il cambio del namespace da main_chaos a main suggerisce una riscrittura profonda piuttosto che una semplice modifica superficiale. Diverse funzioni sono state aggiunte, rimosse o alterate nel comportamento.
| Funzionalita' | Versioni Precedenti | Variante 2026 | Note |
|---|---|---|---|
| DDoS HTTP/TLS/TCP/UDP | Presente | Presente | Core feature invariata |
| DDoS WebSocket | Presente | Presente | Core feature invariata |
| Persistenza systemd | Presente | Presente | Logica parzialmente riscritta |
| Keepalive script /boot | Presente | Presente | /boot/system.pub invariato |
| SSH Spreader | Presente | Rimossa | Focus su server cloud, non propagazione laterale SSH |
| CVE Router Exploitation | Presente | Rimossa | Shift verso target Linux x86-64 |
| Funzioni ereditate da Kaiji | Presenti (invariate) | Riscritte | Indica refactoring profondo, non patch superficiale |
| SOCKS5 Proxy (StartProxy) | Assente | NUOVA | Principale novita' della variante 2026 |
5.3 Meccanismo di Persistenza
La persistenza viene stabilita attraverso due meccanismi complementari che si proteggono a vicenda. Il primo e' un'unita' systemd che il malware registra nel sistema di avvio, configurata per riavviarsi automaticamente in caso di crash o terminazione del processo. Il secondo e' uno script shell minimale scritto in /boot/system.pub, un percorso non convenzionale scelto perche' raramente monitorato dalle soluzioni di controllo dell'integrita' standard.
La combinazione e' efficace: anche se un amministratore identifica e termina il processo, il servizio systemd lo riavvia entro 5 secondi. Per rimuovere la persistenza in modo completo occorre disabilitare il servizio, rimuovere l'unita' da /etc/systemd/system/ e cancellare /boot/system.pub, operazioni che richiedono una ricerca attiva e non vengono intercettate dal semplice monitoraggio del processo.
6. Nuova Funzionalita': SOCKS5 Proxy Integrato
La novita' piu' significativa della variante 2026 di Chaos e' l'introduzione di un modulo proxy SOCKS5 attivabile via comando C2. Quando il bot riceve il comando StartProxy dal server di comando e controllo, inizia ad ascoltare su una porta TCP specificata dall'attaccante e inoltro tutto il traffico che gli viene indirizzato, comportandosi a tutti gli effetti come un nodo proxy.
StartProxy appare invertita nel binario analizzato a causa del byte order (endianness) dell'architettura x86-64 little-endian in cui sono memorizzate le costanti stringa Go. Questo e' un pattern normale nell'analisi di binari Go, non una tecnica di offuscamento deliberata.
6.1 Architettura del Proxy
La funzione SOCKS5 trasforma il server compromesso in un nodo di inoltro. Dal punto di vista dell'attaccante, questo offre due vantaggi operativi distinti: mascherare la propria origine (il traffico verso sistemi esterni appare provenire dall'IP della vittima) e raggiungere reti interne normalmente inaccessibili da Internet, cioe' segmenti privati raggiungibili solo dall'host compromesso.
gmserver.osfc.org.cn
:65111
Server vittima
Hadoop cluster
DDoS, scanning
IP apparente: vittima
Pivot su segmenti
non raggiungibili
6.2 Implicazioni per la Difesa
L'aggiunta del modulo SOCKS5 altera radicalmente il profilo di rischio di una compromissione Chaos. Un server infettato non e' piu' soltanto un nodo DDoS: diventa un punto di inoltro anonimizzante utilizzabile per campagne di phishing, attacchi a sistemi terzi, frode pubblicitaria o come punto di accesso per movimenti laterali su reti interne. Questo amplia il potenziale danno reputazionale per l'organizzazione colpita, il cui IP potrebbe comparire in blocklist come sorgente di attacchi, e complica la gestione dell'incidente, che deve ora includere l'analisi di tutto il traffico transitato attraverso il server durante il periodo di compromissione.
Si tratta di una tendenza gia' osservata in altri botnet come Aisuru, che ha aggiunto funzionalita' proxy analoghe come servizio cedibile ad altri attori criminali. L'integrazione di questi moduli suggerisce un modello economico ibrido: gli operatori monetizzano sia attraverso attacchi DDoS a richiesta sia attraverso l'affitto dei nodi proxy.
7. Infrastruttura C2 e Distribuzione
zh-CN locale, caratteri cinesi nel codice
Operation Silk Lure / ValleyRAT RAT.
IP storico: 154.26.209.250 (Kurun Cloud).
Hadoop YARN
Linux Cloud
...
Il dominio C2 gmserver.osfc.org.cn utilizza un TLD cinese (.cn) con un secondo livello (org) che imita domini di organizzazioni legittime. La scelta di NetLabel Global con geolocalizzazione Hong Kong, combinata con Kurun Cloud per l'IP storico, rientra nello schema consolidato di utilizzo di infrastruttura cloud asiatica economica per operazioni C2, dove i tempi di risposta alle segnalazioni di abuso sono storicamente piu' lunghi rispetto ai provider europei o nordamericani.
Al momento della redazione di questo report, nessuno dei due IP C2 (70.39.181.70 e 154.26.209.250) risponde sulla porta 65111, segno che il server C2 e' temporaneamente offline o in fase di migrazione verso nuova infrastruttura, pratica comune tra gli operatori di botnet per sfuggire ai blocchi basati su IP.
8. Correlazione con Operation Silk Lure e ValleyRAT
Un elemento di particolare interesse investigativo e' la sovrapposizione infrastrutturale tra questa campagna Chaos e "Operation Silk Lure", una campagna precedentemente documentata che distribuisce ValleyRAT, un Remote Access Trojan attribuito ad attori cinesi.
In entrambe le campagne e' stato osservato il medesimo server di distribuzione: pan.tenire.com (107.189.10.219). In Operation Silk Lure, questo dominio ospitava CV malevoli in formato Office che, una volta aperti, eseguivano un dropper per ValleyRAT. Nella campagna Chaos, lo stesso server serve il binario ELF destinato ai cluster Hadoop.
Indipendentemente dall'interpretazione dell'overlap, la correlazione ha valore operativo concreto: un blocco DNS/firewall sul dominio pan.tenire.com e sull'IP 107.189.10.219 offre protezione sia contro i dropper Chaos sia contro i payload ValleyRAT di Operation Silk Lure.
9. Mapping MITRE ATT&CK (Enterprise v14, Linux)
| Tattica | Tecnica | ID | Osservazione |
|---|---|---|---|
| Reconnaissance | Active Scanning: Scanning IP Blocks | T1595.001 | Scansione massiva porta 8088/TCP per identificare istanze YARN esposte |
| Initial Access | Exploit Public-Facing Application | T1190 | Exploitation Hadoop YARN REST API non autenticata per RCE sul cluster |
| Execution | Command and Scripting Interpreter: Unix Shell | T1059.004 | Esecuzione della shell pipeline nel campo am-container-spec.commands |
| Execution | Ingress Tool Transfer | T1105 | Download del binario Chaos via curl -L -O da server controllato dall'attaccante |
| Persistence | Create or Modify System Process: Systemd Service | T1543.002 | Installazione di un servizio systemd con Restart=always per garantire riavvio automatico |
| Defense Evasion | File and Directory Permissions Modification: Linux | T1222.002 | chmod 777 applicato al binario scaricato prima dell'esecuzione |
| Defense Evasion | Indicator Removal: File Deletion | T1070.004 | rm -rf sul binario subito dopo l'avvio, ostacola recovery forense del campione |
| C&C | Non-Application Layer Protocol | T1095 | Protocollo custom su TCP 65111 verso gmserver.osfc.org.cn |
| C&C | Proxy: Internal Proxy | T1090.001 | SOCKS5 proxy attivato da comando C2 StartProxy, instrada traffico attaccante attraverso la vittima |
| Impact | Network Denial of Service | T1498 | Funzioni DDoS multi-protocollo: HTTP, TLS, TCP, UDP, WebSocket, attivabili on-demand via C2 |
10. Indicatori di Compromissione (IoC)
I seguenti indicatori sono stati estratti dall'analisi del campione e delle infrastrutture associate. Sono classificati TLP:WHITE e possono essere distribuiti liberamente per aggiornare rule SIEM, blocklist firewall, feed threat intelligence e sistemi EDR.
| Tipo | Valore | Contesto |
|---|---|---|
| SHA-256 | ae457fc5e07195509f074fe45a6521e7fd9e4cd3cd43e42d10b0222b34f2de7a | Hash binario ELF Chaos catturato |
| IP | 182.90.229.95 | IP attaccante, sorgente della richiesta YARN malevola |
| Dominio | pan.tenire.com | Server di distribuzione del payload Chaos |
| IP | 107.189.10.219 | Risoluzione di pan.tenire.com (BuyVM, Lussemburgo) |
| Dominio C2 | gmserver.osfc.org.cn | Dominio C2 Chaos, risolve a IP in Hong Kong |
| IP C2 | 70.39.181.70 | IP corrente C2 (NetLabel Global, Hong Kong) |
| IP C2 | 154.26.209.250 | IP storico C2 (Kurun Cloud) |
| Porta C2 | TCP/65111 | Porta comunicazione C2 Chaos |
| Path | /boot/system.pub | Script keepalive persistenza scritto da Chaos |
| Servizio | systemd unit "System Network Service" | Nome servizio systemd installato da Chaos per persistenza |
| Endpoint | :8088/ws/v1/cluster/apps | Endpoint YARN REST API sfruttato per RCE iniziale |
11. Remediation e Misure di Contenimento
-
01Bloccare immediatamente la porta 8088 in ingressoLa REST API di Hadoop YARN non deve mai essere esposta su interfacce pubbliche senza autenticazione. Applicare regole firewall per limitare l'accesso alla porta 8088 alle sole sorgenti autorizzate (IP whitelist interne). Verificare anche la porta 8090 (HTTPS YARN) e 8042 (NodeManager).
-
02Abilitare l'autenticazione Kerberos su HadoopLa configurazione "semplice" di Hadoop non prevede autenticazione sulla REST API. Abilitare Kerberos come meccanismo di autenticazione per tutte le componenti del cluster (HDFS, YARN, MapReduce) elimina alla radice il vettore di accesso sfruttato da questa campagna.
-
03Ricercare indicatori di compromissione sugli host HadoopVerificare la presenza di:
- connessioni attive o recenti verso i domini e IP C2 elencati nella sezione IoC
- il file
/boot/system.pub - servizi systemd con descrizione "System Network Service" o simili non riconosciuti
- processi Go anonimi in esecuzione come utente YARN
-
04Bloccare i domini e IP dell'infrastruttura ChaosAggiungere ai DNS sinkholes e alle blocklist firewall:
pan.tenire.com,gmserver.osfc.org.cn,107.189.10.219,70.39.181.70,154.26.209.250. Monitorare il traffico in uscita verso TCP/65111 come indicatore prioritario di bot Chaos attivo. -
05Monitorare traffico SOCKS5 anomalo in uscitaUn host compromesso con la funzione StartProxy attiva genera traffico SOCKS5 verso l'esterno su porte non standard. Implementare ispezione del traffico in uscita e alerting su connessioni verso IP non classificati su porte elevate (>50000) dal perimetro. Qualsiasi host che funge da relay SOCKS5 senza autorizzazione e' da considerare compromesso.
-
06Aggiornare le signature EDR/IDS con l'hash del campioneDistribuire ai sistemi EDR e IDS l'hash SHA-256 del campione, riportato nella sezione IoC. Aggiungere regole YARA basate sulle stringhe caratteristiche del binario: in particolare la connessione verso la porta C2 TCP/65111 e la scrittura di
/boot/system.pub.
12. Conclusioni e Osservazioni Strategiche
Note metodologiche: L'analisi si basa su un campione catturato dall'honeypot proprietario Nerd Herd il 28 aprile 2026, con analisi completata il 30 aprile 2026. I dati sull'infrastruttura C2 sono stati verificati tramite query DNS e WHOIS al momento della redazione; la situazione potrebbe variare in seguito a rotazione dell'infrastruttura da parte degli attori. Gli IoC sono distribuiti in formato TLP:WHITE. Per richiedere una sessione di threat briefing, scrivere a info@nerdherd.it.