Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863573447

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.

1.jpg

在10月6至7日的Hacktivity 2022安全節中,有研究人員介紹了一個針對東南亞網絡賭場開發和運營環境的有趣的APT活動。

研究人員在報告中將這個APT活動稱為“DiceyF”。據報導,攻擊者多年來一直以東南亞的網絡賭場為目標。研究顯示,該活動與LuckyStar PlugX活動有很多相似之處,另外,TTP、安全消息傳遞客戶端濫用、惡意軟件和目標定位表明,這個活動和趨勢科技研究人員在Botconf 2022上討論的Earth Berberoka/GamblingPuppet活動一致。

在目前已發現的DiceyF事件中,還沒有觀察到直接的經濟動機或現金盜竊的證據。相反,TrendMicro研究人員此前報告的事件顯示,客戶PII數據庫被竊取和源代碼被竊取。攻擊者目前的真正的攻擊動機仍然是一個謎。

攻擊行為分析檢測的攻擊行為包括:

PlugX安裝程序由來自安全消息客戶端開發工作室的潛在被盜數字證書籤名;

惡意軟件通過員工監控系統和安全包部署服務分發;

不同的.NET代碼使用相同的潛在被盜證書籤名,並回調到與PlugX C2相同的域;

2021年11月,研究人員在同一個網絡中檢測到多個PlugX加載程序和有效負載,這通常是一個令人厭倦的研究主題。然而,這一次,PlugX安裝程序三元組(PlugX installer triad)通過兩種方式部署為使用合法數字證書籤名的可執行文件——員工監控服務和安全包部署服務。這個合法的數字證書似乎是從一個用於安全消息傳遞客戶端的開發和構建工作室中竊取的。這些PlugX有效負載通過apps.imangolm[.]com與C2通信。不久之後,同樣的安全包部署服務被用於推送GamePlayerFramework下載程序,這些下載程序與相同的C2進行通信,並使用相同的數字證書籤名。

進一步的研究顯示,目標配置文件建議網絡賭場開發工作室,然後在不同的網絡上招募/外包開發系統。NET下載程序部署與PlugX部署同時出現,都是通過相同的數字證書籤署的。

3.png

這些下載程序使用“PuppetLoader”文件路徑維護PDB字符串,這些PuppetLoader字符串非常熟練地將多級加載程序與過去的PuppetLoader下載程序連接起來,只是這一次用c#重新設計和重寫。過去的PuppetLoader是用c++編寫的,維護顯式字符串:

4.png

新的.NET代碼維護著類似的字符串,反映的是幾年前的代碼庫。

5.png

在我們對這些發現進行分析和報告的同時,來自趨勢科技的人員在Botconf會議上報告了GamblingPuppet/Earth Berberoka的研究。我們非常有信心認為這個DiceyF GamePlayerFramework活動是一個新開發的核心惡意軟件集的後續活動。這個新的APT活動,即DiceyF,將之前報告的GamblingPuppet和Operation DRBControl資源和活動進行了重新設計,以下是我們在早期數據中觀察到的活動:

PlugX和PuppetLoader多級加載程序;

東南亞的網絡賭場目標;

缺乏表明財務動機的證據(趨勢科技觀察到DRBControl操作中客戶數據庫和源代碼洩露);

正在使用的中文語言,特別是GamePlayerFramework錯誤字符串和插件名稱和路徑;

通過後門竊取數據的重點包括擊鍵和剪貼板;

被盜數字證書的再利用;

隱藏安全消息傳遞客戶端作為惡意軟件的傳輸工具和惡意活動的偽裝物;

GamePlayerFramework是前面提到的PuppetLoader c++ /彙編惡意軟件的一個完整的c#重寫。這個“框架”包括下載程序、啟動程序和一組提供遠程訪問和竊取擊鍵和剪貼板數據的插件。更新的(2022年夏季)可執行文件大部分都是用.NET v4.5.1編譯的64位.NET文件,但也有一些是32位或dll文件,用.NET v4.0編譯。這個框架至少有兩個分支,“Tifa”和“Yuna”,並且兩個分支都維護新的模塊,並隨著時間的推移而逐步修改:

D:\Code\Fucker\GamePlayerFramework\Tifa\*.pdb;

C:\Users\fucker\Desktop\Fucker\GamePlayerFramework\Tifa\*.pdb;

D:\Code\Fucker\GamePlayerFramework\Yuna\*.pdb;

奇怪的FinalFantasy代碼遊戲玩家可能熟悉日本Square軟件公司設計的電子遊戲Final Fantasy(最終幻想),其中Tifa和Yuna是其中的兩個主要角色。 Tifa和Yuna分支彼此不同:Tifa分支只包括一個下載程序和一個“核心”模塊,Yuna分支包括下載程序、插件和各種PuppetLoader組件,總共至少有十幾個。即使下載程序之間也有很大的不同。事實上,Yuna.Downloader代碼會隨著時間的推移而發生相當大的變化,包括JSON解析,日誌記錄和加密功能。

