Complexul malware Drovorub infectează sistemul de operare Linux

Agenția Națională de Securitate și Biroul Federal de Investigații al SUA a publicat un raport, conform căruia al 85-lea centru principal de servicii speciale Direcția principală a Statului Major General al Forțelor Armate Ruse (85 GCSS GRU) este utilizat un complex de malware numit „Drovorub”. Drovorub include un rootkit sub forma unui modul de kernel Linux, un instrument pentru transferul de fișiere și redirecționarea porturilor de rețea și un server de control. Partea client poate descărca și încărca fișiere, poate executa comenzi arbitrare ca utilizator root și poate redirecționa porturile de rețea către alte noduri de rețea.

Centrul de control Drovorub primește calea către fișierul de configurare în format JSON ca argument de linie de comandă:

{
"db_host" : " ",
"db_port" : " ",
"db_db" : " ",
"db_user" : " ",
"db_password" : " ",

"lport": " ",
"lhost": " ",
"ping_sec": " ",

"priv_key_file" : " ",
"fraza": " »
}

MySQL DBMS este folosit ca backend. Protocolul WebSocket este utilizat pentru a conecta clienții.

Clientul are o configurație încorporată, inclusiv adresa URL a serverului, cheia publică RSA, numele de utilizator și parola. După instalarea rootkit-ului, configurația este salvată ca fișier text în format JSON, care este ascuns de sistem de modulul kernel Drovoruba:

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

Aici „id” este un identificator unic emis de server, în care ultimii 48 de biți corespund adresei MAC a interfeței de rețea a serverului. Parametrul implicit „cheie” este un șir codificat în bază64 „clientkey” care este utilizat de server în timpul strângerii de mână inițiale. În plus, fișierul de configurare poate conține informații despre fișiere ascunse, module și porturi de rețea:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"key": "Y2xpZW50a2V5",
„monitor” : {
"fisier": [
{
"activ": "adevărat"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"mask": "testfile1"
}
],
"modul" : [
{
"activ": "adevărat"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"masca": "testmodule1"
}
],
"net": [
{
"activ": "adevărat"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"port" : "12345",
"protocol": "tcp"
}
] }
}

O altă componentă a Drovorub este agentul; fișierul său de configurare conține informații pentru conectarea la server:

{
"client_login": "user123",
"client_pass" : "pass4567",
„client” : „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"
}

Câmpurile „clientid” și „clientkey_base64” lipsesc inițial; acestea sunt adăugate după înregistrarea inițială pe server.

După instalare, se efectuează următoarele operații:

  • este încărcat modulul kernel, care înregistrează hook-uri pentru apelurile de sistem;
  • clientul se înregistrează cu modulul kernel;
  • Modulul kernel ascunde procesul client care rulează și fișierul său executabil pe disc.

Un pseudo-dispozitiv, de exemplu /dev/zero, este folosit pentru a comunica între client și modulul kernel. Modulul kernel parsează toate datele scrise pe dispozitiv, iar pentru transmisie în sens invers trimite semnalul SIGUSR1 către client, după care citește datele de pe același dispozitiv.

Pentru a detecta Lumberjack, puteți utiliza analiza traficului de rețea folosind NIDS (activitatea de rețea rău intenționată în sistemul infectat în sine nu poate fi detectată, deoarece modulul kernel ascunde prizele de rețea pe care le folosește, regulile netfilter și pachetele care ar putea fi interceptate de prizele brute) . Pe sistemul în care este instalat Drovorub, puteți detecta modulul kernel trimițându-i comanda pentru a ascunde fișierul:

atingeți fișierul de testare
echo „ASDFZXCV:hf:testfile” > /dev/zero
ls

Fișierul „testfile” creat devine invizibil.

Alte metode de detectare includ memoria și analiza conținutului discului. Pentru a preveni infectarea, se recomandă utilizarea obligatorie a verificării semnăturii nucleului și modulelor, disponibilă începând cu versiunea 3.7 a nucleului Linux.

Raportul conține reguli Snort pentru detectarea activității de rețea a Drovorub și regulile Yara pentru detectarea componentelor sale.

Să ne amintim că al 85-lea GTSSS GRU (unitatea militară 26165) este asociat cu grupul APT28 (Ursul de lux), responsabil pentru numeroase atacuri cibernetice.

Sursa: opennet.ru