Překvapivá účinnost necílených útoků – 1. část: Co se vlastně stalo?

V polovině prosince 2019 zaplavily Česko titulky popisující napadení benešovské nemocnice hackery. Z těchto zpráv se mohlo zdát, že se jedná o cílený útok, který byl veden na nemocnici za účelem narušení jejího běžného provozu. Na základě vyjádření, vydaného hned po vzniku události, které hovoří o tom, že „nelze spustit žádný laboratorní ani žádný jiný přístroj včetně počítačové sítě“, lze konstatovat, že toto narušení bylo úspěšné. Nemocnice byla mimo provoz několik týdnů. Důvodem této odstávky byla nedostupnost interních systémů z důvodu jejich zašifrování ransomwarem jménem Ryuk.

V době psaní tohoto textu nevydal NÚKIB oficiální vyjádření s popisem události, nicméně z informací, které pronikly na veřejnost, je nyní téměř jisté, že se nejednalo o cílený útok, ale o důsledek malwarové kampaně, které v té době byla celosvětově aktivní. Cílem totožné kampaně se o pár dní později stala i společnost OKD. Tato kampaň se skládá ze třech velmi propracovaných kusů škodlivého kódu, které společně vytvářejí ničivou kombinaci. Konkrétně se jedná o původně bankovní trojany Emotet a TrickBot, doplněné o výše zmiňovaný ransomware Ryuk. Následující text bude popisovat výhradně tento typ útoku.

Typ a cíle útoku

Počáteční vektor tohoto typu útoku je obecně označován termínem malspam, kterývznikl složeninou slov malware a SPAM. Pro šíření tak útok používá emailovou zprávu, která obsahuje škodlivou přílohu. Škodlivý email může být zaslán příjemci cíleně, ale vzhledem ke schopnostem automatického šíření, popsaným níže, je pravděpodobnější, že tato zpráva náhodně dorazila do jedné, nebo více schránek uživatelů interní sítě nemocnice, resp. OKD.

Cílem tvůrců však není vyřadit organizaci z provozu. Ten je mnohem méně prozaický. Jedná se o finanční zisk, konkrétně o:

  • Krádež zpeněžitelných informací. Malware tohoto typu je schopen získat velké množství cenných informací, které jsou prodejné na černém trhu. Vzhledem k tomu, že malware Emotet je vysoce modulární a umožňuje získání většího množství informací, tak se může se jednat o jména a hesla, BEC (Bussiness Email Compromise), případně o jakékoliv další citlivé osobní informace či intelektuální vlastnictví.
  • Přímá krádež financí. Jak Emotet, tak TrickBot jsou původně bankovní trojany, které jsou schopné se navázat na aplikace internetového bankovnictví nebo bitcoinové peněženky. Pokud se jedna z těchto dvou komponent na postižené stanici nachází, může dojít k přímému zcizení finančních prostředků.
  • Získání financí vydíráním napadené společnosti. Poslední fázi útoku zajišťuje ransomware Ryuk, který provede zašifrování všech dostupných dat. Ve sdělení napadenému přímo nefiguruje požadavek na zaplacení výkupného, nicméně je v něm přítomná zpráva s emailovou adresou, na které je možné získat bližší informace, stejně jako kód bitcoinové peněženky, určené pro zaplacení výkupného.

Fáze útoku

Útok lze rozdělit do několika základních fází:

  1. Doručení škodlivého dokumentu
  2. Spuštění makra a stažení škodlivého kódu
  3. Spuštění škodlivého kódu
  4. Pokus o zvýšení privilegií
  5. Zajištění perzistence
  6. Rozšíření škodlivého kódu
  7. Sběr a vynesení dat
  8. Zahlazení stop

1. Doručení škodlivého dokumentu

Doručení škodlivého kódu

Jak již bylo uvedeno výše, kód se šíří pomocí emailových zpráv. Tento způsob je však poměrně sofistikovaný. V případě automatického šíření totiž malware rozešle sám sebe jako odpověď na zprávy nalezené v poštovní schránce napadeného počítače. Nic netušící oběť tak otevře zprávu, která je součástí již probíhající konverzace, a může tak jednoduše nabýt přesvědčení, že se jedná o legitimní odpověď. Text zprávy je závislý na mutaci útoku, nicméně vždy obsahuje hypertextový odkaz, který směřuje na dokument MS Word, nebo přímo přílohu s příponou .doc. Tato příloha obsahuje makro, které samo o sobě není škodlivé. Slouží pouze jako nástroj pro stažení škodlivého spustitelného programu z internetu. Po otevření přílohy je uživateli zobrazen dokument MS Word, který se snaží uživatele přimět k povolení obsahu a spuštění makra. V závislosti na verzi útoku se může jednat o dokument zobrazený na přiloženém obrázku, ale vyskytují se i jiné typy, vyžadující povolení obsahu pro rozšifrování dokumentu apod.

