Il complesso di malware "Drovorez" infetta i sistemi operativi Linux

L'agenzia per la sicurezza nazionale e il Federal Bureau of Investigation degli Stati Uniti hanno pubblicato un rapporto, secondo cui l'85° Centro principale dei servizi speciali GRU delle Forze Armate della Federazione Russa (85 GЦСС ГРУ) utilizza un complesso malware chiamato «Drovorez». Il «Drovorez» comprende un rootkit in forma di modulo del kernel Linux, uno strumento per il trasferimento di file e il reindirizzamento delle porte di rete, oltre a un server di controllo. La parte client può scaricare e caricare file, eseguire comandi arbitrari con i privilegi dell'utente root e reindirizzare porte di rete verso altri nodi della rete.

Il centro di controllo del «Drovorez» riceve come argomento della riga di comando il percorso del file di configurazione in formato JSON:

{
«db_host» : «»,
«db_port» : «»,
«db_db» : «»,
«db_user» : «»,
«db_password» : «»,

«lport» : «»,
«lhost» : «»,
«ping_sec» : «»,

«priv_key_file» : «»,
«phrase» : «»
}

Come backend viene utilizzato il database MySQL. Per connettere i clienti viene usato il protocollo WebSocket.

Il client ha una configurazione integrata, incluso l'URL del server, la sua chiave pubblica RSA, il nome utente e la password. Dopo l'installazione del rootkit, la configurazione viene salvata come file di testo in formato JSON, che viene nascosto dal modulo del kernel del «Drovorez»:

{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
«key»: «Y2xpZW50a2V5»
}

Qui «id» è un identificatore univoco fornito dal server, i cui ultimi 48 bit corrispondono all'indirizzo MAC dell'interfaccia di rete del server. Il parametro «key» è di default una stringa codificata in base64 «clientkey», utilizzata dal server durante la fase di handshake iniziale. Inoltre, il file di configurazione può contenere informazioni sui file nascosti, moduli e porte di rete:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
«key»: «Y2xpZW50a2V5»,
«monitor» : {
«file» : [
{
«active» : «true»,
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
«mask» : «testfile1»
}
],
«module» : [
{
«active» : «true»,
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
«mask» : «testmodule1»
}
],
«net» : [
{
«active» : «true»,
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
«port» : «12345»,
«protocol» : «tcp»
}
]
}
}

Un altro componente del «Drovorez» è l'agente, il cui file di configurazione contiene informazioni per connettersi al server:

{
«client_login» : «user123»,
«client_pass» : «pass4567»,
«clientid» : «e391847c-bae7-11ea-b4bc-000c29130b71»,
«clientkey_base64» : «Y2xpZW50a2V5»,
«pub_key_file» : «public_key»,
«server_host» : «192.168.57.100»,
«server_port» : «45122»,
«server_uri» : «/ws»
}

I campi «clientid» e «clientkey_base64» inizialmente sono assenti, vengono aggiunti dopo la registrazione iniziale sul server.

Dopo l'installazione vengono eseguite le seguenti operazioni:

  • viene caricato il modulo del kernel, che registra i ganci per le chiamate di sistema;
  • il client si registra nel modulo del kernel;
  • il modulo del kernel nasconde il processo client in esecuzione e il suo file eseguibile su disco.

Per l'interazione tra il client e il modulo del kernel viene utilizzato un dispositivo pseudo, ad esempio /dev/zero. Il modulo del kernel analizza tutti i dati scritti nello dispositivo, e per inviare dati in direzione opposta invia al client un segnale SIGUSR1, dopodiché quest'ultimo legge i dati da questo stesso dispositivo.

Per rilevare il «Drovorez» è possibile utilizzare l'analisi del traffico di rete tramite strumenti NIDS (l'attività di rete malevola nel sistema infettato non può essere rilevata, poiché il modulo del kernel nasconde i socket di rete utilizzati, le regole netfilter e i pacchetti che potrebbero essere catturati da socket raw). In un sistema in cui è installato il «Drovorez», il modulo del kernel può essere rilevato inviando il comando di nascondimento del file:

touch testfile
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls

Il file creato «testfile» diventa invisibile.

Altri metodi di rilevamento includono l'analisi della memoria e del contenuto del disco. Per prevenire l'infezione è consigliabile utilizzare il controllo obbligatorio della firma del kernel e dei moduli, disponibile a partire dalla versione 3.7 del kernel Linux.

Il rapporto contiene regole Snort per rilevare l'attività di rete del «Drovorez» e regole Yara per il rilevamento dei suoi componenti.

Ricordiamo che l'85 GЦСС ГРУ (v/ch 26165) è associata al gruppo APT28 (Fancy Bear), responsabile di numerosi attacchi informatici.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster