原文鏈接:Cycldek: Bridging the (air) gap
譯者:知道創宇404實驗室翻譯組
主要發現
在調查關于Cycldek組織2018年后有關攻擊活動時,發現對該組織的信息了解甚少。本文旨在彌合對該組織的知識鴻溝,了解其最新活動和操作方式。以下是關于該組織的相關信息:
-
Cycldek(也稱為Goblin Panda和Conimes)在過去兩年中一直很活躍,對東南亞地區國家政府進行了針對性的攻擊活動。
-
相關活動的分析顯示了兩種不同的模式,表明該組織是由一個領導管理的兩個運營實體組成。
-
我們檢測發現到了用于目標網絡的橫向移動和信息竊取的工具,其中包括自定義工具、未報告工具以及二進制文件。
-
最新公布的工具之一被命名為USBCulprit,其通過USB媒體來提取受害者的數據。這表明Cycldek可能正試圖到達受害者環境中的氣隙網絡,或依靠物理存在達到同樣的目的。
背景
Cycldek是久負盛名的使用中文的威脅組織。基于該組織過去的活動,發現它對東南亞地區有濃厚的興趣,而且主要關注在越南的大型組織和政府機構。
-
2013年,正如CrowdStrike 簡要描述的那樣,在多個行業的公司網絡中都發現了該集團的附屬指標。
-
2014年,CrowdStrike針對東南亞組織,尤其是越南進行了大規模的攻擊活動。這些活動主要使用越南語作為誘餌文件,傳播諸如PlugX之類的惡意軟件。
-
2017年,據Fortinet報道,該組織使用含有越南政治內容的RTF誘餌文件發起攻擊,刪除了名為NewCore RAT的惡意程序的變種。
-
2018年,東南亞地區多個國家(包括越南、泰國和老撾)的政府組織使用各種工具和新的TTP進行了攻擊。其中包括使用Royal Road構建器,NewCore RAT惡意軟件的開發版本以及其他未報告的植入程序。自2019年10月以來,這已經成為卡巴斯基威脅情報門戶網站報告的重點,也是本文的主題。
2018年以來,我們發現大多數攻擊都始于以8.t文檔生成器(也稱為‘Royal Road’)構建的具有政治主題的RTF文檔,會通過網絡釣魚郵件的形式發送給受害者。這些文檔捆綁了漏洞利用程序(例如CVE-2012-0158,CVE-2017-11882,CVE-2018-0802),這些漏洞又為三個文件運行了一個釋放器:
-
合法簽名的應用程序,通常與AV產品相關,如QcConsol–McAfee的QuickClean應用程序、Avast的服務程序wsc_proxy.exe。
-
惡意DLL,由之前的應用程序進行加載。
-
加密的二進制文件,由DLL解密并執行。
在內存中運行的最終有效負載是一個稱為NewCore RAT的惡意軟件。它基于一個名為PcShare的開源框架,該框架十多年前在中國黑客論壇盛行。如今,該軟件在Github上已經完全可用,攻擊者可以根據自己的需要來利用或修改它。
以Cycldek為例,該組織于2017年使用NewCore的第一個公共帳戶。如Fortinet的文章所述,該惡意軟件為攻擊者提供了廣泛的功能,其可使文件進行一系列操作、截屏,并通過遠程外殼控制機器對計算機進行關閉或重啟。
兩大植入變體
在我們調查各種攻擊期間交付的NewCore RAT惡意軟件時,我們能夠區分出兩大變種。兩者都是作為側載DLL部署的,在代碼和行為上有多個相似之處。同時我們注意到,不同的操作符可以使用不同的變體。
分析表明,潛在的惡意軟件因為使用方式不同形成了兩個活動集群。我們將變種命名為BlueCore和RedCore,對每個變種周圍發現的相關信息進行了檢查,下表總結了相關的植入變體特征:

