Dal 2022, un malware per Linux denominato “sedexp” ha eluso il rilevamento utilizzando una tecnica di persistenza non ancora inclusa nel framework MITRE ATT&CK. Il malware è stato scoperto dalla società di risk management Stroz Friedberg e consente ai suoi operatori di creare shell inverse per l’accesso remoto e di promuovere l’attacco. I ricercatori hanno notato che “la tecnica di persistenza utilizzata (regole udev) non è documentata da MITRE ATT&CK“, ricordando che sedexp è una minaccia avanzata che si nasconde in bella vista. ‘Udev’ è un management system dei dispositivi per il kernel Linux responsabile della gestione dei nodi dei dispositivi nella directory /dev. Questo contiene file che rappresentano i componenti hardware disponibili sul sistema, come unità di archiviazione, interfacce di rete e unità USB. I file dei nodi vengono creati e rimossi dinamicamente quando l’utente collega/scollega i dispositivi, mentre udev gestisce anche il caricamento dei driver appropriati.
Sedexp: come funziona il malware su Linux
Le regole di udev sono file di configurazione di testo che stabiliscono come bisogna gestire determinati dispositivi o eventi, situati in ‘/etc/udev/rules.d/‘ o ‘/lib/udev/rules.d/‘. Queste regole contengono tre parametri che specificano la sua applicabilità (ACTION== “add”), il nome del dispositivo (KERNEL== “sdb1”) e quale script eseguire quando vengono soddisfatte le condizioni specificate (RUN+=”/path/to/script”).
Il malware sedexp aggiunge la seguente regola udev sui sistemi compromessi: ACTION==”add”, ENV{MAJOR}==”1″, ENV{MINOR}==”8″, RUN+=”asedexpb run:+”. Questa si attiva ogni volta che un nuovo dispositivo viene aggiunto al sistema. Verifica quindi se i suoi numeri principali e secondari corrispondono a ‘/dev/random‘, che viene caricato all’avvio del sistema e utilizzato come generatore di numeri casuali da più app e processi di sistema. Il componente della regola finale (RUN+= “asedexpb run:+”) esegue lo script del malware ‘asedexpb’. Quindi, impostando /dev/random come precondizione, gli aggressori assicurano che il malware venga eseguito frequentemente. Ancora più importante, /dev/random è un componente di sistema essenziale su Linux che le soluzioni di sicurezza non monitorano. Quindi, il suo abuso garantisce l’elusione del malware.
Il malware chiama il suo processo “kdevtmpfs“, che imita un processo di sistema legittimo. Ciò lo rende più difficile da rilevare con metodi convenzionali. Il malware utilizza poi forkpty o pipe e un nuovo processo forkato per impostare una shell inversa per l’aggressore per accedere da remoto al dispositivo infetto. Sedexp impiega anche tecniche di manipolazione della memoria per nascondere qualsiasi file contenente la stringa “sedexp” da comandi standard come “ls” o “find“, nascondendone la presenza nel sistema. I ricercatori affermano che il malware è stato sfruttato almeno dal 2022. È stato infatti trovato in molti sandbox online. Secondo Stroz Friedberg, il malware è stato utilizzato per nascondere codice di scraping di carte di credito su server web compromessi. Ciò indica il coinvolgimento in attacchi motivati finanziariamente.