2.    Spuštění makra a stažení škodlivého kódu

Jakmile uživatel klikne na povolení obsahu a spuštění makra, situaci již nemá ve svých rukách. V tuto chvíli se na pozadí začne dít posloupnost kroků, která prověří stav bezpečnostních systémů organizace. Prvním krokem je stažení nástroje Emotet, který je původně bankovním Trojanem, ale vzhledem ke své modularitě je používán i jako dropper (nástroj pro instalaci dalších typů škodlivého software) a nástroj pro jeho šíření.

Po stažení kódu Emotet dochází zároveň k postupnému stažení trojanu TrickBot a následně i ransomwaru Ryuk. Stažení je prováděno z webových stánek, jejichž hlavní funkcí není šíření škodlivého kódu, nicméně po jejich kompromitaci došlo k umístění škodlivého kódu právě na ně. Často se jedná o stránky s neaktuální verzí redakčního systému WordPress. Tento fakt má za úkol ztížit obráncům blokování škodlivých stránek. Stažení probíhá v závislosti na mutaci útoku buď nešifrovaně přímo spuštěným makrem, nebo makro zavolá obfuskovaný powershell skript, který stáhne škodlivý spustitelný soubor, případně je použita kombinace obou těchto postupů. 

3.    Spuštění škodlivého kódu

Po stažení škodlivého souboru dojde k jeho spuštění. K tomuto spuštění dochází pod účtem aktuálně přihlášeného uživatele. Zajímavým faktem je, že ačkoliv měly obě postižené organizace rozdílnou, avšak aktivní antivirovou ochranu s aktuálními definicemi, tak došlo jak k zapsání škodlivého souboru na disk, tak k jeho úspěšnému spuštění. Přitom nešlo o tzv. zero-day útok. Důvodem je fakt, že antivirové nástroje ve většině případů závisí na databázi signatur, které si denně aktualizují. Signatura je regulární výraz, který v zapisovaném, nebo spouštěném souboru hledá konkrétní řetězec. Pokud je tento řetězec nalezen, tak antivirus prohlásí soubor za škodlivý, jeho spuštění je zablokováno a soubor je zpravidla odstraněn. Zmiňovaný útok ale používá tzv. evazivní malware. To je soubor, který je známý jako škodlivý, a který byl běžně antivirem zachycen, ale používá techniky, kterými se snaží antivirus oklamat. V tomto případě je kód zašifrován a klíč pro jeho rozšifrování je součástí souboru. Vzhledem k tomu, že antivirus kontroluje soubor při zápisu na disk, nebo při jeho spuštění, tak v něm nenalezne řetězec odpovídající signatuře. Důvodem je fakt, že tento řetězec je v tuto chvíli ještě v šifrované podobě a k jeho rozšifrování dojde až po spuštění souboru. Rozšifrovaná podoba pak již není zapsána na disk, ale přímo do operační paměti a je tak pro antivirus neviditelná.

4.    Pokus o zvýšení privilegií

V případě, že uživatel pracuje pod standardním uživatelským účtem, nemá útok příliš možností, jak postupovat dál bez toho, aby se pokusil o zvýšení privilegií a získání administrátorského přístupu. Pro malware je samozřejmě nejjednodušší, když uživatel používá k práci administrátorský účet, ale i v opačném případě disponuje tento malware řadou funkcí, jak se o zvýšení privilegií pokusit. Prvním způsobem je pokus o prolomení hesla lokálního administrátora. K tomuto prolomení je použit jak slovníkový útok, tak útok hrubou silou. V případě, že má uživatelský účet práva debugovat, má také přístup do paměti k heslům uloženým v čistém textu. V takovém případě použije nástroj Mimikatz a hesla získá. Druhým způsobem zvýšení privilegií je využití zranitelností operačního systému. V případě tohoto útoku jsou použity exploity, uniklé z americké NSA a využívající zranitelnosti EternalBlue. V případě, že se zvýšení privilegií nepodaří, útok nebude mít tak zásadní dopady, nicméně nedojde k jeho ukončení a škodlivá činnost nadále pokračuje.

