Drovorub spilliforritið sýkir Linux OS

Þjóðaröryggisstofnun og bandaríska alríkislögreglan birt skýrslu, samkvæmt því 85. aðalmiðstöð sérþjónustu Aðalstjórn hershöfðingja rússneska hersins (85 GCSS GRU) er notað spilliforrit sem kallast „Drovorub“. Drovorub inniheldur rootkit í formi Linux kjarnaeiningu, tól til að flytja skrár og beina netgáttum og stjórnunarþjóni. Biðlarahlutinn getur hlaðið niður og hlaðið upp skrám, framkvæmt handahófskenndar skipanir sem rótnotandinn og beint netgáttum til annarra nethnúta.

Drovorub stjórnstöðin fær slóðina að stillingarskránni á JSON sniði sem skipanalínurök:

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

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

"priv_key_file" : " ",
"setning" : " »
}

MySQL DBMS er notað sem bakendi. WebSocket samskiptareglur eru notaðar til að tengja viðskiptavini.

Viðskiptavinurinn hefur innbyggða stillingar, þar á meðal vefslóð netþjónsins, RSA almenningslykil hans, notandanafn og lykilorð. Eftir að rootkitið hefur verið sett upp er stillingin vistuð sem textaskrá á JSON sniði, sem er falin úr kerfinu með Drovoruba kjarnaeiningunni:

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

Hér er "id" einkvæmt auðkenni gefið út af þjóninum, þar sem síðustu 48 bitarnir samsvara MAC vistfangi netviðmóts netþjónsins. Sjálfgefin „lykill“ færibreyta er base64 kóðaður strengur „clientkey“ sem er notaður af þjóninum við upphaflegt handaband. Að auki getur stillingarskráin innihaldið upplýsingar um faldar skrár, einingar og nettengi:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"key": "Y2xpZW50a2V5",
"skjár" : {
"skrá" : [
{
"virkur" : "satt"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"mask" : "prófskrá1"
}
],
"mát" : [
{
"virkur" : "satt"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask" : "testmodule1"
}
],
"net" : [
{
"virkur" : "satt"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"port" : "12345",
"protocol" : "tcp"
}
] }
}

Annar hluti af Drovorub er umboðsmaðurinn; stillingarskrá þess inniheldur upplýsingar um tengingu við netþjóninn:

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

Reitirnir „clientid“ og „clientkey_base64“ vantar upphaflega; þeim er bætt við eftir fyrstu skráningu á þjóninum.

Eftir uppsetningu eru eftirfarandi aðgerðir gerðar:

  • kjarnaeiningin er hlaðin, sem skráir króka fyrir kerfissímtöl;
  • viðskiptavinurinn skráir sig með kjarnaeiningunni;
  • Kjarnaeiningin felur keyrandi biðlaraferli og keyrsluskrá hennar á disknum.

Gervitæki, til dæmis /dev/zero, er notað til að hafa samskipti á milli biðlarans og kjarnaeiningarinnar. Kjarnaeiningin flokkar öll gögn sem eru skrifuð í tækið og fyrir sendingu í gagnstæða átt sendir hún SIGUSR1 merki til viðskiptavinarins, eftir það les hún gögn úr sama tæki.

Til að greina Lumberjack er hægt að nota netumferðargreiningu með því að nota NIDS (illgjarn netvirkni í sýkta kerfinu sjálfu er ekki hægt að greina, þar sem kjarnaeiningin felur netinnstungurnar sem hún notar, netsíureglur og pakka sem gætu verið stöðvuð af hráum innstungum) . Á kerfinu þar sem Drovorub er sett upp geturðu greint kjarnaeininguna með því að senda henni skipunina til að fela skrána:

snerta prófunarskrá
echo “ASDFZXCV:hf:testfile” > /dev/núll
ls

Búin til „testfile“ skráin verður ósýnileg.

Aðrar uppgötvunaraðferðir fela í sér greiningu á minni og efni á diski. Til að koma í veg fyrir sýkingu er mælt með því að nota lögboðna undirskriftarstaðfestingu á kjarnanum og einingunum, fáanlegt frá Linux kjarna útgáfu 3.7.

Skýrslan inniheldur Snort reglur til að greina netvirkni Drovorub og Yara reglur til að greina íhluti þess.

Við skulum muna að 85. GTSSS GRU (herdeild 26165) tengist hópnum APT28 (Fancy Bear), ábyrgur fyrir fjölmörgum netárásum.

Heimild: opennet.ru