Dal 2021, un malware noto come “Perfctl” ha infettato migliaia di server Linux in tutto il mondo. Questo malware è stato scoperto dagli esperti di sicurezza di Aqua Security; hanno evidenziato come il malware possa sfruttare oltre 20.000 tipi di configurazioni errate nei server Linux.
La sua capacità di rimanere nascosto e persistente rende Perfctl particolarmente difficile da rilevare e rimuovere. Utilizzando un rootkit, il malware si nasconde efficacemente dai sistemi operativi e dagli strumenti di amministrazione; sospende le sue attività quando viene rilevata l’attività di nuovi login. Inoltre, comunica internamente tramite socket Unix ed esternamente attraverso la rete TOR; questo garantisce un alto livello di anonimato per gli attaccanti.
L’impatto principale di questo malware è il cryptomining non autorizzato; con l’esecuzione di un miner Monero (XMRIG) che sfrutta le risorse della CPU del server infetto. In alcune varianti è stato osservato anche il proxy-jacking, ovvero la condivisione non autorizzata della larghezza di banda inutilizzata.
Analizzando i rapporti tecnici, emerge un quadro complesso di questa minaccia e delle sfide che pone per la sicurezza dei server Linux. In questo articolo esamineremo nel dettaglio il funzionamento di Perfctl, il suo impatto e le possibili contromisure.
Perfctl, un malware elusivo
Perfctl si distingue per la sua natura poliedrica e le sofisticate tecniche di evasione. Il malware sfrutta oltre 20.000 tipi di configurazioni errate nei server Linux per ottenere l’accesso iniziale. Una volta infiltratosi nel sistema, utilizza un rootkit per nascondere la propria presenza.
La comunicazione interna avviene tramite socket Unix, mentre quella esterna sfrutta la rete Tor per l’anonimato. Dopo l’esecuzione, Perfctl elimina il proprio binario e continua a operare in background come servizio.
Si copia inoltre dalla memoria in varie posizioni sul disco; utilizza nomi ingannevoli per confondersi con i normali processi di sistema. Queste tecniche rendono estremamente difficile rilevare e rimuovere completamente l’infezione.
Inoltre il malware interrompe le attività quando viene rilevato un nuovo accesso nel sistema; questo rende estremamente difficile la sua individuazione. Alcuni amministratori su Reddit hanno anche segnalato che Perfctl tende a riapparire dopo essere stato apparentemente rimosso; suggerendo che i suoi meccanismi di persistenza siano altamente efficaci.
Il malware modifica anche lo script /.profile per garantirsi l’esecuzione ad ogni login; inoltre mantiene il controllo terminando eventuali malware concorrenti (!). In alcuni casi tenta di sfruttare la vulnerabilità Polkit (CVE-2021-4043) per elevare i privilegi.
Vettori di infezione e diffusione
L’analisi dei ricercatori di Aqua Security ha evidenziato che Perfctl sfrutta principalmente configurazioni errate e vulnerabilità note per diffondersi. In particolare, è stata osservata l’exploitation della CVE-2023-33426, una vulnerabilità critica in Apache RocketMQ corretta lo scorso anno.
Il malware utilizza una lista di quasi 20.000 percorsi per tentare di accedere a file di configurazione esposti erroneamente. Una volta ottenuto l’accesso, scarica il payload principale da server già compromessi utilizzati come canali di distribuzione anonimi.
Il payload viene poi eseguito con tecniche di offuscamento per eludere i controlli di sicurezza. La capacità di sfruttare una così vasta gamma di misconfigurazioni rende Perfctl una minaccia per qualsiasi server Linux connesso a Internet. Secondo le stime dei ricercatori, milioni di sistemi potrebbero essere potenzialmente a rischio, con migliaia già compromessi. La natura elusiva del malware e l’uso di tecniche anti-analisi hanno permesso a Perfctl di rimanere attivo per almeno tre anni prima di essere individuato. Ciò evidenzia la necessità di una maggiore attenzione alla configurazione sicura dei server e al monitoraggio proattivo delle attività sospette.
Impatto e rilevamento
L’impatto principale di Perfctl è il cryptomining non autorizzato, che comporta un consumo eccessivo di risorse CPU e potenziali rallentamenti del sistema. Tuttavia, le capacità del malware vanno oltre il semplice mining. La presenza di funzionalità di proxy-jacking indica la possibilità di abusi della larghezza di banda e potenziali rischi per la privacy e la sicurezza della rete.
Inoltre, le tecniche di persistenza e le capacità di rootkit rendono Perfctl una potenziale backdoor per ulteriori attività malevole. Il rilevamento di questo malware rappresenta una sfida significativa a causa delle sue avanzate tecniche di evasione.
Tuttavia, ci sono alcuni indicatori che possono segnalarne la presenza. Picchi insoliti di utilizzo della CPU, rallentamenti improvvisi del sistema e la presenza di file sospetti nelle directory /tmp, /usr e /root sono segnali da monitorare.
È importante controllare anche eventuali modifiche a file critici come ~/.profile e /etc/ld.so.preload. L’analisi del traffico di rete può rivelare comunicazioni Tor o connessioni a pool di cryptomining noti. I ricercatori consigliano inoltre di monitorare la presenza di binari sospetti con nomi come perfctl, sh, libpprocps.so o libfsnkdev.so. È cruciale anche monitorare il traffico di rete per comunicazioni basate su TOR e connessioni in uscita verso pool di mining o servizi di proxy-jacking.
L’utilizzo di strumenti di monitoraggio dell’integrità dei file (Paessler PRTG,Tripwire Enterprise,OSSEC ed altri) e di analisi comportamentale (Aqua Security, VirusTotal, Hybrid Analysis, Cuckoo Sandbox ed altri) può aiutare a rilevare le attività anomale associate a Perfctl.
Strategie di mitigazione e prevenzione
Per proteggere i sistemi Linux da minacce come Perfctl, è fondamentale adottare un approccio di sicurezza stratificato. Innanzitutto, è essenziale mantenere aggiornati tutti i software e le librerie di sistema, applicando tempestivamente le patch di sicurezza. In particolare applicazioni rivolte a Internet come server RocketMQ e CVE-2021-4043 (Polkit) . La restrizione dell’esecuzione di file in directory scrivibili come /tmp può limitare le capacità del malware. Imposta noexec su on in /tmp
, /dev/shm
e altre directory scrivibili per impedire al malware di eseguire file binari direttamente da queste posizioni.
È consigliabile disabilitare i servizi non necessari, in particolare quelli che espongono il sistema a Internet. L’implementazione di una gestione rigorosa dei privilegi, con l’uso di controlli di accesso basati sui ruoli (RBAC), può limitare i danni in caso di compromissione.
La segmentazione della rete e l’uso di firewall per limitare le connessioni in uscita, specialmente verso la rete Tor o pool di cryptomining noti, sono ulteriori misure preventive efficaci. L’impiego di strumenti di protezione runtime avanzati, in grado di rilevare rootkit e malware, può fornire un ulteriore livello di difesa.
È inoltre fondamentale implementare un robusto sistema di monitoraggio e logging, con particolare attenzione ai picchi di utilizzo delle risorse e alle modifiche dei file di sistema critici.
Malware Perfctl : conclusioni
Il malware Perfctl rappresenta una minaccia significativa per i server Linux a livello globale, evidenziando la necessità di misure di sicurezza robuste e monitoraggio costante. La capacità di questo malware di rimanere nascosto e persistere per almeno tre anni senza essere rilevato sottolinea l’importanza di un approccio proattivo alla sicurezza.
La vasta gamma di configurazioni errate sfruttate da Perfctl sottolinea l’importanza di una corretta configurazione e manutenzione dei server Linux. Non si tratta solo di applicare patch, ma di adottare un approccio che includa hardening del sistema, monitoraggio continuo e risposta rapida agli incidenti.