5.    Zajištění perzistence

Nezávisle na tom, jestli jsou vyšší privilegia získána, dochází na postižené stanici k řadě aktivit. První z nich je pokus o vypnutí ochranných nástrojů, tedy zastavení služeb a procesů antivirových programů a zastavení firewallů. Malware zná celou řadu nástrojů pro ochranu koncových stanic a snaží se zastavit i ty, které se nevyskytují zcela běžně. Zároveň se zastavením ochrany se malware snaží nastavit operační systém tak, aby došlo ke spuštění škodlivého kódu po každém restartu, resp. po manuálním zastavení služby či ukončení procesu.

6.    Rozšíření škodlivého kódu

Následující aktivitou je rozšíření škodlivého kódu k získání dalších obětí. Jedním z mnoha způsobů je zneužití emailového klienta MS Outlook, nainstalovaného na počítači oběti. Malware z něj získá potřebné informace a následně odpoví na přijaté zprávy, přítomné v poštovní schránce. Součástí odpovědi je příloha, která byla původně zdrojem nákazy. Oběť se tak stává šiřitelem nákazy. Druhou metodou je využití získaného administrátorského hesla. Pokud malware dokázal získat heslo administrátorského účtu, tak provede skenování sítě, aby našel živé hosty. Na těchto dostupných počítačích zkouší heslo využít pomocí nativních nástrojů operačního systému, jakými jsou např. net.exe nebo PsExec. Pokud uspěje, využívá dále tyto nástroje a administrátorské sdílené disky, jakými jsou C$, nebo admin$. Posledním způsobem je použití výše uvedených zranitelností, které se snaží aplikovat na okolní dostupné počítače. Velmi zajímavou funkcí je fakt, že než se malware pokusí rozšířit na okolní počítače, rozpošle do svého okolí tzv. Wake on LAN (WoL) paket. WoL je funkcionalita, která umožní po síti spustit počítače, které jsou v tuto chvíli vypnuté, a které funkcionalitu WoL podporují. Malware se tedy snaží probudit všechny počítače v okolí, aby byl výsledek útoku co možná nejničivější.

7.    Sběr a vynesení dat

Po úspěšném získání nejvyšších možných oprávnění a rozšíření útoku dochází ke sběru dat a jejich odeslání útočníkovi. Sběr dat spočívá v pokusu o získání uložených hesel, zjištění, zda je na napadeném počítači nainstalována podporovaná bankovní aplikace, nebo jestli je z počítače přístup k bitcoinové peněžence. Tento výčet není konečný. Vzhledem k modularitě použitých škodlivých nástrojů může v určitých mutacích dojít i k instalaci keyloggerů, zachycení snímku obrazovky, nebo nahrání záznamu z mikrofonu anebo kamery. Data jsou z počítačů zaslána útočníkovi do internetu nešifrovaným kanálem. Před odesláním dat nedochází ke sdružení dat a k jejich hromadnému odeslání. Každý z napadených počítačů tak posílá shromážděná data separátně.

8.    Zahlazení stop

Poslední fází útoku je zašifrování všech dat, ke kterým má uživatel, pod jehož účtem útok probíhá, přístup. Na rozdíl od kampaně Petya nedochází k zašifrování celého disku, ale pouze dat, ke kterým má proces aktuálně přístup, včetně síťových svazků. Výsledkem je tak souborový systém, kdy všechny původní soubory získají navíc příponu .RYK a ve všech složkách se objeví textový dokument s instrukcemi, jak dále postupovat, případně HTML dokument, který obsahuje pouze emailovou adresu na ProtonMailu. Přístup k zaplacení výkupného je velmi sporný. Ani v případě zaplacení nemá postižený jistotu, že klíč pro rozšifrování dat získá a zároveň tento klíč nemusí být stoprocentně funkční. Důvodem je funkce ransomwaru Ryuk, která zajišťuje rychlejší zašifrování dat. V případě, že je šifrovaný soubor větší, než cca 54,5 MB, pak nedochází k zašifrování celého souboru, ale jen jeho částí. V určitých případech pak může dojít k situaci, že i přes získání správného klíče není možné soubor korektně rozšifrovat.