Un 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, in base al quale l'85° centro principale del servizio speciale GU GSH VS RF (85 GCTSS GRU) utilizza un complesso di malware chiamato «Drovorez». Il «Drovorez» include un rootkit sotto forma di modulo del kernel Linux, uno strumento per il trasferimento di file e il reindirizzamento delle porte di rete e un server di controllo. La parte client può scaricare e caricare file, eseguire comandi arbitrari per conto dell'utente root e reindirizzare le porte di rete verso altri nodi della rete.

Il centro di gestione 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 la connessione dei client viene utilizzato il protocollo WebSocket.

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

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

Qui «id» è un identificatore unico, assegnato 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», che viene utilizzata dal server durante il primo handshake. 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 suo file di configurazione contiene informazioni per la connessione 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» sono inizialmente 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 gli hook per le chiamate di sistema;
  • il client si registra nel modulo del kernel;
  • il modulo del kernel nasconde il processo attivo del client e il suo file eseguibile sul disco.

Per interagire con il modulo del kernel, il client utilizza un dispositivo pseudo, ad esempio /dev/zero. Il modulo del kernel esegue l'analisi di tutti i dati scritti sul dispositivo e per la trasmissione nella direzione opposta invia al client il segnale SIGUSR1, dopo di che questo legge i dati dallo stesso dispositivo.

Per rilevare il «Drovorez» è possibile utilizzare l'analisi del traffico di rete tramite NIDS (non è possibile identificare l'attività di rete malevola all'interno del sistema compromesso, poiché il modulo del kernel nasconde i socket di rete utilizzati, le regole di netfilter e i pacchetti che potrebbero essere intercettati da socket raw). In un sistema in cui è installato il «Drovorez», è possibile rilevare il modulo del kernel inviando un 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, si raccomanda di utilizzare il controllo obbligatorio della firma del kernel e dei moduli, disponibile a partire dalla versione del kernel linux 3.7.

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

Ricordiamo che l'85 GCSS GRU (v/ch 26165) è associato al gruppo APT28 (Fancy Bear), responsabile di numerosi attacchi informatici.

Fonte: opennet.ru

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