Přehled
Výzkumníci společnosti Proofpoint již několik let sledují používání prvostupňových downloaderů, které aktéři hrozeb používají k instalaci dalších forem malwaru během svých škodlivých e-mailových kampaní a po nich. Zejména v posledních dvou letech jsou tyto downloadery stále robustnější a poskytují pokročilé možnosti profilování a cílení.
Důležitější je, že downloadery a další malware, jako jsou botnety a bankovní trojské koně, vytlačily ransomware jako primární payload, což dává aktérům hrozeb flexibilitu při nasazování řady malwaru v sekundárních infekcích. Například jeden z nejrozšířenějších, Smoke Loader, byl hojně využíván ke shazování payloadů, jako jsou bankovní trojské koně Ursnif a The Trick, a také používal své vlastní moduly mimo jiné ke krádeži pověření a dalších informací a dat.
Od konce srpna 2019 sledují výzkumníci společnosti Proofpoint vývoj a prodej nového modulárního loaderu s názvem Buer jeho autory. Buer má funkce, které jsou vysoce konkurenceschopné se Smoke Loaderem, je aktivně prodáván na významných nelegálních tržištích a je určen pro použití aktéry, kteří hledají hotové, hotové řešení.
Kampaně
28. srpna 2019
Dne 28. srpna výzkumníci společnosti Proofpoint zaznamenali škodlivé e-mailové zprávy, které se tváří jako odpověď na dřívější legitimní e-mailové konverzace. Obsahovaly přílohy Microsoft Word, které používaly makra Microsoft Office ke stažení dalšího stupně payloadu.
Obrázek 1: Příklad přílohy Microsoft Word použité v kampani z 28. srpna 2019
Pozorovali jsme, že další stupeň payloadu se stahuje z adres URL včetně:
hxxp://jf8df87sdfd.yesteryearrestorationsnet/gate.php
hxxp://93345fdd.libertycolegioscom/gate.php
Stažený payload byl pojmenován verinstere222.xls nebo verinstere33.exe (konvence pojmenování, kterou aktér v tomto období používal). Místo varianty Ursnif Dreambot, která je s tímto aktérem často spojována, se jednalo o nedokumentovaný zavaděč, který dosud nebyl ve volné přírodě pozorován.
V následujících týdnech v průběhu září a října výzkumníci společnosti Proofpoint a další členové infobezpečnostní komunity zaznamenali několik kampaní od stejného aktéra, při kterých byla shozena buď varianta Ursnif Dreambot, nebo tento nový zavaděč.
10. října 2019
Dne 10. října výzkumníci společnosti Proofpoint zaznamenali v Austrálii malvertisingovou kampaň přesměrovanou na Fallout Exploit Kit (EK) shazující nový loader.
Obrázek 2: Stopa síťového provozu HTTP se souborem Fallout EK zneužívajícím zranitelné prohlížeče
Nahrávač pak upustil několik druhostupňových malwarových payloadů včetně KPOT stealer, Amadey a Smoke Loader.
21. října 2019
Od začátku července výzkumníci společnosti Proofpoint zaznamenali přibližně 100 kampaní zahrnujících Ostap téměř výhradně nahrávající několik instancí The Trick. 21 však výzkumníci společnosti Proofpoint zaznamenali škodlivé e-mailové zprávy s předměty jako „Penalty Notice # PKJWVBP“ obsahující přílohy Microsoft Word. Dokumenty obsahovaly makra, která v případě aktivace spustí program Ostap. Pozorovali jsme, že Ostap stahuje tento zavaděč ze
hxxps://185.130.104187/nana/kum.php?pi=18b&
který následně načetl The Trick „ono22“ ze svého C&C: garrisontxus
Obrázek 3: Síťový provoz pozorovaný po povolení makra ve škodlivých dokumentech.
Obr. 4: Příklad přílohy aplikace Microsoft Word použité v kampani z 21. října
Analýza funkcí na trhu &
Protože jsme tento nový zavaděč začali pozorovat při použití ve více různých kampaních, očekávali jsme, že je prodáván na podzemním trhu více aktérům. Navíc jsme na undergroundovém fóru objevili inzerát z 16. srpna popisující zavaděč s názvem „Buer“, který se shodoval s funkcemi malwaru pozorovaného ve výše uvedených kampaních.
Funkce přidané a inzerované v následujících týdnech přesně odpovídají vývoji zavaděče nalezeného v těchto kampaních.
Získali jsme text z příspěvku na nástěnce, jehož autor v ruštině požadoval platbu 400 USD za malware a nabízel své služby při nastavení softwaru pro potenciální zákazníky, aby jej mohli zprovoznit. Autor také uvádí, že aktualizace a opravy chyb jsou zdarma, ale za „přestavbu na nové adresy“ se platí příplatek 25 dolarů.
Následující text, který společnost Proofpoint rovněž získala z podzemního tržiště a o němž se předpokládá, že jej napsal autor malwaru, je shrnutím funkcí zavaděče, jak jsou popsány v ruském originále:
Obrázek 5. Zavaděč, který je v originále popsán v ruštině. Text z příspěvku na undergroundovém fóru popisující funkčnost bota Buer Loader
Podobně je v reklamě uvedena i funkčnost ovládacího panelu. Autor uvádí, že modulární bot je napsán výhradně v jazyce C a používá ovládací panel napsaný v jazyce .NET Core, přičemž zdůrazňuje vyšší výkon klienta i serveru díky volbě programovacího jazyka.
- Podle popisu má bot celkové užitečné zatížení 55 až 60 kilobajtů, funguje jako nativní spustitelný soubor systému Windows a knihovna dynamických odkazů, běží výhradně v rezidentní paměti a je kompatibilní s 32bitovými a 64bitovými operačními systémy Microsoft Windows.
- Bot komunikuje přes připojení HTTPS a lze jej vzdáleně aktualizovat z ovládacího panelu po dešifrování i obnově.
- Autor také uvádí, že zavaděč běží jako zástupný proces důvěryhodné aplikace a funguje s využitím oprávnění na úrovni uživatele.
- Nejvýznamnější je, že software nepoběží v SNS (bývalých sovětských státech, jako je Rusko).
Inzerát popisuje následující vlastnosti serveru a ovládacího panelu:
- Ovládací panel je inzerován také jako napsaný v jazyce .NET Core, přičemž se upozorňuje na snadnou instalaci na serverové systémy Ubuntu / Debian Linux.
- Server poskytuje širokou škálu statistik, včetně počítadel online, živých, mrtvých a celkových botů, aktualizaci seznamu botů v reálném čase, počítadlo stahování souborů a možnost filtrovat systémy podle typu operačního systému, přístupových práv nainstalovaných botů a počtu logických jader CPU.
- Stažené soubory z infikovaných systémů jsou na serveru uloženy v zašifrované podobě a přístup k nim je povolen pomocí tokenu.
- Nejdůležitější je, že stejně jako samotní boti, autor poznamenává, že server nezpracovává požadavky API zaslané ze zemí, které jsou členy SNS.
Příspěvek na fóru obsahoval také technické poznámky k vydání zavaděče a ovládacího panelu Buer (verze 1.1.2). V úvodu autor poznamenal, že spuštění zavaděče se nyní skládá ze tří kroků — pokud jsou první dva kroky v infikovaném systému neúspěšné a injekce do náhradního procesu selže (například kvůli nekompatibilitě se samotnou šifrou), spustí se zavaděč místo toho pod vlastním procesem.
V poznámkách k vydání je u zavaděče uvedeno následující:
- Zavaděč používá architekturu FastFlux.
- Zavaděč pracuje pod důvěryhodným procesem v rámci systému Microsoft Windows. Proces MemLoadEx nyní podporuje x64 exe jako důvěryhodnou aplikaci.
- MemLoad byl aktualizován a nyní podporuje nativní x32 exe.
V poznámkách k vydání jsou uvedeny následující funkce ovládacího panelu:
- Přístup k API je realizován pomocí HTTPS s podporou certifikátů podepsaných vlastním jménem.
- Podpora úprav úloh v panelu. Uživatel může úlohu během provádění zastavit a změnit její užitečné zatížení a počet provedení.
- Přidána možnost vytvořit úlohu podle ID bota. Velmi vhodné pro bodové zatížení.
- Okno pro vytváření úloh krok za krokem.
- Upozornění, které umožňuje dozvědět se o potřebných botech online.
- Zvýšila se jedinečnost ID bota.
- Na panel byly přidány značky, které umožňují třídění botů pro následné akce s nimi.
- Zobrazuje název počítače v tabulce.
- Vylepšena kryptografická kompatibilita.
- Přidána historie botů.
- „Panel se nyní rozšiřuje na Docker“ (podpora kontejnerů Docker).
- Poznámka výzkumníka Proofpoint: Předpokládáme, že tato funkce je určena pro snadnou integraci do pronajatých hostitelů Docker, což zjednodušuje instalaci, ačkoli potenciálně může být panel/C&C nainstalován na kompromitovaném hostiteli Docker.
- Ověření souboru na panelu. Nyní panel nepřehlédne soubor, který zavaděč nebude moci stáhnout, a upozorní na to klienta.
- Úlohy lze nyní opakovat.
Nakonec autor popsal následující technické změny pro verzi 1.1.9. Ty stojí za zmínku, protože ukazují, že malware je aktivně a profesionálně vyvíjen.
- Zavaděč získal nový způsob spouštění Externí pro místní soubory. Výhodou této metody je jedinečnost a absence CreateProcess / ShellExecute prostřednictvím zavaděče. Spuštění vytvoří důvěryhodný proces, aniž by mu byly zadávány příkazy.
- Panel má možnost označit všechny boty, které provedly určitý úkol. To umožní uživateli distribuovat zátěž určitým skupinám botů.
- Implementované integrační rozhraní API. Je k němu k dispozici dokumentace.
- Přidána možnost odeslat soubor odkazem v režimu proxy. Soubor je botovi přenesen v zašifrované podobě.
- Byla opravena chyba počítání botů podle země a přidána další vylepšení.
Snímky obrazovky ovládacího panelu
Následující snímky obrazovky ovládacího panelu byly zahrnuty do podzemní reklamy a ukazují některé z možností backendu, které jsou zákazníkům k dispozici, včetně sledování telemetrie, filtrování hostitelů a dalších.
Obrázek 6: Uživatelské rozhraní pro přihlášení do ovládacího panelu pro zavaděč Buer C&C
Obrázek 7: Obrazovka sledování telemetrie botů pro ovládací panel Buer.
Obr. 8: Obrazovka sledování telemetrie botů pro ústřednu Buer v tmavém režimu
Obr. 9: Zobrazení filtru ústředny zobrazující vzdálené boty filtrované podle architektury Microsoft Windows.
Obr. 10: Zobrazení ovládacího panelu zobrazující správu souborů pro úlohy zavaděče
Obr. 11: Zobrazení ovládacího panelu vzdálených botů seřazených podle uživatelských práv.
Obr. 12: Zobrazení ovládacího panelu, stav úlohy
Obr. 13: Zobrazení ovládacího panelu, vytvoření úlohy
Analýza malwaru
Buer Loader je nový malware typu downloader, který stahuje a spouští další užitečné soubory.
Funkce proti analýze
Zavaděč obsahuje některé základní funkce proti analýze:
- Kontroluje debuggery pomocí kontroly příznaku NtGlobalFlag v bloku prostředí procesu (PEB) a bloku prostředí vlákna (TEB)
- Kontroluje virtuální počítače pomocí mechanismů Red Pill , No Pill a souvisejících mechanismů
- Kontroluje locale, aby se ujistil, že malware není spuštěn v určitých zemích (obrázek 14)
Obrázek 14: Kontrola malwaru, zda neběží v určitých zemích
Persistence
Persistence se nastavuje konfigurací položky RunOnce v registru. V závislosti na verzi bude položka registru spouštět škodlivý software přímo nebo naplánuje spuštění úlohy.
Šifrování řetězců
Tato ukázka obsahuje funkci pro šifrování řetězců.
Obrázek 15: Dešifrovací sekvence pro řetězce
Následující funkce je příkladem dešifrování zašifrovaných řetězců v Ghidře pomocí Jythonu:
Obrázek 16: Dešifrovací sekvence pro řetězce
Následující funkce je příkladem dešifrování zašifrovaných řetězců v Ghidře pomocí Jythonu: Dešifrovací posloupnost pro řetězce (verze Python)
Obrázek 17: Příklad dešifrování řetězců
Volání API systému Windows
Tato ukázka používá k řešení většiny svých volání API systému Windows algoritmus hashování. Algoritmus hashování zajišťuje, že každý znak názvu API je velké písmeno. Poté každý znak otočí doprava (ROR) o 13 a sečte je dohromady.
Obrázek 18: Algoritmus hashování pro řešení volání rozhraní API systému Windows
Následující funkce je příkladem toho, jak lze k řešení volání rozhraní API použít jazyk Python.
Obrázek 19: Příklad skriptu Python použitého jako pomůcka při řešení zaheslovaných volání rozhraní Windows API
Následující tabulka obsahuje seznam některých vybraných použitých hashů a jim odpovídající název rozhraní Windows API:
CreateMutexW |
0xed619452 |
OpenMutexW |
0x7bffe25e |
CreateProcessW |
0xb4f0f46f |
WinHttpOpen |
0xaf7f658e |
WinHttpCrackUrl |
0x8ef04f02 |
WinHttpConnect |
0x9f47a05e |
WinHttpOpenRequest |
0x1dd1d38d |
Tabulka 1: Volání Windows API s vybranými hesly
Příkaz a řízení
Příkazové a řídicí funkce (C&C) jsou zpracovávány prostřednictvím požadavků HTTP(S) GET. Příklad příkazového majáku vypadá jako na obrázku 20:
Obrázek 20: Příklad příkazového majáku
Tyto požadavky směřují na „update API“ a obsahují šifrovaný parametr. Tento parametr lze dešifrovat pomocí:
- Dekódování Base64
- Dekódování Hex
- DekódováníRC4 (klíč použitý v analyzovaných vzorcích byl „CRYPTO_KEY“)
Příklad parametru s otevřeným textem:
88a5e68a2047fa5ebdc095a8500d8fae565a6b225ce94956e194b4a0e8a515ae|ab21d61b35a8d1dc4ffb3cc4b75094c31b8c00de3ffaaa17ce1ad15e876dbd1f|Windows 7|x64|4|Admin|RFEZOWGZPBYYOI
Obsahuje potrubí-oddělená data, která se skládají z:
- Identifikace robota (SHA-256 šestnáctkový digest různých systémových parametrů, jako je GUID a název hardwarového profilu, název počítače, sériové číslo svazku, a CPUID)
- Hash SHA-256 vlastního spustitelného obrazu
- Verze systému Windows
- Typ architektury
- Počet procesorů
- Uživatelská oprávnění
- Název počítače
Příklad odpovědi na příkaz beacon je uveden na obrázku 21:
Obrázek 21: Příklad odpovědi příkazu beacon
Lze ji dešifrovat podobně jako výše uvedený parametr požadavku s tím rozdílem, že hexadecimální bajty jsou odděleny znaky pomlčky. Příklad prosté textové odpovědi je uveden na obrázku 22:
Obrázek 22: Prostá textová odpověď příkazového majáku
Dekódovaný text je objekt JSON obsahující různé možnosti způsobu stažení a provedení užitečného zatížení:
- type – existují dva typy:
- update – aktualizovat sebe sama
- download_and_exec – stáhnout a vykonat
- options – určuje možnosti stahování užitečného zatížení:
- Hash – platí pouze pro typ „update“ pro určení, zda je k dispozici nová aktualizace
- x64 – zda je payload 64bitový
- FileType – nepoužívá se v analyzovaných vzorcích
- AssemblyType – umožňuje stáhnout payload. nepoužívá se v analyzovaných vzorcích
- AccessToken – používá se ke stažení payloadu (viz níže)
- External – označuje, zda je payload stažen z C&C nebo externí URL
- method – způsob provedení:
- exelocal – vytvoření procesu
- memload – vstříknutí a ruční načtení payloadu
- memloadex – vstříknutí a ruční načtení payloadu
- loaddllmem – vstříknutí a ruční načtení payloadu
- parameters – parametry, které se mají předat na příkazovém řádku
- pathToDrop -. v analyzovaných vzorcích se nepoužívá
- autorun – určuje, zda má být pro payload nastavena perzistence Registry RunOnce
- modules – viz část Modules níže
- timeout – v analyzovaných vzorcích se nepoužívá
Stahování payloadů ze serveru C&C se provádí prostřednictvím požadavků na „download API“, jak je vidět na obrázku 23:
Obrázek 23: Stahování payloadu z C&C
Níže je uveden příklad parametru požadavku v prostém textu:
88a5e68a2047fa5ebdc095a8500d8fae565a6b225ce94956e194b4a0e8a515ae|58007044-67d4-4963-9f5f-400dfbc69e74
Obsahuje ID bota a „AccessToken“ z odpovědi příkazového majáku. Pokud je užitečné zatížení staženo z C&C, je zašifrováno pomocí RC4. V analyzovaných vzorcích byl klíč „CRYPTO_KEY“.
Modules
Odpověď příkazového majáku obsahuje seznam „modules“. Výzkumníci společnosti Proofpoint zatím nezaznamenali, že by se moduly Buer používaly ve volné přírodě, ale na základě kódu bude tento seznam obsahovat moduly AccessTokens. Název souboru modulu je dotazován odesláním AccessTokenu do „modulového API“ C&C. Modul pak bude stažen pomocí „downloadmodule API“. Po stažení a dešifrování je načten pomocí metody „loaddllmem“.
Závěr
Nový downloader Buer se v poslední době objevuje v různých kampaních, prostřednictvím malvertisingu vedoucího k exploit kitům; jako sekundární payload přes Ostap; a jako primární payload stahující malware, například bankovní trojan The Trick.
Nový zavaděč má robustní funkce geotargetingu, profilování systému a antianalýzy a v současné době se prodává na undergroundových fórech se službami nastavení s přidanou hodnotou. Rusky mluvící autor (autoři) aktivně vyvíjí downloader se sofistikovanými ovládacími panely a bohatou sadou funkcí, díky čemuž je tento malware konkurenceschopný na undergroundových trzích.
Stahovač je napsán v jazyce C, zatímco ovládací panel je napsán v jádře .NET, což naznačuje optimalizaci pro výkon a malou stopu stahování, stejně jako možnost snadné instalace ovládacího panelu na linuxové servery – vestavěná podpora kontejnerů Docker dále usnadní jeho šíření na pronajatých hostitelích používaných ke škodlivým účelům a potenciálně také na kompromitovaných hostitelích. Posledně jmenovaná schopnost je zahrnuta v jeho inzerovaných funkcích a poznámkách k vydání.
Got it, but I don't know what this is. Downloaded Word doc: https://t.co/Y8tX8wTsOa – Follow-up EXE persistent on the infected Windows host: https://t.co/sowNIRDPbI pic.twitter.com/4isqbsMAa9
— Brad (@malware_traffic) October 11, 2019
https://www.cert.pl/en/news/single/ostap-malware-analysis-backswap-dropper/
https://www.proofpoint.com/us/threat-insight/post/ostap-bender-400-ways-make-population-part-with-their-money
https://www.aldeid.com/wiki/X86-assembly/Instructions/sidt
https://www.aldeid.com/wiki/X86-assembly/Instructions/sldt
Indikátory kompromitace (IOC)
IOC |
IOC. Type |
Description |
fa699eab565f613df563ce47de5b82bde16d69c5d0c05ec9fc7f8d86ad7682ce |
sha256 |
|
http[://45.76.247[.177:8080/api/update/ |
URL |
Buer C&C callback |
6c694df8bde06ffebb8a259bebbae8d123effd58c9dd86564f7f70307443ccd0 |
sha256 |
|
197163b6eb2114f3b565391f43b44fb8d61531a23758e35b11ef0dc44d349e90 |
sha256 |
|
https[://173.212.204[.171/api/update/ |
URL |
Buer C&C callback |
9e8db7a722cc2fa13101a306343039e8783df66f4d1ba83ed6e1fe13eebaec73 |
sha256 |
(Fallout Drop) |
http[://134.0.119[.53:8080/api/update/ |
URL |
Buer C&C callback |
ab21d61b35a8d1dc4ffb3cc4b75094c31b8c00de3ffaaa17ce1ad15e876dbd1f |
sha256 |
(Ostap drop) |
https[://garrisontx[.us/api/update/ |
URL |
Buer C&C callback |
https[://185.130.104[.187/nana/kum.php?pi=18b |
URL |
Ostap instance dropping Buer – 2019-10-21 |
753276c5887ba5cb818360e797b94d1306069c6871b61f60ecc0d31c78c6d31e |
sha256 |
Buer 2019-11-28 |
ffload01[.top|185.125.58[.11 ffload01[.top|185.186.141[.129 |
doména|IP |
Buer C&C 2019-11-28 |
Podpisy ET a ETPRO Suricata/Snort
2029077 || ET TROJAN Buer Loader Request Update
2029079 || ET TROJAN Buer Loader Response
2029078 || ET TROJAN Buer Loader Požadavek na stažení
2839684 || ET TROJAN Buer Loader Úspěšné stažení užitečného zatížení
2029080 || Pozorován certifikát SSL/TLS (Buer Loader)