A Drovorub malware komplexum megfertőzi a Linux operációs rendszert

Nemzetbiztonsági Ügynökség és az Egyesült Államok Szövetségi Nyomozó Iroda jelentést tett közzé, mely szerint a 85. számú szakszolgálati főközpont Az orosz fegyveres erők vezérkarának főigazgatósága (85 GCSS GRU) egy „Drovorub” nevű malware-komplexumot használnak. A Drovorub tartalmaz egy rootkitet Linux kernel modul formájában, egy eszközt a fájlok átviteléhez és a hálózati portok átirányításához, valamint egy vezérlőszervert. A kliens rész letölthet és feltölthet fájlokat, root felhasználóként tetszőleges parancsokat hajthat végre, és átirányíthatja a hálózati portokat más hálózati csomópontokra.

A Drovorub vezérlőközpont parancssori argumentumként megkapja a konfigurációs fájl elérési útját JSON formátumban:

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

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

"priv_key_file" : " ",
"kifejezés": " »
}

A MySQL DBMS-t háttérprogramként használják. A WebSocket protokoll az ügyfelek összekapcsolására szolgál.

A kliens beépített konfigurációval rendelkezik, beleértve a szerver URL-címét, az RSA nyilvános kulcsát, a felhasználónevet és a jelszót. A rootkit telepítése után a konfiguráció JSON formátumú szöveges fájlként kerül mentésre, amelyet a Drovoruba kernelmodul elrejt a rendszer elől:

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

Itt az „id” a szerver által kiadott egyedi azonosító, amelyben az utolsó 48 bit a szerver hálózati interfészének MAC címének felel meg. Az alapértelmezett "kulcs" paraméter egy base64 kódolású "clientkey" karakterlánc, amelyet a kiszolgáló a kezdeti kézfogás során használ. Ezenkívül a konfigurációs fájl információkat tartalmazhat a rejtett fájlokról, modulokról és hálózati portokról:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"kulcs": "Y2xpZW50a2V5",
"monitor" : {
"fájl" : [
{
"aktív": "igaz"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"mask" : "testfile1"
}
],
"modul" : [
{
"aktív": "igaz"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask" : "testmodule1"
}
],
"háló" : [
{
"aktív": "igaz"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"port" : "12345",
"protokoll": "tcp"
}
] }
}

A Drovorub másik összetevője az ügynök, amelynek konfigurációs fájlja információkat tartalmaz a szerverhez való csatlakozáshoz:

{
"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"
}

A „clientid” és a „clientkey_base64” mezők kezdetben hiányoznak, a szerveren történő kezdeti regisztráció után kerülnek hozzáadásra.

A telepítés után a következő műveleteket hajtják végre:

  • betöltődik a kernel modul, amely regisztrálja a rendszerhívások horgjait;
  • a kliens egy kernelmodullal regisztrál;
  • A kernelmodul elrejti a futó kliens folyamatot és annak végrehajtható fájlját a lemezen.

Egy pszeudoeszköz, például a /dev/zero, a kliens és a kernelmodul közötti kommunikációra szolgál. A kernel modul elemzi az eszközre írt összes adatot, és az ellenkező irányú átvitelhez a SIGUSR1 jelet küldi a kliensnek, majd beolvassa ugyanarról az eszközről az adatokat.

A favágó észleléséhez használhatja a hálózati forgalom elemzését NIDS segítségével (a fertőzött rendszer rosszindulatú hálózati tevékenysége önmagában nem észlelhető, mivel a kernelmodul elrejti az általa használt hálózati socketeket, a netfilter szabályokat és a csomagokat, amelyeket a nyers socketek elfoghatnak) . Azon a rendszeren, amelyre a Drovorub telepítve van, a kernelmodult úgy észlelheti, hogy elküldi neki a fájl elrejtésére szolgáló parancsot:

érintse meg a tesztfájlt
echo „ASDFZXCV:hf:testfile” > /dev/zero
ls

A létrehozott „testfile” fájl láthatatlanná válik.

Egyéb észlelési módszerek közé tartozik a memória és a lemeztartalom elemzése. A fertőzés megelőzése érdekében javasolt a kernel és a modulok kötelező aláírás-ellenőrzése, amely a Linux kernel 3.7-es verziójától érhető el.

A jelentés Snort-szabályokat tartalmaz a Drovorub hálózati tevékenységének észlelésére és Yara-szabályokat az összetevők észlelésére.

Emlékezzünk vissza, hogy a 85. GTSSS GRU (26165 katonai egység) kapcsolódik a csoporthoz. APT28 (Fancy Bear), számos kibertámadásért felelős.

Forrás: opennet.ru