Malware těžící kryptoměny používá rootkit, aby se ukryl před správci

12. 11. 2018
Doba čtení: 4 minuty

Sdílet

 Autor: Depositphotos
Minery kryptoměn se snaží lépe ukrýt před správci napadených systémů, nově si proto berou na pomoc rootkity. Ty zamaskují těžební činnost tak, že je velmi obtížné odhalit původce neznámého poklesu výkonu.

Obliba kryptoměn neustále roste a čím dál více se objevují vykukové, kteří je chtějí těžit na úkor ostatních. Vyhledávají a napadají linuxové servery se slabým zabezpečením, přebírají nad nimi kontrolu a nechávají na nich těžit nejrůznější kryptoměny.

Zrovna včera jeden z našich redakčních kolegů zjistil, že se v jeho soukromé infrastruktuře usídlil takový miner. V jednom z automatizovaně instalovaných serverů totiž kvůli vlastní nepozornosti nechal nedostatečně zabezpečený účet, což útočníkovi stačilo. Naštěstí na to přišel velmi rychle díky monitoringu, který mu hlásil podezřele vysokou procesorovou zátěž.

To je také způsob, jakým se na kryptominery velmi rychle přijde: server pod zátěží vykazuje nižší výkon a legitimní správce si v systému všimne podezřelého procesu, který systém zatěžuje. Této slabiny jsou si útočníci vědomi, proto nasazují novou zbraň: rootkity maskující jejich činnost.

Symbióza

Odborníci ze společnosti Trend Micro narazili na novou variantu kryptomineru, který se spojil s rootkitem. Ten napadá jádro operačního systému a skrývá činnost hlavního těžařského procesu. Správce tedy může pozorovat nižší výkon systému, ale ve výpisech procesů neuvidí nic podezřelého.

Malware dostal označení Coinminer.Linux.KORKERDS.AB a do systému je instalován spolu s rootkitem Rootkit.Linux.KORKERDS.AA. Tuto kombinaci je velmi těžké odhalit, protože veškeré monitorovací nástroje nedostávají kompletní informace o běžících procesech. Malware se navíc dokáže sám aktualizovat, případně podle pokynů svého tvůrce měnit svou konfiguraci.

Není zatím jasné, jak se malware do systémů dostává. Běžný uživatel nemá práva spouštět aplikace v privilegovaném režimu a ty se tak před správcem nemohou schovat. Trend Micro ale předpokládá, že malware se do systému dostane s kompromitovaným software třetích stran, jako například s napadeným streamovacím serverem.

Během instalace jsou programu přidána rootovská práva, takže přilepený skript tak může z internetu stáhnout samotný malware a spustit rootkit. Ten už se postará o infikování jádra a útok je dokonán.


Autor: Trend Micro

Proces napadení malwarem pomocí kompromitované aplikace

Nejde o žádnou novinku, velmi podobně se v minulosti chovaly i jiné podobné útočné programy. Nic netušící správce si malware do systému nainstaluje sám díky vlastní neopatrnosti a použití software z neznámého či kompromitovaného zdroje.

Ukrytý malware

Úvodní skript (downloader) se v tomto případě připojuje ke službě Pastebin, odkud stáhne další skript.  Ten je uložen do souboru /bin/httpdns a poté je naplánována událost, která se každou hodinu postará o spuštění tohoto skriptu. Skript pak opět stahuje další soubor, ve kterém je v base64 zakódován další skript. Ten se stáhne a opět spustí.

Hlavní skript zkontroluje, zda na webu nejsou k dispozici jeho vlastní aktualizace a poté už stáhne samotný malware. Jedná se o soubor s příponou .jpg, ve které je ale ukrytá normální linuxová ELF binárka. Ta je uložena do souboru  /tmp/kworkerds.

Poté je ještě stažen init soubor, který se uloží do /usr/sbin/netdns a je zařazen mezi systémové služby. Skript pak čeká 10 sekund a pokud se na portu 56415 neobjeví žádné spojení, pokusí se stáhnout další část malware.


Autor: Trend Micro

Část skriptu starající se o stažení a inicializaci malware

Instalace rootkitu

Malware po svém spuštění zkontroluje, zda už v systému není příslušný rootkit zaveden. Pokud tomu tak není, stáhne jej a uloží do souboru /usr/local/lib/libdns.so. Použit je tu běžně dostupný kód rootkitu, který byl jen mírně upraven pro konkrétní účel.

Rootkit blokuje přístup k běžícímu procesu kworkerds. Ten by byl za normálních okolností normálně v systému vidět přes rozhraní v /proc, ze kterého načítají data i běžné systémové utility. Jelikož zavedený rootkit blokuje přístup k příslušnému podadresáři, utility o jmenovaném procesu vůbec neví a správci jej nezobrazí.

Nakonec rootkit pomocí preloadu načte do paměti vlastní variantu knihovny libc s upravenými rozhraními readdir a readdir64. Ty také slouží utilitám k načítání informací o běžících procesech. V upravené verzi je opět maskována přítomnost procesu  kworkerds.

bitcoin_skoleni

Není dokonalý, zatím

Takto jednoduchý rootkit není schopen zakrýt vysokou zátěž systému, takže ukazatele vytížení stále ukazují sto procent. Zjevný viník ale není mezi procesy vidět, takže je pro správce obtížnější jej najít. Malware ale obsahuje aktualizační mechanismus, takže je pravděpodobné, že se v budoucnu objeví chytřejší verze, která bude řešit i tento nedostatek.

Trend Micro přidává na konci své zprávy několik dobrých rad: správci by se měli vyhnout instalaci neznámého software, měli by minimalizovat množství software a knihoven ve svých systémech, měli by používat vhodné bezpečnostní nástroje, sledovat svou infrastrukturu vhodným monitoringem a aktualizovat veškerý software v systému.

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.