Gli esperti di Barracuda analizzano la nuova variante del malware InterPlanetary Storm

redazione

L’organizzazione cybercriminale che ha creato il malware InterPlanetary Storm ha da poco lanciato una nuova variante capace di colpire, oltre le macchine Windows e Linux, anche i dispositivi Mac e Android. Il malware sta costruendo una botnet, che secondo i ricercatori Barracuda comprende al momento circa 13.500 macchine infette distribuite in 84 Paesi. E il numero è in continua crescita.

La maggior parte delle macchine infette si trova in Asia:

  • 59% a Hong Kong, Sud Corea e Taiwan
  • 8% in Russia e Ucraina
  • 6% in Brasile
  • 5% negli USA e Canada
  • 3% in Svezia
  • 3% in Cina
  • 1% o meno in tutti gli altri Paesi

Di seguito, un’analisi della minaccia e delle soluzioni disponibili per individuare, bloccare e rimediare agli attacchi.

La minaccia

Una nuova variante del malware InterPlanetary Storm. Questa nuova variante ottiene l’accesso alle macchine per mezzo di un attacco a dizionario contro server SSH, simile a un altro malware P2P,  FritzFrog. Esso può infiltrarsi anche accedendo a server ADB (Android Debug Bridge) aperti. Il malware riconosce l’architettura della CPU e il sistema operativo della vittima e può girare su macchine basate su ARM, un’architettura molto comune nei router e in altri dispositivi IoT.

Il malware è chiamato InterPlanetary Storm perché utilizza la rete p2p  InterPlanetary File System (IPFS) e l’implementazione libp2p sottostante. Ciò permette ai nodi infetti di comunicare tra loro direttamente o attraverso altri nodi (relay).

La prima variante di Interplanetary Storm, che colpiva le macchine Windows, è stata scoperta nel maggio 2019, seguita nel giugno di quest’anno dalla variante capace di attaccare le macchine Linux. Questa nuova variante, che i ricercatori Barracuda hanno individuato per la prima volta alla fine di agosto, attacca i dispositivi IoT – ad esempio le smart TV basate su sistema operativo Android – e le macchine Linux, ad esempio i router con servizio SSH configurato malamente.

Per quanto al momento non sia ancora chiara la funzione della botnet che il malware sta creando, sicuramente mette a disposizione dei cybercriminali una backdoor sui sistemi infetti che potrà essere usata per azioni di cryptomining, attacchi DDoS o altri attacchi massivi.

I dettagli

Questa variante di InterPlanetary Storm è scritta in Go, utilizza l’implementazione Go di libp2p e è compressa con UPX. Si diffonde usando forza bruta SSH e apre le porte ADB, distribuendo file di malware su altri nodi della rete. Il malware abilita inoltre la reverse shell e può lanciare bash shell.

I ricercatori Barracuda hanno individuato diverse funzioni pensate per aiutare il malware a persistere e proteggersi una volta infettata la macchina.

  • Riconosce gli honeypot. Il malware cerca la stringa “svr04” nel prompt di default della shell (PS1), già utilizzato dall’honeypot Cowrie.
  • Si autoaggiorna. Il malware confronta la versione dell’istanza attuale con l’ultima versione disponibile e se necessario esegue l’aggiornamento.
  • Cercherà di persistere installando un servizio (system/systemv), usando un pacchetto daemon Go.
  • Esclude tutti i processi sulla macchina che possono rappresentare una minaccia per il malware, come ad esempio debuggers e malware concorrente. Per farlo, cerca le seguenti stringhe nelle linee dei comandi:

– “/data/local/tmp”

– “rig”

– “xig”

– “debug”

– “trinity”

– “xchecker”

– “zypinstall”

– “startio”

– “startapp”

– “synctool”

– “ioservice”

– “start_”

– “com.ufo.miner”

– “com.google.android.nfcguard”

– “com.example.test”

– “com.example.test2”

– “saoas”

– “skhqwensw”

Le chiavi di Interplanetary Storm

Il backend del malware comunica le seguenti chiavi sull’IPFS Distributed Hash Table (DHT). I nodi infetti cercheranno quindi di trovare loro pari in grado di fornire i servizi richiesti.