Tifa代碼分支於2021年11月首次部署給受害者,這些Tifa下載程序比後來的Yuna下載程序保持了更原始的功能。此外,11月的代碼簽署協調工作似乎沒有很好地組織起來。除了一個已簽名的Tifa可執行文件外,與Yuna下載程序不同,三個Tifa下載程序中的兩個是未簽名的代碼。

最初的Tifa下載程序已經使用了“Mango”和“Mongo”函數名,就像Yuna下載程序中發現的工件一樣,以及前面提到的apps.imangolm[.]com C2植入程序。後來,Yuna下載程序的文件名為“mango.exe”。 Tifa.Downloader變體中的兩個引入了“DownloaderVersion” 字符串,攻擊者可能會在服務器端保持向後兼容性。一些後來的Yuna.Downloader變體增加了功能和復雜性,但是多個早期變體和Tifa分支非常簡單。

加載框架下載和持久化設置完成後,多個組件將加載框架。加載框架的整個過程可以用下圖概括:

7.png

此加載順序導致運行“Launcher”組件。儘管名曰“Launcher”,但此模塊的主要功能是不執行啟動。相反,它是框架的協調器,即它管理所有框架組件。啟動完成後,協調器每20秒向C2服務器發送一次運行報文。每個這樣的數據包都是XOR加密的JSON對象,其中包含以下信息:

1、登錄用戶的用戶名;

2、當前用戶會話狀態(鎖定或解鎖);

3、剪貼板記錄插件收集的日誌的大小;

4、當前日期和時間;

用15個命令中的一個響應C2,命令名稱、命令參數和描述如下:

1、PluginKeepAlive, KeepAlive,N/A,用最近的C2響應時間更新內部時間戳;

2、PluginDestory [sic],N/A,關閉框架;

3、GetSystemInfo,N/A,檢索各種系統信息,即:

本地網絡IP地址;

可用權限(系統、管理員或普通用戶);

用於C2通信的網絡協議(在所有發現的示例中硬編碼到Tcpv4);

框架版本(格式為yyyymmdd.xx,如20220506.00);

下載模塊版本;

CPU名稱;

可用內存;

操作系統版本;

已使用的C2服務器地址;

剪貼板記錄器日誌的大小;

安裝安全解決方案;

BIOS序列號;

MAC地址;

機器啟動時間;

4、FastCmd;Command:要執行的命令;允許執行shell命令,這個命令創建一個新的cmd.exe進程,帶有重定向的標準輸入和輸出,並向它發送命令,執行命令的輸出返回到C2服務器;

5、Getdomainsetting,N/A,將配置中指定的C2服務器列表發送到當前C2服務器;6、SetDomainSetting,DomainConfig:新C2服務器的IP地址和端口,通過將新的C2服務器地址寫入C:\ProgramData\NVIDIA\DConfig文件來更新配置中的C2服務器列表;

7、GetRemotePluginInfo,PluginName:已安裝插件的名稱,檢索本地安裝的插件的版本;

8、RunPlugin,PluginName:要啟動的插件名稱,SessionId:要在其中啟動插件的會話ID,從C2服務器下載插件並啟動它;

9、DeleteGuid,N/A,通過創建一個批處理文件從設備上刪除感染,該文件刪除框架安裝程序釋放的所有文件,除了rascustoms.dll,執行刪除後,批處理文件將自我刪除;

10、Fastdownload,FilePath:待上傳文件的路徑,從受害設備上傳文件;

11、Cacheplugin,PluginName:插件名稱,PluginVersion:插件的版本,從C2服務器下載插件,但不啟動它;

12、Installplugin,PluginName:要啟動的插件名稱,WaitForExitTimeout:超時時間間隔,在受害設備上啟動一個插件,等待插件進程完成,在超時的情況下,協調器會阻止插件進程;

13、remoteinject ,SubMsg:等於RunVirtualDesktop或DestoryVirtualDesktop的字符串,啟動(如果SubMsg是RunVirtualDesktop)或停止(如果SubMsg是DestoryVirtualDesktops)VirtualDesktop插件;

14、ChromeCookie,SubMsg:等於RunChromeCookie或GetCookiePath的字符串,如果SubMsg是RunChromeCookie,啟動ChromeCookie插件,如果參數字符串是GetCookiePath,則返回存儲Chrome cookie的路徑;

15、FirefoxCookie,等於RunChromeCookie或GetCookiePath的字符串,如果參數字符串是GetCookiePath,則返回存儲Chrome cookie的路徑。

