Linuxový malware není tak rozšířený, jako je tomu na některých jiných platformách. Přesto se nepozorný či ledabylý správce může dočkat nepříjemného napadení. Ruský tvůrce antivirů Dr.Web objevil nový malware, který se šíří po linuxových serverech a zaujme především šíří svých schopností.
Primárním cílem malware, který dostal označení Linux.BtcMine.174, je těžba kryptoměny Monero. To by nebylo samo o sobě příliš překvapivé, takových už tu bylo hned několik. Tento je ale zajímavý tím, jak je komplexní a jaké techniky používá.
Základem je skript
Základem je veliký shellový skript, který má přes 1000 řádků. Ten se na začátku svého působení snaží na disku objevit zapisovatelný adresář a poté se snaží ukrýt. Dělá to tak, že se restartuje s použitím utility nohup
. Pokud ji v systému neobjeví, snaží se pomocí apt-get
a yum
doinstalovat balíček coreutils
. Pokud všechno selže, spustí se skript alespoň na pozadí.
Pokud skript nebyl spuštěn s právy roota, snaží se je hned na začátku získat. K tomu účelu stáhne a spustí další shellový skript, který začne stahovat a spouštět exploity. Ty zneužívají starých bezpečnostních děr CVE-2013–2094 a CVE-2016–5195 známou jako Dirty COW.
Poté se skript zaměří na své konkurenty a v /proc/${pid}/exe
a /proc/${pid}/cmdline
hledá řetězce jako cryptonight, stratum+tcp a další. Pokud na ně narazí, snaží se běžící procesy odstranit.
Dalším krokem je stažení malware s označením Linux.BackDoor.Gates.9. To je známý výtržník, který je populární zejména mezi provozovateli DDoS útoků. Nabízí k tomu příslušné vlastnosti, ale navíc disponuje řádkou backdoorových funkcí.
Řádění začíná
Takto skript ovládne systém a začne jej upravovat k obrazu svému. V první řadě se zbaví některých vybraných služeb. Zastaví jejich procesy, pomocí balíčkovacího systému je odinstaluje a vyprázdní jejich adresáře. Ve skriptu je seznam těchto služeb: safedog, aegis, yunsuo, clamd, avast, avgd, cmdavd, cmdmgd, drweb-configd, drweb-spider-kmod, esets, xmirrord. Jde vesměs o linuxová antivirová řešení.
Poté si malware zajistí své spouštění po restartu počítače tím, že se zapíše do skriptů jako /etc/rc.local
, /etc/rc.d/…
a /etc/cron.hourly
. Poté je stažen modulární rootkit v podobě dalšího skriptu. Ten má mnoho různých schopností, mezi ty nejzajímavější patří ukrytí procesů, souborů na disku a síťových spojení. Kromě toho jsou také zaznamenávána uživatelská hesla, která jsou zadávána programu su
.
Poté skript stáhne a spravuje software na těžení kryptoměny Monero. Pravidelně posílá HTTP dotaz, který obsahuje také aktuální verzi skriptu a na který by měl jako odpověď obdržet svou novější verzi. Pokud se tak stane, dojde k aktualizaci celého procesu.
Šíří se přes SSH
Zajímavý je také způsob šíření celé nákazy. Malware v napadeném počítači hledá další servery, ke kterým se může připojit přes SSH. Hledá je v souborech jako /root/.ssh/known_hosts
, root/.bash_history
, home/*/.bash_history
a podobně. Hledá tedy takové počítače, ke kterým se v minulosti z aktuálního stanoviště někdo připojoval. Pak se snaží zneužít těchto informací a získaných hesel k dalšímu šíření. Podle odborníků z Dr.Web je tohle pravděpodobně hlavní způsob šíření malware.
Znamená to, že jsou v nebezpečí i ti správci, kteří dovolují přihlášení pomocí SSH z úzké skupiny strojů. Pokud na nich používají stejná hesla, může se mezi nimi malware nepozorovaně šířit. Dobré rady proto zní: aktualizujte, nerecyklujte hesla a používejte přihlašování k SSH pomocí klíčů.
Na stránkách Dr.Web můžete najít popis malware a na GitHubu jsou pak od stejných autorů k dispozici haše jednotlivých souborů, které malware používá.