Key

Purpose

requeBOHCHIY2XRMYXI0HCSZA

C2

proxybackendH0DHVADBCIKQ4S7YOX4X

Proxy backend

web-api:kYVhV8KQ0mA0rs9pHXoWpD

File distribution backend

Tutti i nodi infetti comunicheranno la chiave

“fmi4kYtTp9789G3sCRgMZVG7D3uKalwtCuWw1j8LSPHQEGVBU5hfbNdnHvt3kyR1fYUlGNAO0zactmIMIZodsOha9tnfe25Xef1” per rendere noto di essere parte della botnet. L’ID di ogni macchina infetta sarà generato una volta nella fase iniziale e sarà riutilizzato se la macchina viene riavviata o il malware viene aggiornato.

I nodi infetti comunicheranno le chiavi nella forma “stfadv:<cheksum>” per notificare che il nodo può fornire un file con quel checksum.

Protocolli di comunicazione

Le applicazioni Libp2p gestiscono le connessioni in entrata in base a un indirizzo logico (cioè sconosciuto al livello di trasporto) denominato protocol ID. Convenzionalmente, i protocol ID hanno una struttura path-like, con un numero di versione come componente finale.

File distribution backend

I server di distribuzione dei file possono essere scoperti usando la chiave

“web-api:kYVhV8KQ0mA0rs9pHXoWpD”. Le relative macchine peer implementano http sul protocollo libp2p e servono i seguenti URL:

Path

Metodo

Descrizione

/version

GET

Get the peer version

/files/checksum?f=<file name>

GET

Get the current checksum of the file <file name>

/files/seedrs-http?c=<checksum>

GET

Get a list of nodes capable of serving the file

POST /files/seedrs-http

POST

Add node info

/nodes/

POST

Add node info

IOC

Il malware può “consegnare” alcuni dei seguenti file:

storm_android-amd64

d4e3102b859ebfda5a276b2ce6f226e27fdcdef5e693ee7742be863236e2374a

storm_android-386

9dab7f5ff2873389a4b0e68cb84978fc5907cd2579bd15a1d39e277f5d2fdc27

storm_android-arm64

16bcb323bfb464f7Barracudafcfb7530ecb06948305d8de658868d9c3c3c31f63146d4

storm_android-arm7

56c08693fdf92648bf203f5ff11b10b9dcfedb7c0513b55b8e2c0f03b209ec98

storm_linux-amd64

ab462d9d2a9a659489957f80d08ccb8a97bbc3c2744beab9574fda0f74bd1fe2

Storm_linux-386

ba1e8d25cc380fdbbf4b5878a31e5ed692cfd2523f00ca41022e61f76654dd4f

storm_linux-arm64

50406ec7fa22c78e9Barracuda4da4ccc127a899db21f7a23Barracuda916ba432900716e0db3d

storm_linux-arm7

a2f4c9f8841d5c02ffd4573c5c91f7711c7f56717ddb981f719256163be986e8

storm_darwin-amd64

4cd7c5ee322e55Barracudac1ae49f152629bfbdc2f395e9d8c57ce65dbb5d901f61ac1

Come proteggersi

Ecco alcune azioni che aiutano a proteggersi da questa variante del malware:

  • Configurare correttamente l’accesso SSH su tutti i dispositivi. Ciò significa ad esempio utilizzare chiavi anziché password, il che renderà l’accesso molto più sicuro. Quando è abilitato il login via password e il servizio è accessibile il malware può sfruttare la superficie di attacco malamente configurata. Si tratta di un problema comune con i router e i dispositivi IoT, che possono quindi essere facile preda di questo malware.
  • Usare un tool di gestione della sicurezza cloud per monitorare gli accessi SSH ed eliminare gli errori di configurazione, che potrebbero avere effetti catastrofici.  Per garantire un accesso sicuro alla shell quando necessario, anziché esporre la risorsa su Internet, è meglio implementare una connessione VPN MFA-enabled e segmentare la rete in funzione delle esigenze specifiche anziché garantire l’accesso alle reti IP in generale.