Kompleksi i malware Drovorub infekton Linux OS

Agjencia e Sigurisë Kombëtare dhe Byroja Federale e Hetimit të SHBA publikoi një raport, sipas të cilit qendra kryesore e 85-të e shërbimit special Drejtoria kryesore e Shtabit të Përgjithshëm të Forcave të Armatosura Ruse (85 GCSS GRU) përdoret një kompleks malware i quajtur "Drovorub". Drovorub përfshin një rootkit në formën e një moduli kernel Linux, një mjet për transferimin e skedarëve dhe ridrejtimin e porteve të rrjetit dhe një server kontrolli. Pjesa e klientit mund të shkarkojë dhe ngarkojë skedarë, të ekzekutojë komanda arbitrare si përdoruesi rrënjë dhe të ridrejtojë portat e rrjetit në nyjet e tjera të rrjetit.

Qendra e kontrollit Drovorub merr shtegun për në skedarin e konfigurimit në formatin JSON si një argument i linjës së komandës:

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

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

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

MySQL DBMS përdoret si një backend. Protokolli WebSocket përdoret për të lidhur klientët.

Klienti ka konfigurim të integruar, duke përfshirë URL-në e serverit, çelësin e tij publik RSA, emrin e përdoruesit dhe fjalëkalimin. Pas instalimit të rootkit, konfigurimi ruhet si një skedar teksti në formatin JSON, i cili fshihet nga sistemi nga moduli i kernelit Drovoruba:

{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
"çelësi": "Y2xpZW50a2V5"
}

Këtu "id" është një identifikues unik i lëshuar nga serveri, në të cilin 48 bitet e fundit korrespondojnë me adresën MAC të ndërfaqes së rrjetit të serverit. Parametri i paracaktuar "kyç" është një varg i koduar "klientkey" në bazë64 që përdoret nga serveri gjatë shtrëngimit fillestar të duarve. Përveç kësaj, skedari i konfigurimit mund të përmbajë informacione rreth skedarëve të fshehur, moduleve dhe portave të rrjetit:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"çelësi": "Y2xpZW50a2V5",
"monitor" : {
"skedar" : [
{
"aktiv": "e vërtetë"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"maskë" : "testfile1"
}
],
"moduli": [
{
"aktiv": "e vërtetë"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask" : "testmodule1"
}
],
"neto" : [
{
"aktiv": "e vërtetë"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"port" : "12345",
"protokolli" : "tcp"
}
] }
}

Një komponent tjetër i Drovorub është agjenti; skedari i tij i konfigurimit përmban informacione për t'u lidhur me serverin:

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

Fillimisht mungojnë fushat "clientid" dhe "clientkey_base64", ato shtohen pas regjistrimit fillestar në server.

Pas instalimit, kryhen veprimet e mëposhtme:

  • ngarkohet moduli i kernelit, i cili regjistron grepa për thirrjet e sistemit;
  • klienti regjistrohet me një modul kernel;
  • Moduli i kernelit fsheh procesin e klientit që funksionon dhe skedarin e tij të ekzekutueshëm në disk.

Një pseudo-pajisje, për shembull /dev/zero, përdoret për të komunikuar ndërmjet klientit dhe modulit të kernelit. Moduli i kernelit analizon të gjitha të dhënat e shkruara në pajisje dhe për transmetim në drejtim të kundërt dërgon sinjalin SIGUSR1 te klienti, pas së cilës lexon të dhënat nga e njëjta pajisje.

Për të zbuluar Lumberjack, mund të përdorni analizën e trafikut të rrjetit duke përdorur NIDS (aktiviteti keqdashës i rrjetit në vetë sistemin e infektuar nuk mund të zbulohet, pasi moduli i kernel fsheh bazat e rrjetit që përdor, rregullat e filtrit të rrjetit dhe paketat që mund të përgjohen nga bazat e papërpunuara) . Në sistemin ku është instaluar Drovorub, mund të zbuloni modulin e kernelit duke i dërguar komandën për të fshehur skedarin:

skedari i testit me prekje
echo "ASDFZXCV:hf:testfile" > /dev/zero
ls

Skedari i krijuar "test file" bëhet i padukshëm.

Metoda të tjera të zbulimit përfshijnë analizën e memories dhe përmbajtjes së diskut. Për të parandaluar infeksionin, rekomandohet përdorimi i verifikimit të detyrueshëm të nënshkrimit të kernelit dhe moduleve, i disponueshëm duke filluar nga versioni 3.7 i kernel Linux.

Raporti përmban rregullat Snort për zbulimin e aktivitetit të rrjetit të Drovorub dhe rregullat Yara për zbulimin e komponentëve të tij.

Kujtojmë se GRU 85 GTSSS (njësia ushtarake 26165) është e lidhur me grupin APT28 (Ariu i zbukuruar), përgjegjës për sulme të shumta kibernetike.

Burimi: opennet.ru