如表所示,這些變體具有相似行為。兩者都使用DLL加載順序劫持來運行DLL中的代碼,模擬合法的AV應用程序的依賴關系,并且都共享隨機UUID的互斥體命名。通過比較兩大植入的變體,我們可以發現源自PCShare RAT的多種功能,但是其他一些代碼(如下圖中的注入代碼)是專有的。
此外,兩種植入變體都利用了類似加載RedCore和BlueCore植入軟件的shell代碼。shell代碼在文件的‘stdoletlb’和‘msgsm64.acm’中,其包含用于從嵌入式blob解密植入軟件的的原始可執行文件,然后將其映射到內存,并在入口點執行例程。由于這兩種變體的兩段shell代碼是相同的,且屬于不同的開源項目,因此我們認為它們來自一個專有的共享資源。
但兩大變體也存在差別,下面是僅在RedCore植入軟件中找到的功能示例;
-
鍵盤記錄器:RedCore記錄當前前景窗口的標題(如果存在),并以每10ms的擊鍵記錄到一個大小為65530的內部緩沖區中。當該緩沖區被填充時,來自其中的數據將被寫入名為“ RCoRes64.dat”的文件中,其使用的是單字節XOR和密鑰0xFA對數據進行的編碼。
-
設備枚舉器:RedCore注冊了一個窗口類,該類旨在通過回調來攔截窗口消息,而信息的發送則是由于DBT_DEVICEARRIVAL運行。此類事件表明設備已連接至系統,設備也會將邏輯驅動器的位圖發送到C&C。
-
RDP記錄器:RedCore通過ETW訂閱RDP連接事件,并在事件發生時向C&C發送通知。處理此功能的代碼基于Github存儲庫,名為EventCop,該存儲庫旨在獲取通過RDP連接到系統的用戶列表。由于修改了開放源代碼,惡意軟件不會打印傳入連接的數據,而會聯系C&C并通知其有關連接事件的信息。
-
代理服務器:RedCore產生一個服務器線程,該線程觀察預先配置的端口(默認為49563)并接受來自非本地主機連接的請求。服務器開始運行之前,會對進程進行防火墻通過處理,所有的請求也都會驗證通過,接著按照原始格式傳遞給C&C。
這兩種植入最顯著的區別是他們用來連接和指向C&C服務器的URL方案不同。通過在遙測中查找使用類似URL模式發出的請求,我們能夠找到多個C&C服務器,并基于上述兩個集群劃分底層基礎設施架構。每一種惡意軟件的請求都只由合法和簽名的應用程序發出,這些應用程序或被用來裝載一個惡意DLL,或被注入惡意代碼,所有被發現的域都會用于下載進一步的示例。
由此我們得出的結論是,盡管所有目標都是外交和政府實體,但每組活動都有不同的地理重點。BlueCore集群背后的運營商將大部分精力投入到了越南目標上,并在老撾和泰國建立了多個離群值,而RedCore集群的運營商最初則側重于越南,2018年底轉移到了老撾。相關數據如圖:


