PyLoose è un nuovo malware fileless (ossia, che non memorizza alcun file malevolo all’interno della macchina infetta) che sta prendendo di mira i workload in cloud per dirottarne le risorse computazionali e sfruttarle per il mining della criptovaluta Monero.
L’attacco, come hanno scoperto i ricercatori di sicurezza Avigayil Mechtinger, Oren Ofer e Itamar Gilad, viene condotto mediante uno script Python che carica il tool XMRig Miner direttamente in memoria utilizzando l’utility memfd, una tecnica di esecuzione fileless tipica sui sistemi Linux che consente la creazione di file oggetto di memoria utilizzati per la comunicazione tra processi, l’archiviazione temporanea o per altri scopi.
XMRig, lo ricordiamo, è uno strumento open source legittimo e particolarmente performante per il mining di criptovalute ma che, proprio per queste sue caratteristiche, è ampiamente abusato per sfruttare la potenza della CPU e risolvere i complessi algoritmi richiesti per il cryptomining.
In particolare, la versione del miner caricato nella memoria dell’istanza cloud compromessa è abbastanza recente (6.19.3) e utilizza il pool di mining “MoneroOcean” per estrarre criptovaluta Monero.
Dalle rilevazioni fatte dai ricercatori di sicurezza, PyLoose è apparso in natura per la prima volta il 22 giugno 2023 e da allora gli attacchi confermati sono stati almeno 200.
Indice degli argomenti
La catena di attacco di PyLoose
Il codice Python con cui è scritto PyLoose è relativamente semplice e contiene al suo interno il miner XMRig precompilato e codificato in base64.
Come tutti i malware fileless, inoltre, PyLoose viene eseguito direttamente in memoria e questo lo rende incredibilmente furtivo e difficile da rilevare.
Il fatto di non lasciare alcuna impronta sulle unità del sistema infetto, infatti, lo rende di fatto immune ai sistemi di sicurezza basati sulle firme virali.
Inoltre, dalle analisi dei campioni del malware, si evince che gli attori della minaccia distribuiscono PyLoose iniettando il codice all’interno di strumenti e servizi legittimi. In particolare, i ricercatori hanno confermato che il punto di accesso iniziale ai dispositivi è attraverso servizi di Jupyter Notebook (una piattaforma di computing interattiva web-based) pubblicamente accessibili, che non limitano i comandi di sistema.
Dopodiché, l’attaccante utilizza una richiesta HTTPS GET per prelevare il payload di PyLoose da un sito simile a Pastebin, “paste.c-net.org”, e caricarlo direttamente nella memoria di runtime di Python.
A questo punto, lo script di PyLoose viene decodificato e decompresso per caricare XMRig direttamente nella memoria dell’istanza utilizzando l’utility memfd.
Una volta che il payload viene collocato all’interno di una sezione di memoria creata tramite memfd, gli aggressori possono invocare una delle syscall exec su quel contenuto di memoria, trattandolo come se fosse un normale file su disco, e quindi lanciare un nuovo processo.
Ciò consente agli aggressori di eseguire il payload direttamente dalla memoria, eludendo la maggior parte delle soluzioni di sicurezza tradizionali.
Come mitigare il rischio di attacco
Al momento, i ricercatori di sicurezza che hanno rilevato le attività malevoli di PyLoose non sono riusciti ad attribuire gli attacchi del malware a nessun attore della minaccia noto, in quanto non è stata lasciata alcuna traccia utile.
Un particolare, questo, che conferma come PyLoose sia particolarmente sofisticato rispetto ad altri malware fileless studiati finora.
Le particolari caratteristiche tecniche del malware e i pochi dettagli tecnici al momento disponibili ne rendono complicato il contrasto.
Per mitigarne il rischio, quindi, i ricercatori raccomandano agli amministratori delle istanze cloud di evitare l’esposizione pubblica dei servizi suscettibili di esecuzione di codice da remoto, di utilizzare password forti e l’autenticazione a più fattori per proteggere l’accesso a tali servizi e di porre restrizioni all’esecuzione dei comandi di sistema.