Hlavní navigace

Postřehy z bezpečnosti: reklama na skrytý malware

Martin Čmelík

V tomto díle se podíváme na pokročilý exploit kit Stegano, který skrývá malware v obrázku, na neobvyklou metodu šíření ransomwaru Popcorn Time, kritickou chybu Yahoo mailu, jak je možné získat CVV kód ke kartě a mnoho dalšího.

Stegano (od slova steganografie) je exploit kit, který existuje od roku 2014, ale především svojí poslední kampaní převyšuje mnohem známější exploit kity jako Angler či Neutrino. Nejen, že se jeho škodlivý kód dostal reklamní kampaní na populární weby, které navštěvují miliony lidí měsíčně, ale jde především o neobvyklé využití steganografie ke skrytí malwaru v obrázku.

Pokud jste v posledních týdnech narazili na reklamní kampaň produktů Browser Defense nebo Broxu, tak jste s ním přišli do kontaktu i vy. Během 2–3 vteřin se bez vašeho povšimnutí odehrál níže uvedený scénář.

Při návštěvě webu, který zobrazoval danou reklamu, byly na pozadí zjištěny základní údaje o vašem prohlížeči, které byly zakódovány pomocí XOR a poslány na vzdálený server.

systemLocale^screenResolution^GMT offset^Date^userAgent^pixelRatio

Pokud měl vzdálený server radost z toho, že používáte Internet Explorer, tak vám místo běžného banneru poslal jeho upravenou verzi, kterou byste však okem nerozeznali od originálu.

Čistý obrázek, obrázek s malwarem, obrázek s malwarem a zvýrazněným rozdílem

Z obrázku přečetl RGBA údaje (alfa kanál definující průhlednost) a pomocí algoritmu z něj získal javascriptový kód a hodnoty proměnných. Na konci obrázku byl i kontrolní součet pro ověření správnosti načtení kódu. Daný kód se dále snažil využít jednu ze zranitelností Internet Exploreru (CVE-2016–0162), aby zjistil, zda neběží uvnitř izolovaného prostředí (sandbox). Ověřoval existenci snifferu, virtuálního prostředí, bezpečnostních produktů, knihoven, ovladačů a tak dále. Nepoužil však žádnou z pokročilejších metod detekce, či obcházení sandbox prostředí.

V případě, že nezjistil nic podezřelého, tak vytvořil nový iframe (1px) a na pozadí kontaktoval TinyURL službu, která požadavek přesměrovala na tzv. exploit landing stránku. Zde čekal flash soubor, který uměl využít tři zranitelnosti Adobe Flash přehrávače (CVE-2015–8641, CVE-2016–1019 a CVE-2016–4117). Pro zjednodušení nebudu popisovat, jak byl obsah vnořeného flash souboru šifrován, a raději vás odkáži na zdrojový článek.

Před stažením dodatečného malwaru pro jistotu ještě jednou ověřil, že není monitorován a poté stáhl GIF obrázek, který dešifroval a uložil na disk. V obrázku se ukrýval Ursnif, případně Ramnit malware. Ursnif má mnoho modulů umožňující získání hesel, instalaci backdooru, keyloggeru, modifikování HTTP požadavků prohlížečů, uploadování souborů a cokoliv jiného vás napadne. Ramnit cílí především na bankovní sektor a zaměřuje se na exfiltraci informací z počítače.

Zde je vizualizace celého postupu:

Můžeme být rádi, že Internet Explorer nepoužíváme a že Stegano exploit kit neuměl využít zranitelnost i v jiných prohlížečích.

Naše postřehy

Relativně nový vektor útoku umožňuje zjistit CVV číslo vaší kreditní karty během několika vteřin. Funguje to tak, že si na černém trhu koupíte 16místné číslo karty a pak použijete cca 400 obchodů jako prostředníků k provedení brute force útoku, který zjistí třímístné CVV číslo a datum expirace prostým dotazováním banky pomocí této sítě obchodů. Nicméně pokud má banka alespoň minimální schopnost detekce anomálií, tak bude na základě těchto dotazů cílový účet zablokován. Dále pokud vaše banka používá např. 3-D Secure systém s OTP ověřováním pro online platby, tak je riziko toho útoku minimální. Stačí si vybrat banku, která bere bezpečnost vážně.

