Drovorub kenkėjiškų programų kompleksas užkrečia Linux OS

Nacionalinė saugumo agentūra ir JAV federalinis tyrimų biuras paskelbė pranešimą, pagal kurią 85-asis pagrindinis specialiosios tarnybos centras Rusijos ginkluotųjų pajėgų generalinio štabo vyriausiasis direktoratas (85 GCSS GRU) naudojamas kenkėjiškų programų kompleksas, vadinamas „Drovorub“. „Drovorub“ apima „Linux“ branduolio modulio „rootkit“, failų perkėlimo ir tinklo prievadų peradresavimo įrankį ir valdymo serverį. Kliento dalis gali atsisiųsti ir įkelti failus, vykdyti savavališkas komandas kaip pagrindinis vartotojas ir peradresuoti tinklo prievadus į kitus tinklo mazgus.

Drovorub valdymo centras gauna kelią į konfigūracijos failą JSON formatu kaip komandinės eilutės argumentą:

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

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

"priv_key_file" : "",
"frazė" : ""
}

MySQL DBVS naudojama kaip užpakalinė programa. „WebSocket“ protokolas naudojamas klientams prijungti.

Klientas turi integruotą konfigūraciją, įskaitant serverio URL, jo RSA viešąjį raktą, vartotojo vardą ir slaptažodį. Įdiegus rootkit, konfigūracija išsaugoma kaip tekstinis failas JSON formatu, kurį Drovoruba branduolio modulis slepia nuo sistemos:

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

Čia „id“ yra unikalus serverio išduotas identifikatorius, kuriame paskutiniai 48 bitai atitinka serverio tinklo sąsajos MAC adresą. Numatytasis „rakto“ parametras yra „base64“ užkoduota eilutė „kliento raktas“, kurią serveris naudoja pradinio rankos paspaudimo metu. Be to, konfigūracijos faile gali būti informacijos apie paslėptus failus, modulius ir tinklo prievadus:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"raktas": "Y2xpZW50a2V5",
"monitorius": {
"failas" : [
{
"aktyvus" : "tiesa"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"kaukė": "testfile1"
}
],
"modulis" : [
{
"aktyvus" : "tiesa"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask" : "testmodule1"
}
],
"net" : [
{
"aktyvus" : "tiesa"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"uostas": "12345",
"protokolas": "tcp"
}
] }
}

Kitas Drovorub komponentas yra agentas; jo konfigūracijos faile yra informacija, skirta prisijungti prie serverio:

{
"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š pradžių trūksta laukų „clientid“ ir „clientkey_base64“, jie pridedami po pirminės registracijos serveryje.

Po įdiegimo atliekamos šios operacijos:

  • įkeliamas branduolio modulis, kuris registruoja sistemos iškvietimus;
  • klientas užsiregistruoja su branduolio moduliu;
  • Branduolio modulis paslepia veikiantį kliento procesą ir jo vykdomąjį failą diske.

Pseudo įrenginys, pvz., /dev/zero, naudojamas palaikyti ryšį tarp kliento ir branduolio modulio. Branduolio modulis analizuoja visus duomenis, įrašytus į įrenginį, o perdavimui priešinga kryptimi siunčia SIGUSR1 signalą klientui, po to nuskaito duomenis iš to paties įrenginio.

Norėdami aptikti Lumberjack, galite naudoti tinklo srauto analizę naudodami NIDS (kenksmingos tinklo veiklos pačioje užkrėstoje sistemoje negalima aptikti, nes branduolio modulis slepia naudojamus tinklo lizdus, ​​tinklo filtro taisykles ir paketus, kuriuos gali perimti neapdoroti lizdai) . Sistemoje, kurioje įdiegtas Drovorub, galite aptikti branduolio modulį išsiųsdami jam komandą paslėpti failą:

palieskite bandomąjį failą
echo „ASDFZXCV:hf:testfile“ > /dev/zero
ls

Sukurtas „testfile“ failas tampa nematomas.

Kiti aptikimo metodai apima atminties ir disko turinio analizę. Siekiant užkirsti kelią infekcijai, rekomenduojama naudoti privalomą branduolio ir modulių parašo patikrinimą, kuris pasiekiamas nuo 3.7 Linux branduolio versijos.

Ataskaitoje yra „Snort“ taisyklės, skirtos „Drovorub“ tinklo veiklai aptikti, ir „Yara“ taisyklės, skirtos jo komponentams aptikti.

Prisiminkime, kad 85-asis GTSSS GRU (karinis vienetas 26165) yra susijęs su grupe. APT28 (išgalvotas lokys), atsakingas už daugybę kibernetinių atakų.

Šaltinis: opennet.ru