26.01.2017

Novinka na trhu ransomware: Spora

Ransomware je stále oblíbenějším typem malware, a proto není divu, že nové varianty se objevují jako houby po dešti. Dnes si představíme jeden revoluční kousek - ransomware Spora.

Cover 13

Spora je napsán v programovacím jazyce C a zabalen pomocí open-source packeru UPX, což je základní rozdíl v porovnání s ostatními méně sofistikovanými variantami ransomware. Ty bývají většinou postavené na platformě .NET s využitím nějakého Crypteru pro snížení míry odhalení antivirovými programy.

Další specialitou je samotný proces šifrování souborů - zatímco ostatní varianty ransomware soubory při šifrování přejmenují, Spora je pouze modifikuje. Pokud dojde k nákaze systému, je zobrazena moderně designovaná HTML stránka a zároveň uživateli vygenerován .KEY soubor s jeho unikátním klíčem pojmenovaný dle jeho uživatelského ID.

Jak již bylo řečeno, Spora je mnohem pokročilejší oproti ostatním ransomware, což můžeme vidět i na velice vkusném designu samotné stránky. Dalším rozdílem je i hodnota výkupného, která není 1 BTC jako obvykle, ale ceny jsou uváděny v dolarech, zřejmě kvůli nestabilnímu kurzu Bitcoinu. Zároveň kromě typického obnovení souborů je možnost si zakoupit určitá rozšíření, ať se již jedná o vyčištění počítače či imunitu proti nakažení. Pokud máme peněz nazbyt, existuje balíček se všemi rozšířeními za sníženou cenu.

Spora se nyní zaměřuje převážně na ruské uživatele skrze notoricky známou metodu - jako příloha v e-mailu. Název přílohy je většinou ve tvaru jmenovazbuce_pdf.hta. Používá tedy dvojnásobnou příponu souboru, přičemž první část tvoří “pdf”, která má přesvědčit uživatele o tom, že se jedná o obyčejný PDF soubor, ač soubor sám o sobě je typu HTA (HTML-application).

HTML-aplikace slouží pro vytváření desktopových aplikací v HTML s využitím mnoha skriptovacích jazyků. Představme si stránku ve webovém prohlízeči se škodlivým kódem, odmysleme si prohlížeč, který brání tomuto kódu provádět změny v našem operačním systému, a dostaneme tuto HTML aplikaci. Na Windows HTA podporuje jak JScript, tak VBScript, a obou Spora ve svém infekčním modelu využívá.

Po spuštění staženého souboru (HTML aplikace), se vytvoří v adresáři %TEMP% (většinou %LOCALAPPDATA%\Temp) soubor close.js, do kterého se zapíše zakódovaný JScript a ten se následně spustí.

Zakódovaný skript je obfuskován pomocí vlastních algoritmů a knihovny CryptoJS. Při deobfuskaci skriptu dostanete zakódovaný řetězec v Base64, který obsahuje celkem dva soubory, jež budou následně opět rozbaleny do %TEMP% adresáře:

  • doc_6d518e.docx
  • 81063163ded.exe

Po úspěšném rozbalení těchto dvou souborů se je skript ještě pokusí spustit a poté se ukončí. První soubor (docx) je nevalidní WinWord dokument, který se spustí v aplikaci dle nastavení vašeho systému - nejspíše slouží pouze k odvedení pozornosti uživatele.

Druhý soubor (exe) je pak již zmíněný spustitelný soubor packnutý pomocí UPX, který se postará o vaše data jejich správným zašifrováním.

Spora využívá mix mezi RSA-1024 a AES-256 k šifrování uživatelských dat. Aby si tvůrci ušetřili práci a problémy, využívá k šifrování dat Windows DPAPI. Při spuštění nejdříve dešifruje vlastní veřejný RSA klíč, který se ukrývá uvnitř spustitelného souboru, opět pomocí ukrytého AES klíče. Jakmile dešifruje vlastní veřejný RSA klíč, pokračuje vytvořením nového RSA páru, který nyní bude sloužit pro oběť jako identifikátor. Zároveň vygeneruje nový AES klíč, kterým zašifruje privátní RSA klíč oběti. Ten se pak uloží do zmíněného .KEY souboru.

Pro každý soubor na disku je vytvořen nový AES klíč, kterým je zašifrováno prvních 5MB souboru. Poté tento klíč zašifruje pomocí veřejného RSA klíče oběti, a přidá jej nakonec souboru.

Postup se může stát trošku složitější a matoucí, ale tímto se Spora opět vzdaluje od ostatních - nepotřebuje C&C server ke své činnosti, tedy standardní ochrana jako blokace C&C serveru ve firewallu je v tuto chvíli neúčinná.

Co se týče obnovení souborů, dokud se někdo nezmocní privátního RSA klíče Spory, nebude možné soubory jakkoliv dešifrovat bez zaplacení výkupného.

Nakonec se podíváme na již opěvovaný .KEY soubor, který ransomware vygeneruje.

Na začátku je jasně patrný privátní RSA klíč oběti - co ale znamenají další informace? Po klíči následuje datum nakažení systému, jméno uživatelského účtu a jazyk ve Windows. Dále vidíme ID kampaně, z čehož můžeme vyčíst, že Spora může být prodáván jako služba a neslouží tedy pouze jedné skupině či majiteli.

Posledních šest čísel jsou statistiky, které se skládají z počtu nalezených souborů v jednotlivých kategoriích, které můžete vidět dole na obrázku. Zároveň tyto statistiky také určují hodnotu požadovaného výkupného, což je další unikát.

Z těchto dodatečných informací k RSA klíči se pak vytváří samotné uživatelské ID. Typický identifikační klíč může vypadat takto:

US741-85RZR-TRTZT-ZTFFT-ZYYYY

Uživatelský klíč se vždy skládá z pěti bloků oddělených pomlčkou. První blok obsahuje jazyk ve Windows (2-znaky). Následující tři znaky z prvního bloku a dva znaky z druhého bloku (74185) je začátek MD5 hashe, který je vypočítán z informační části .KEY souboru.

Další znaky (RZRTRTZTZTFFTZ) jsou zakódované statistiky, které jsou uložené v .KEY souboru a prohnané substituční šifrou, kterou můžete vidět na dalším obrázku. Pokud poslední blok nemá standardizovanou délku 5, je aplikována vycpávka znaky “Y”.

Jak již bylo řečeno, ve Spora ransomware nebyla zatím nalezena žádná zranitelnost, a privátní RSA klíč také nebyl zveřejněn či odcizen. Ochranou tedy zůstává prevence.

Více na securityaffairs.co

Kam dál?