插件概述插件是執行大多數框架惡意活動的EXE文件。插件可以配置為在框架啟動時從C2服務器下載,或者使用上述命令之一在任何其他時間加載。在執行過程中,插件可以連接到C2服務器並從中接收命令。有關運行插件的信息存儲在C:\ ProgramData \ NVIDIA \ DisplaySessionContainer1.ini文件中。

該框架的所有插件都以無文件的方式存儲。每當從C2服務器下載插件時,都會按照以下過程將其加載到框架中:

1.orchestrator選擇從10000到20000的隨機端口,並在其上啟動本地TCP套接字服務器;

2.orchestrator在掛起模式中創建一個新的svchost.exe進程,並註入在“加載框架”一節中提到的api-ms-win-core-sys- g1 -0-5.dll庫。

3.注入的庫使用以下參數加載PuppetLoader.Downloader組件:帶有插件payload -Port

4.Yuna.PuppetLoader.Downloader組件從本地TCP服務器下載插件可執行文件,並使用Load加載它。

orchestrator組件的字符串引用以下插件名稱:

Plugin.(Acquisition System;

Plugin.Hidden Process;

Plugin.SSH;

Plugin.General Purpose Plugin;

Plugin.SessionCmd;

Plugin.Port Forwarding;

Plugin.Screen Transfer;

Plugin.Virtual Desktop;

Plugin.Clipboard;

Plugin.ChromeCookie;

Plugin.FirefoxCookie;

在跟踪GamePlayerFramework的部署時,我們注意到上面列出的幾個插件正在被使用:通用插件、剪貼板和虛擬桌面。

帶有圖形界面的惡意應用程序通過安全解決方案安裝包部署的應用程序旨在模仿同步芒果消息應用程序數據的應用程序。以下是此應用程序啟動時顯示給受害者的窗口:

9.png

惡意“芒果員工賬戶數據同步器” 窗口

為了使受害用戶信任惡意窗口,攻擊者採用了社會工程技術。從上面的截圖可以看出,這些信息包括受害組織的名稱,甚至包括該組織IT部門所在的樓層。同時,可見窗口使該應用程序對安全解決方案的可疑性降低。

啟動時,此應用程序會進行如下操作:

通過TCP套接字連接到C2服務器,服務器的地址和端口在二進製文件中指定。如果連接失敗,應用程序將顯示帶有“無法連接到芒果員工數據同步服務器!請反饋至其他部門!”字樣。

向C2服務器發送以下信息:

安裝的芒果信使版本;

設備名稱;

當前用戶名;

操作系統版本;

本地IPv4地址列表;

接收一個包含名為IsErrorMachine的布爾值的JSON對象。如果設置為true,則應用程序將顯示一個包含“尚未認證的設備,請到10樓的it部添加設備認證”文本的消息窗口並退出;

啟動與應用程序位於同一目錄中的exe可執行文件,這個文件的內部名稱是Yuna.Downloader。

代碼處於持續的增量變化中,它的版本控制反映了對代碼庫修改的半專業管理。隨著時間的推移,該團隊增加了對Newtonsoft JSON庫的支持,增強了日誌記錄和日誌加密。

基礎設施10.png

如上所述,許多早期植入(包括PlugX和下載程序)的通信活動通過為位於東南亞的基礎設施解析FQDN來回調基礎設施。到2022年4月,有些Yuna.Downloader開始直接與一個硬編碼的IP地址通信。

總結DiceyF活動的ttp和很多惡意活動都存在相似之處,該組織會隨著時間的推移修改他們的代碼庫,並在整個攻擊過程中開發代碼中的功能。

GamePlayerFramework使DiceyF背後的攻擊者能夠以某種程度的隱身方式執行網絡間諜活動。初始感染方法是值得注意的,因為該框架是通過安全解決方案控制中心部署的安裝包進行傳播的。此外,該框架的組件使用數字證書進行簽名,這使得安全解決方案更信任該框架。為了進一步偽裝惡意組件,攻擊者為其中一些組件添加了圖形界面。這種惡意植入被偽裝成在受害組織中使用的信使組件。為了確保受害者不會對偽裝的植入物產生懷疑,攻擊者獲取了目標組織的信息(例如該組織IT部門所在的樓層),並將其包含在顯示給受害者的圖形窗口中。他們還使用了服務名稱、文件路徑、數字簽名證書和來自NVIDIA、Mango和其他正版軟件的其他構件。 GamePlayerFramework的插件允許對受害機器進行全面的監視。例如,他們能夠監視擊鍵和剪貼板,瀏覽位於組織本地網絡內的網站,或建立虛擬桌面會話。在近幾個月的時間裡,DiceyF開發人員增加了更多的加密功能,以更好地隱藏他們的日誌記錄和監控活動。在未來,我們期望看到插件數量的增加,並觀察到在這個框架中更多不尋常的防禦規避方法。