通過對比我們發現看到的活動屬于單個參與者,我們稱之為Cycldek。在一些情況下,我們發現了從兩個組的服務器下載的由組編寫的獨特工具。如下圖所示,其中一個例子是USBCulprit組織自定義構建的工具,它的兩個樣本是從BlueCore和RedCore服務器下載的,附錄中提供了更全面的列表。總而言之,這意味著這些集群后面運行的實體正在共享多個資源(包括代碼和基礎結構),并且在單個組織的保護下運行。
信息竊取和橫向移動工具集
在分析過程中,我們能夠觀察到從BlueCore和RedCore植入程序中下載的各種工具,這些工具既可以在受感染的網絡中橫向移動,也可以從受感染的節點竊取信息。這些工具有幾種類型,有些是專有的,以前不曾見過,有些是從開源漏洞利用框架中復制的軟件(其中的一些有特定的攻擊對象)。
在RedCore和BlueCore的例子中,下載的工具都是作為合法簽名應用程序端加載DLL調用的。此類應用程序包括AV組件,例如wsc_proxy.exe(Avast修復服務),qcconsol.exe和mcvsshld.exe(McAfee組件),以及合法的微軟和谷歌工具(如資源編譯器rc.exe和谷歌更新googleupdate.exe)。使用這些工具可以繞過弱安全機制(如應用白名單),在執行過程中向惡意軟件授予其他權限,或者使事件響應變得復雜化。
與RedCore和BlueCore一樣,下載的工具都被作為合法簽名應用程序的側面加載DLL調用。此類應用程序包括AV組件,例如wsc_proxy.exe(Avast修復服務),qcconsol.exe和mcvsshld.exe(McAfee組件),以及合法的Microsoft和Google實用程序,例如資源編譯器(rc.exe)和Google Updates。可以使用這些工具來繞過諸如應用程序白名單之類的弱安全機制,在執行過程中向惡意軟件授予其他權限,使事件變得復雜化。
正如已經提到的那樣,這些工具中的大多數是常見的,并且在攻擊者中廣泛使用,有時也稱為非現場二進制文件或LOLbins。此類工具是合法開源軟件的一部分,但卻被濫用進行惡意活動。其中示例包括BrowserHistoryView(用于從常見瀏覽器獲取瀏覽歷史記錄的Nirsoft實用程序),ProcDump(用于轉儲內存的Sysinternals工具,可能從運行的進程中獲取密碼),Nbtscan(用于掃描IP網絡以獲取NetBIOS信息的命令行實用程序)和PsExec(Sysinternals工具用于在網絡中遠程執行命令,通常用于橫向移動)。
其余工具要么由攻擊者完全開發,要么使用之前已開發的工具。以下是幾個著名的示例:
- 自定義后門:這是之前開發的工具,可提供齊全的后門功能,如遠程機器管理、信息盜竊、橫向移動和DDoS攻擊的發起。它由黑客Wicked Rose開發,在中國的黑客論壇中流行了一段時間,以其為基礎的變體形式進入了APT世界(如Naikon APT它利用了原始工具)。Cycldek自定義版本利用了小部分功能,攻擊者可以用它來掃描內部網絡并在受感染主機之間創建隧道,這樣可以避免網絡被檢測并能成功繞過代理。此外,該工具還允許攻擊者通過訪問未連接互聯網的計算機來竊取隔離主機中的數據。
- JsonCookies:專有工具,可從基于Chromium的瀏覽器的SQLite數據庫中竊取Cookie。可從C&C下載sqlite3.dll庫,運行期間使用它來解析數據庫并生成一個名為“FuckCookies.txt”的JSON文件。其文件中的條目與此類似:
{
"domain": ".google.com",
"id": 1,
"name": "NID",
"path": "/",
"value": "%VALUE%"
}
- ChromePass:專有工具,可從基于Chromium的瀏覽器數據庫中竊取保存的密碼。解析的數據庫會輸出一個HTML文檔,文檔中包含一個帶有URL的表以及相應的被盜用戶名和密碼信息。具體操作如圖所示:
惡意軟件:USBCulprit
Cycldek工具集中最能說明數據竊取和橫向移動功能的示例是我們稱為USBCulrpit的惡意軟件。RedCore植入軟件在多個示例中下載了該工具,它能夠掃描受害機器的各種路徑,收集具有特定擴展名的文檔,在連接到系統后將數據傳遞給USB驅動器。它還能在特定環境下選擇性復制內容到可移動驅動器中,這些操作表明可以通過感染指定的驅動器并手動打開其中的可執行文件,將其橫向傳播。
在惡意軟件處于活動狀態期間,功能上的變化很少。基于卡巴斯基的遙測技術,USBCulprit 2014年出現,最近的更新活動在2019年底。2017年以后檢測到的樣本中最突出的新增功能是能夠從連接的USB執行指定文件的名稱,這表明惡意軟件可以擴展到其他模塊。然而,我們無法捕獲任何這樣的文件,它們的目的目前仍然未知。
我們看到的另一個變化是2017年以后發現的變體的加載方案。舊版本使用了一個刪除器,它將一個配置文件寫入磁盤,并提取出包含合法二進制文件和惡意端加載DLL的嵌入式Cabinet存檔。這在新版本中得到了改進,還增加了一個額外的階段,如使側面加載的DLL解密并從包含惡意負載的歸檔中加載第三個文件。結果,后者只能在內存中以解密形式找到。
這個加載方案表明,它背后的操作者利用了先前描述的歸因于Cycldek的植入軟件中所見的類似TTP。如,模仿AV組件的二進制文件被用于執行DLL負載順序劫持。在這樣的情況下,從cabinet歸檔文件中刪除的一個名為wrapper.exe的文件(最初名為PtUserSessionWrapper.exe,)強制執行一個名為TmDbgLog.dll的惡意DLL。此外,該惡意軟件利用加密blob,使用RC4解密并用自定義PE加載器執行。完整的鏈如下圖所示:
將USBCulprit加載到內存并執行后,它將分三個階段運行:
- 引導和數據收集:這個階段為惡意軟件的執行準備環境。它調用名為“CUSB::RegHideFileExt”和“CUSB::RegHideFile”的兩個函數,這些函數修改注冊表鍵來隱藏Windows中文件的擴展名,并將驗證隱藏的文件不顯示給用戶。它還會向磁盤寫入多個文件到初始化數據結構的路徑中,這些路徑之后會被惡意軟件使用或進行搜索。此外,該惡意軟件使用一個名為‘CUSB::USBFindFile’的函數通過掃描來進行文件收集。如利用幾個預定義的目錄來查找具有以下任一擴展名的文檔:.pdf;.doc;.wps;docx;ppt;.xls;.xlsx;.pptx;.rtf。找到的文檔都記錄在一個文件中。
然后將選擇的文件分組到加密的RAR檔案中。為了實現這一點,該惡意軟件提取了一個“rar.exe"命令行實用程序,并針對創建的列表運行該程序。存檔的密碼在惡意軟件開始執行時初始化,對于我們觀察到的大多數變體,都被設置為“abcd!@#$”。
值得注意的是,可以按其修改日期過濾所搜索的文檔。USBCulprit的多種變體會在執行惡意軟件的目錄中檢查名為“time”的文件。該文件應具有指定修改時間戳記的日期時間值,超出該值時,文件將被視為您感興趣的文件并應被收集。如果“ time”文件不存在,則使用默認值“ 20160601000000”進行創建,該值對應于01/06/2016 00:00:00。
- USB連接攔截和進行數據滲透/傳送:當引導和數據收集完成時,惡意軟件試圖攔截新媒體的連接,并驗證它對應驅動器。這是一個無限循環的過程,該惡意軟件會進入休眠狀態并在固定的時間被喚醒,使用GetDriveTypeW函數檢查所有連接的驅動器。如果存在至少一個驅動器類型為DRIVE_REMOVABLE,則將采取進一步的措施。
連接USB后,惡意軟件將驗證偷來的數據進行復制或驗證。在驅動器中搜索名為“$Recyc1e.Bin”的目錄,如果找不到該目錄,則會創建該目錄。此目錄將作為文件復制到驅動器的目標路徑或從中獲取文件的源路徑。
為了了解應按哪個方向進行文件復制,在本地搜索名為“1.txt”的特殊標記文件。如果存在,該惡意軟件可能會尋找“$Recyc1e.Bin”目錄,并嘗試將其復制到磁盤。否則,本地存檔文件將從磁盤復制到驅動器的同一目錄中。
- 橫向移動和擴展:作為上述循環的一部分,將在本地檢查是否存在另一個名為“2.txt”的標記文件,以確定是否應進行橫向移動。只有該文件存在,惡意軟件的二進制文件才會從其本地路徑復制到“$Recyc1e.Bin”本地目錄。值得注意的是,我們無法發現任何可通過USB連接觸發惡意軟件執行的機制,這使我們相信該惡意軟件應該由人工處理。除上述之外,USBCulprit能夠更新本身或通過其他模塊擴展其執行,這是通過在USB中查找預定義文件并執行它們來完成的。這些示例包括{D14030E9-C60C-481E-B7C2-0D76810C6E96}和{D14030E9-C60C-481E-B7C2-0D76810C6E95}。我們在分析過程中無法獲得這些文件,也無法說出它們的確切目的。根據它們的行為,我們只能猜測它們被用為作擴展模塊或已經是惡意軟件本身的更新版本。前者是一個歸檔文件,它被解壓縮到一個特定目錄,該目錄的文件枚舉并使用一個名為‘CUSB::runlist’的內部函數執行,而后者是一個二進制文件,復制到%TEMP%目錄并作為一個新進程生成。
惡意軟件的特征可以讓我們對它的目的做出一些假設,其中一個假設是要從具有空隙的計算機中獲取數據。這就解釋了惡意軟件中沒有任何網絡通信,只使用移動媒體作為傳輸入站和出站數據的手段。此外,我們還看到一些變體發出命令來收集主機網絡信息的不同部分,這些數據被記錄到一個文件中,然后與被竊取的數據一起傳輸到USB上,這可以幫助攻擊者分析被執行惡意軟件的計算機是否屬于隔離網絡的一部分。
另外我們認為該惡意軟件是由地面操作人員手動處理的。如前所述,沒有明顯的機制可以從受感染的媒體自動執行USBCulprit,但是我們看到同一示例是從多個驅動器位置執行的,這表明它確實散布在周圍。惡意軟件尋找非常特定的文件作為可執行擴展名,而在我們的調查中找不到其他數據,這表明是需要人為因素來協助將惡意軟件部署在受害網絡當中的。
結論
Cycldek是一個比公眾想象的更難的操作軟件示例。盡管大多數活動給人描述的印象是一個能力欠佳的邊緣組織,但工具的范圍和行動時間表明,該組織在東南亞備受關注的而且目標網絡中擁有廣泛的立足點。
此外,我們對隸屬于該組織的植入程序分析可以更深入了解組織結構。如前所述,這些惡意軟件的各種特征之間的相似性和差異表明,它們很可能起源于單個組織的不同部門。
最后我們認為,此類攻擊將在東南亞國家繼續發生。過去曾目睹使用不同的工具到達同一國家的氣隙網絡,并試圖從中竊取數據。我們的分析表明,就惡意軟件參與者而言這種活動并未停止,它只是改變了形式。我們將繼續跟蹤操作者并在我們的威脅情報門戶網站中進行情報的持續更新。
IOCs
RedCore:
A6C751D945CFE84C918E88DF04D85798 – wsc.dll (side-loaded DLL)
4B785345161D288D1652C1B2D5CEADA1 – msgsm64.acm (encrypted shellcode and implant)
BlueCore:
1B19175C41B9A9881B23B4382CC5935F – QcLite.dll (side-loaded DLL)
6D2E6A61EEDE06FA9D633CE151208831 – QcLite.dll (side-loaded DLL)
6EA33305B5F0F703F569B9EBD6035BFD – QcLite.dll (side-loaded DLL)
600E14E4B0035C6F0C6A344D87B6C27F- stdole.tlb (encrypted Shellcode and Implant)
Lateral Movement and Info-Stealing Toolset:
1640EE7A414DFF996AF8265E0947DE36 Chromepass
1EA07468EBDFD3D9EEC59AC57A490701 Chromepass
07EE1B99660C8CD5207E128F44AA8CBC JsonCookies
809196A64CA4A32860D28760267A1A8B Custom HDoor
81660985276CF9B6D979753B6E581D34 Custom HDoor
A44804C2767DCCD4902AAE30C36E62C0 Custom HDoor
USB Culprit:
A9BCF983FE868A275F8D9D8F5DEFACF5 USBCulprit Loader
C73B000313DCD2289F51B367F744DCD8 USBCulprit Loader
2FB731903BD12FF61E6F778FDF9926EE USBCulprit Loader
4A21F9B508DB19398AEE7FE4AE0AC380 USBCulprit Loader
6BE1362D722BA4224979DE91A2CD6242 USBCulprit Loader
7789055B0836A905D9AA68B1D4A50F09 USBCulprit Loader
782FF651F34C87448E4503B5444B6164 USBCulprit Loader
88CDD3CE6E5BAA49DC69DA664EDEE5C1 USBCulprit Loader
A4AD564F8FE80E2EE52E643E449C487D USBCulprit Loader
3CA7BD71B30007FC30717290BB437152 USBCulprit Payload
58FE8DB0F7AE505346F6E4687D0AE233 USBCulprit Payload
A02E2796E0BE9D84EE0D4B205673EC20 USBCulprit Payload
D8DB9D6585D558BA2D28C33C6FC61874 USBCulprit Payload
2E522CE8104C0693288C997604AE0096 USBCulrprit Payload
Toolset overlapping in both clusters:

