Sommario
Una nuova minaccia prende forma nel panorama delle botnet: si chiama PumaBot, ed è progettata per attaccare dispositivi Linux embedded nel settore della videosorveglianza. Il malware, scritto in linguaggio Go, si distingue per l’uso mirato di elenchi di obiettivi ricevuti da un server C2, evitando la scansione indiscriminata della rete. L’obiettivo primario sono i dispositivi dotati di accesso SSH, che vengono compromessi tramite attacchi brute-force mirati.
Un’infrastruttura silenziosa ma persistente
A differenza di molte botnet tradizionali, PumaBot non effettua scansioni massive, ma riceve da remoto liste predefinite di indirizzi IP vulnerabili tramite il dominio ssh.ddos-cc[.]org. Le credenziali vengono tentate una a una, sfruttando combinazioni fornite dallo stesso server.

Una volta ottenuto l’accesso, il malware esegue fingerprinting ambientale per evitare honeypot e shell limitate, cercando tracce di ambienti ostili o fittizi. Particolarmente interessante è il controllo sulla stringa “Pumatronix”, noto produttore di sistemi di sorveglianza, che suggerisce un focus mirato sui dispositivi traffic e CCTV.
Dopo la raccolta dei dati, tra cui nome del sistema, versione del kernel, architettura e credenziali d’accesso, PumaBot invia le informazioni al server C2 sotto forma di JSON, utilizzando una intestazione HTTP personalizzata con la chiave X-API-KEY: jieruidashabi.
Meccanismi di persistenza e mascheramento
Per assicurarsi la permanenza nel sistema, PumaBot copia sé stesso nella directory /lib/redis mascherandosi da componente Redis. Crea quindi un servizio systemd fittizio con nomi come redis.service o mysqI.service, sfruttando l’ambiguità tra caratteri visivamente simili (es. I maiuscola al posto di L). In aggiunta, inserisce chiavi SSH nei file authorized_keys degli utenti, garantendo un accesso futuro non rilevabile attraverso credenziali standard.
Una funzione chiamata cleankill() contiene un loop continuo che tenta di eseguire xmrig e networkxm, due moduli sospettati di svolgere attività di mining o ulteriori bruteforce. Se i processi non sono attivi, il malware cerca di riavviarli, mantenendo così una resilienza operativa costante.
Una campagna strutturata con moduli specifici
PumaBot non agisce da solo. Diverse componenti binarie sono state identificate come parte della stessa campagna.
Il modulo ddaemon (hash: 48ee40c40fa320d5d5f8fc0359aa96f3) si comporta come un backdoor aggiornabile che verifica il proprio hash MD5 e, se obsoleto, scarica una nuova versione da un dominio remoto. Scrive anch’esso un servizio systemd per garantirsi l’esecuzione automatica.
Il componente networkxm (hash: be83729e943d8d0a35665f55358bdf88) si occupa di attacchi brute-force SSH, ottenendo liste di password e target IP dal server remoto. Anch’esso implementa aggiornamenti automatici tramite verifica hash.
Un rootkit PAM per intercettare credenziali
Il vettore più sofisticato dell’intera operazione è uno script chiamato jc.sh, il quale sostituisce il modulo pam_unix.so con una versione malevola (pam_unix.so_v131, hash: 1bd6bcd480463b6137179bc703f49545). Questa modifica consente al malware di intercettare le credenziali in fase di login, salvando username e password in un file nascosto denominato con.txt.
In aggiunta, il binario 1 (hash: cb4011921894195bcffcdf4edce97135) agisce come un watcher: monitora la scrittura del file con.txt e invia i dati raccolti a un server remoto. Dopo l’invio, il file viene eliminato per nascondere le tracce.
Una botnet semi-automatica con caratteristiche worm-like
PumaBot rappresenta una nuova generazione di botnet: silenziosa, mirata, persistente e modulare. Sebbene non si propaghi come un worm classico, la sua capacità di autospedizione, autoaggiornamento e reinfezione in loop ne rafforza la pericolosità.
L’utilizzo di elementi familiari al sistema (Redis, PAM, systemd) rende le sue componenti difficili da rilevare senza analisi approfondite. Inoltre, la segmentazione del codice in binari indipendenti consente una flessibilità d’azione raramente osservata in campagne di questo tipo.
La sofisticazione di PumaBot risiede nell’equilibrio tra mimetismo e modularità. Il malware evita tecniche rumorose come la scansione in massa e si affida a una rete di C2 per orchestrare gli attacchi, aggiornare i binari e coordinare le attività di brute-force e raccolta credenziali. L’adozione di nomi ambigui e l’uso strategico dei percorsi di sistema comuni contribuiscono a nasconderne la presenza.
I moduli come pam_unix.so_v131 e networkxm dimostrano una chiara intenzione di persistere nei sistemi Linux embedded e IoT, con la possibilità di sfruttare le stesse infrastrutture per attività future di mining, spionaggio o lateral movement.