Agentura národní bezpečnosti a Federální úřad pro vyšetřování USA , podle které 85. hlavní centrum zvláštní služby (85 GЦCС ГРУ) používá komplex škodlivého softwaru nazvaný „Drovorez“. Systém „Drovorez“ obsahuje rootkit ve formě jádrového modulu Linux, nástroj pro přenos souborů a přesměrování síťových portů a řídící server. Klientská část může stahovat a nahrávat soubory, vykonávat libovolné příkazy jménem uživatele root a přesměrovávat síťové porty na jiné uzly sítě.
Řídící centrum „Drovorez“ přijímá argument příkazového řádku s cestou k konfiguračnímu souboru ve formátu JSON:
{
„db_host“ : „“,
„db_port“ : „“,
„db_db“ : „“,
„db_user“ : „“,
„db_password“ : „“,
„lport“ : „“,
„lhost“ : „“,
„ping_sec“ : „“,
„priv_key_file“ : „“,
„phrase“ : „“
}
Jako backend je použita databáze MySQL. Pro připojení klientů se používá protokol WebSocket.
Klient má vestavěnou konfiguraci, včetně URL serveru, jeho veřejného klíče RSA, uživatelského jména a hesla. Po instalaci rootkitu je konfigurace uložena jako textový soubor ve formátu JSON, který je skryt před systémem jádrovým modulem „Drovorez“:
{
„id“ : „cbcf6abc-466b-11e9-853b-000c29cb9f6f“,
„key“: „Y2xpZW50a2V5“
}
Zde „id“ je jedinečný identifikátor přidělený serverem, jehož posledních 48 bitů odpovídá MAC adrese síťového rozhraní serveru. Parametr „key“ je ve výchozím nastavení kódován v base64 jako řetězec „clientkey“, který server používá při počátečním 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“,
„key“: „Y2xpZW50a2V5“,
„monitor“ : {
„file“ : [
{
„active“ : „true“,
„id“ : „d9dc492b-5a32-8e5f-0724-845aa13fff98“,
„mask“ : „testfile1“
}
],
„module“ : [
{
„active“ : „true“,
„id“ : „48a5e9d0-74c7-cc17-2966-0ea17a1d997a“,
„mask“ : „testmodule1“
}
],
„net“ : [
{
„active“ : „true“,
„id“ : „4f355d5d-9753-76c7-161e-7ef051654a2b“,
„port“ : „12345“,
„protocol“ : „tcp“
}
]
}
}
Další komponenta „Drovorezu“ 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“,
„server_host“ : „192.168.57.100“,
„server_port“ :„45122“
«server_uri» :»/ws»
}
Pole «clientid» a «clientkey_base64» jsou původně nepřítomná, přidávají se po primární registraci na serveru.
Po instalaci se provádějí následující operace:
- načítá se modul jádra, který registruje hooky pro systémové volání;
- klient provádí registraci v modulu jádra;
- modul jádra skrývá běžící proces klienta a jeho spustitelný soubor na disku.
Pro interakci klienta s modulem jádra se používá pseudozařízení, například /dev/zero. Modul jádra provádí analýzu všech zapisovaných dat do zařízení a pro zpětný přenos posílá klientovi signál SIGUSR1, poté si klient přečte data z tohoto stejného zařízení.
Pro odhalení „Dřevoruba“ lze použít analýzu síťového provozu pomocí prostředků NIDS (škodlivou síťovou aktivitu v samotném nakaženém systému nelze zjistit, protože modul jádra skrývá použitá síťová sokety, pravidla netfilter a pakety, které by mohly být zachyceny raw-sokety). V systému, kde je nainstalován „Dřevorub“, lze detekovat modul jádra zasláním příkazu pro skrývání souboru:
touch testfile
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls
Vytvořený soubor „testfile“ se tímto stává neviditelným.
Další metody odhalení zahrnují analýzu paměti a obsahu disku. Pro prevenci infekce se doporučuje používat povinné ověřování podpisu jádra a modulů, které je k dispozici od verze jádra linux 3.7.
Zpráva obsahuje pravidla Snort pro detekci síťové aktivity „Dřevoruba“ a pravidla Yara pro detekci jeho komponentů.
Připomínáme, že 85 GЦСC ГРУ (v/č 26165) je spojována se skupinou , která je odpovědná za četné kybernetické útoky.
Zdroj: opennet.ru
