Malwarový komplex Drovorub infikuje OS Linux

Národní bezpečnostní agentura a americký Federální úřad pro vyšetřování zveřejnil zprávu, podle kterého 85. hlavní středisko zvláštní služby Hlavní ředitelství generálního štábu ruských ozbrojených sil (85 GCSS GRU) je používán malwarový komplex nazvaný „Drovorub“. Drovorub obsahuje rootkit v podobě modulu linuxového jádra, nástroj pro přenos souborů a přesměrování síťových portů a řídicí server. Klientská část může stahovat a nahrávat soubory, provádět libovolné příkazy jako uživatel root a přesměrovávat síťové porty na jiné síťové uzly.

Řídicí centrum Drovorub obdrží cestu ke konfiguračnímu souboru ve formátu JSON jako argument příkazového řádku:

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

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

"priv_key_file" : " ",
"fráze" : " »
}

Jako backend se používá MySQL DBMS. Pro připojení klientů se používá protokol WebSocket.

Klient má vestavěnou konfiguraci, včetně adresy URL serveru, jeho veřejného klíče RSA, uživatelského jména a hesla. Po instalaci rootkitu se konfigurace uloží jako textový soubor ve formátu JSON, který je před systémem skrytý modulem jádra Drovoruba:

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

Zde "id" je jedinečný identifikátor vydaný serverem, ve kterém posledních 48 bitů odpovídá MAC adrese síťového rozhraní serveru. Výchozí parametr „key“ je řetězec „clientkey“ zakódovaný v base64, který server používá během počátečního handshake. Kromě toho může konfigurační soubor obsahovat informace o skrytých souborech, modulech a síťových portech:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"klíč": "Y2xpZW50a2V5",
"monitor" : {
"soubor" : [
{
"aktivní" : "pravda"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"mask" : "testfile1"
}
],
"modul" : [
{
"aktivní" : "pravda"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask" : "testmodule1"
}
],
"síť" : [
{
"aktivní" : "pravda"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"port" : "12345",
"protokol": "tcp"
}
]}
}

Další součástí Drovorubu je agent, jehož konfigurační soubor obsahuje informace pro připojení k serveru:

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

Pole „clientid“ a „clientkey_base64“ zpočátku chybí, jsou přidány po počáteční registraci na serveru.

Po instalaci se provádějí následující operace:

  • je načten modul jádra, který registruje háky pro systémová volání;
  • klient se zaregistruje pomocí modulu jádra;
  • Modul jádra skrývá běžící klientský proces a jeho spustitelný soubor na disku.

Ke komunikaci mezi klientem a modulem jádra se používá pseudozařízení, například /dev/zero. Modul jádra analyzuje všechna data zapsaná do zařízení a pro přenos v opačném směru odešle signál SIGUSR1 klientovi, načež načte data ze stejného zařízení.

K detekci Lumberjacka můžete použít analýzu síťového provozu pomocí NIDS (škodlivá síťová aktivita v infikovaném systému nemůže být detekována, protože modul jádra skrývá síťové zásuvky, které používá, pravidla netfilter a pakety, které by mohly být zachyceny raw sockety) . V systému, kde je nainstalován Drovorub, můžete zjistit modul jádra odesláním příkazu ke skrytí souboru:

dotkněte se testovacího souboru
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls

Vytvořený soubor „testfile“ se stane neviditelným.

Mezi další metody detekce patří analýza obsahu paměti a disku. Aby se zabránilo infekci, doporučuje se používat povinné ověření podpisu jádra a modulů, které je k dispozici od jádra Linuxu verze 3.7.

Zpráva obsahuje pravidla Snort pro detekci síťové aktivity Drovorub a Yara pravidla pro detekci jejích součástí.

Připomeňme, že 85. GTSSS GRU (vojenská jednotka 26165) je spojena se skupinou APT28 (Fancy Bear), zodpovědný za četné kybernetické útoky.

Zdroj: opennet.ru