C&Cs and Dropzones:
Red Cluster:
http://web.laovoanew[.]com
http://tinmoi.vieclamthemde[.]com
http://kinhte.chototem[.]com
http://news.trungtamwtoa[.]com
http://mychau.dongnain[.]com
http://hcm.vietbaonam[.]com
http://login.thanhnienthegioi[.]com
http://103.253.25.73 (ZoomEye搜索結果)
http://luan.conglyan[.]com
http://toiyeuvn.dongaruou[.]com
http://tintuc.daikynguyen21[.]com
http://web.laomoodwin[.]com
http://login.giaoxuchuson[.]com
http://lat.conglyan[.]com
http://thegioi.kinhtevanhoa[.]com
http://laovoanew[.]com
http://cdn.laokpl[.]com
Blue Cluster:
http://login.dangquanwatch[.]com
http://info.coreders[.]com
http://thanhnien.vietnannnet[.]com
http://login.diendanlichsu[.]com
http://login.vietnamfar[.]com
http://cophieu.dcsvnqvmn[.]com
http://nghiencuu.onetotechnologys[.]com
http://tinmoi.thoitietdulich[.]com
http://khinhte.chinhsech[.]com
http://images.webprogobest[.]com
http://web.hcmuafgh[.]com
http://news.cooodkord[.]com
http://24h.tinthethaoi[.]com
http://quocphong.ministop14[.]com
http://nhantai.xmeyeugh[.]com
http://thoitiet.yrindovn[.]com
http://hanghoa.trenduang[.]com
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1230/
暫無評論