85.2 milionů účtů serveru DailyMotion bylo zveřejněno na internetu. Zhruba 20 procent z nich obsahovalo i hashe hesel. Vzhledem k tomu, že hesla byla chráněna pomocí bcryptu (heslo + salt) s náročností 10, tak je poměrně náročné použití brute force útoku ke získání hesel. Pro zajímavost jeden z mini-projektů Michala Špačka sbírá informace o webových službách a hodnotí bezpečnost podle způsobu uložení hesel uživatelů.

DirtyCow zranitelnost existovala v jádře Linuxu téměř deset let. Ačkoliv byla již opravena, uživatelé Androidu této chybě byli stále vystaveni. Podle posledního Android Security Bulletinu Google již konečně chybu opravil a to spolu s další desítkou kritických zranitelností. V souvislosti s tématem, minulý týden byla opravena pět let stará chyba Linuxového jádra umožňující díky race condition chybě spustit lokálně, i s neprivilegovaným účtem, kód v prostředí jádra (CVE-2016–8655).

Výzkumníci popsali zajímavou funkci nového ransomwaru (Popcorn Time), který po vás chce buď zaplatit výkupné, nebo máte možnost pomoci infikovat dvě další oběti a pokud výkupné zaplatí oni, tak vám bude prominuto. Bohužel tato marketingová kampaň má naději na úspěch.

Fillipo Valsorda vzdal používání PGP klíčů. Fillipo je členem Cloudflare Cryptography týmu, kde pomáhal implementovat nový standard TLS 1.3, stojí za jedním z prvních webů schopným identifikovat chybu HeartBleed na serverech a léta používá PGP klíče pro šifrované zprávy, k čemuž napsal i několik nástrojů pro správu krátkodobých i dlouhodobých klíčů. Po letech prosazování a používání PGP se tohoto konceptu vzdal. Nejen kvůli tomu, že stejně jako asi většina lidí dostával dva šifrované maily ročně, ale protože vidí problém s celou koncepcí správy, rotací a důvěrou klíčů. Já osobně používám PGP/GPG tak málo, že jsem již zapomněl frázi, takže když se jednou ročně zatoulá šifrovaný mail do mé schránky, tak raději odesílatele požádám, ať mě kontaktuje přes aplikaci Signal, Telegram či Threema. Ačkoliv PGP hraje důležitou roli např. v ověřování integrity balíčků či aplikací, jako prostředek pro bezpečnou komunikaci se prostě neuchytil a aplikace používající nějakou formu OTR jsou mnohem populárnější.

Yahoo opravilo kritickou zranitelnost umožňující obejít filtrování HTML při zobrazování těla zprávy, což mohlo mít za následek přeposlání všech emailů na server útočníka, případně i přidání škodlivého kódu do všech odesílaných mailů. Jouko Pynnönen si nahlášením této chyby vydělal 10 tisíc dolarů pomocí bug bounty programu.

Ve zkratce

Pro pobavení

Poděkování

Toto je můj poslední díl PzB. Po třech letech jsem se rozhodl psaní ukončit, protože bych se rád věnoval dalšímu studiu a rozšířil si vědomosti o novou oblast (machine learning), která bude dle mě hrát zásadní roli v budoucím pojetí bezpečnosti (a nejen v tom). Připravil jsem si poměrně intenzivní studijní plán sestavený z několika MOOC institucí, kde vás učí opravdoví odborníci v dané oblasti a psaní PzB mi bohužel zabírá většinu volného času. V psaní budou dále pokračovat kolegové z CZ.NICu, ale chtěl bych tímto poděkovat všem věrným čtenářům, věcným komentátorům a korektorům serveru Root.cz.

Našli jste v článku chybu?