SWEED駭客組織攻擊活動分析報告

ADLab發表於2020-07-10

一 概述

       近期,啟明星辰ADLab接連捕獲到大量針對全球製造、運輸、能源等行業及部分醫療機構發起的魚叉式釣魚郵件定向攻擊。從郵件的分析結果來看,受害者大多遍佈於美國、加拿大、德國、中國、英國、法國、西班牙等國家和地區。攻擊者以“裝船通知單”、“裝箱交貨價單”、“緊急運輸檔案”等主題郵件作為誘餌向攻擊目標植入資訊竊密木馬(Agent Tesla、Formbook、Lokibot)和遠端控制程式(NanoCore、Remcos)。我們透過對收集到的攻擊工具進行去重並做分析,最終發現此次攻擊活動關聯著1362個攻擊樣本。透過同源分析,我們發現這批樣本中有近80%是同一款惡意軟體,對其分析判定後確定這正是近期被大範圍傳播且極為活躍的新型下載者病毒Guloader。Guloader是一款免殺能力很強的病毒,近期全球各大廠商均對其進行了預警,其具備沙盒逃逸、程式碼混淆、反除錯、C&C/URL加密和有效載荷加密等多種能力。由於Guloader具有較強的免殺能力和對抗機制,因而受到大量駭客的青睞。本批攻擊中,攻擊者就廣泛地利用Guloader下載者病毒結合雲服務來分發竊密工具或遠端控制程式(RAT)。

       我們透過溯源分析確定此次攻擊活動來自奈及利亞,並且關聯出了大批次的黑惡意域名(攻擊者使用境外的Duck DNS註冊動態域名)和IP地址。透過對攻擊者使用的網路基礎設施,追蹤分析發現此次攻擊活動最早可追溯到2020年1月。進一步分析我們發現,這批攻擊者的攻擊動機、攻擊目標、作業風格與SWEED駭客組織極為相似,他們還有著相似的攻擊習慣,並使用相同竊密木馬程式,以及同樣風格的C&C地址。因此,我們推斷這批攻擊背後應該就是SWEED駭客組織。SWEED是一個來自奈及利亞的以獲取經濟利益為主要目的的駭客組織,其最早出現於2017年,常利用公開披露的漏洞,藉助魚叉式釣魚郵件來傳播木馬程式,如Agent Tesla、​Formbook和Lokibot等。該組織曾在早期被披露的攻擊活動中,透過竊取被攻擊目標使用者和企業敏感資訊實施中間人攻擊,誘使財務人員將款項轉至指定賬戶,是一個典型的網路詐騙團伙。

       啟明星辰ADLab對本次攻擊活動的攻擊過程和攻擊手法進行了詳細地分析和溯源,並對其所使用的新型惡意軟體和C&C基礎設施進行了深入研究。提醒各大企業單位做好安全防範工作,謹防後續可能出現的攻擊。

二 攻擊目標和受害者分佈

       截止到2020年6月,我們發現攻擊者的重點目標為從事對外貿易的中小型企業,其目的是透過植入特定的後門以實現對目標計算機進行資訊收集和長期監控,併為接下來的橫向移動攻擊提供基礎。

     2.1 地域分佈

       透過對已知的SWEED組織攻擊行動中受害者的國家和地區分佈情況進行統計(如圖2-1),我們可以看到該組織發起的攻擊活動覆蓋了很多國家和地區,由此猜測,攻擊者在攻擊目標地理位置的選擇上並沒有特定的指向性。

SWEED駭客組織攻擊活動分析報告

 圖2-1 受害者國家地域分佈圖

     2.2 行業分佈

       統計結果顯示(如圖2-2),此次SWEED組織在面向全球的攻擊中,運輸、製造業和能源行業依然是其重點針對的目標物件。

 SWEED駭客組織攻擊活動分析報告

圖2-2 受害者行業分佈圖

三 攻擊事件分析

       本小節總結了該組織在近些年的攻擊活動時間點、此次行動中使用的攻擊手法以及攻擊流程。

     3.1 攻擊活動時間線

       為了對駭客組織在此次攻擊活動使用的策略和技術進行全面的瞭解,啟明星辰ADLab研究人員將目前關聯到的該組織近幾年的主要活動做了梳理和總結,並繪製了“SWEED組織”活動時間軸(如圖3-1)。從時間軸可以看出,該組織的大部分活動都具有一致性——藉助帶有惡意附件的魚叉式釣魚郵件分發遠控木馬程式(RAT),並且行動中使用的木馬程式主要是以Agent Tesla為主。

SWEED駭客組織攻擊活動分析報告

圖3-1 SWEED組織相關活動時間軸

     3.2 攻擊手法和特點

       SWEED組織在初始環節主要以投遞釣魚郵件開始展開攻擊,攻擊者在前期對目標使用者進行深入調研,選取與目標使用者所屬行業或領域相關的內容來構造郵件和惡意文件。隨後將精心製作的主題如”採購訂單”、“緊急運輸檔案”、”裝船通知單“等文件新增在郵件附件中傳送給目標使用者,誘使其下載附件,目標使用者一旦開啟帶有漏洞的惡意文件,觸發漏洞的惡意程式碼就將會在後臺靜默下載和執行惡意軟體,從而竊取目標使用者的敏感資訊並對其主機進行控制。

3.2.1 魚叉郵件

啟明星辰ADLab透過對SWEED組織年初至今的攻擊行動進行監測和關聯分析後,梳理出幾十起定向目標的攻擊釣魚郵件。部分相關郵件資訊見表3-1。

SWEED駭客組織攻擊活動分析報告

表3-1 部分釣魚郵件案例資訊

       透過分析這些郵箱發件人所屬公司的註冊資訊以及其官網資訊,我們發現多數公司網站均為合法網站,由此猜測攻擊者使用的這些郵箱,有可能來自被入侵和盜用的合法實體或個人。雖然收件人的資訊很多無法看到,但是從郵件的主題以及正文內容不難看出,攻擊者企圖利用運輸貨物清單、裝箱交貨價單、物品到貨通知單、海上新訂單等郵件向運輸商、製造商及其合作商進行有針對性的攻擊活動。下面我們從以上郵件中列舉一個做簡單分析。

       在此案例中,攻擊者試圖使用“VSL: MV FORTUNE TRADER”主題冒充“MV Fortune Trader”。船舶FORTUNE TRADER是一艘建於1994年的集裝箱船,該船舶的註冊國家為韓國。

SWEED駭客組織攻擊活動分析報告

圖3-2 船舶FORTUNE TRADER相關資訊

       郵件正文與主題保持一致,顯示該郵件是來自超捷國際物流公司。該公司總部位於臺灣台北,主要提供海運、空運和中港運輸等業務。

SWEED駭客組織攻擊活動分析報告
圖3-3 超捷國際物流公司主頁

郵件正文如圖3-4:

SWEED駭客組織攻擊活動分析報告

圖3-4 郵件正文資訊

       對郵件資訊進行解析後如圖 3-5所示,發件人的郵件地址是印度尼西亞一家名為“PT.INTI PERSADA NUSANTARA”電機裝置公司的合法域,而該郵件實際上是由託管在us10.rumahweb.com上的Roundcube Web郵件伺服器傳送。這裡收件人地址之所以顯示為“Undisclosed-Recipient”(導致無法看到收件人資訊),猜測攻擊者是在使用Roundcube Webmail/1.3.8軟體群發郵件時,為了不讓收件人看到其他接收郵件人的地址,故將此處設定為Undisclosed-Recipient。

SWEED駭客組織攻擊活動分析報告
圖3-5 部分郵件頭部資訊

3.2.2 誘餌檔案

       透過對該批截獲的郵件進行分析所得,攻擊者使用的攻擊載荷型別總共有四種。下面將列舉典型的攻擊載荷及其所對應的釣魚郵件。

(1)  攜帶漏洞文件

       圖3-6是一封攻擊者冒名航空貨運公司傳送給客戶的預約請求回覆郵件,附件偽裝成船舶詳細資訊表單。該文件使用微軟Office經典漏洞CVE-2017-11882,當使用者開啟惡意文件時,嵌入到文件中的惡意程式則會自動載入。該漏洞的特點是在整個過程中使用者完全無感知,且在斷網的情況下仍然可達到有效攻擊,所以成為各大APT組織必用漏洞利用庫之一。

SWEED駭客組織攻擊活動分析報告
圖3-6 攜帶漏洞文件案例1—郵件截圖

(2)攜帶GZ格式的壓縮文件

       圖3-7是攻擊者傳送給總部位於比利時的一家多元化的工業製造商的郵件,該郵件使用熱門的COVID-19為主題,並透過正文描述謊稱惡意附件GZ壓縮文件中包含採購單,誘使受害者下載。

SWEED駭客組織攻擊活動分析報告

圖3-7 攜帶GZ文件案例2—郵件截圖

       附件裡面是偽裝成bat檔案的Guloader下載器。

SWEED駭客組織攻擊活動分析報告

圖3-8 GZ壓縮包裡的檔案

(3)攜帶ISO格式的文件

       由圖 3-9可見,攻擊者將郵件附件偽裝成系統映象ISO檔案(使用ISO檔案可用於繞過垃圾郵件過濾器),將其命名為“COVID-19解決方案宣佈”誘騙使用者點選。嵌入在ISO惡意附件中的可執行檔案為Guloader下載器。

SWEED駭客組織攻擊活動分析報告

圖3-9 ISO壓縮包裡的檔案

(4)攜帶html格式的檔案

       圖3-10是攻擊者冒充DHL Express國際快遞公司傳送給德國一家光學元件製造商的釣魚郵件,郵件附件被命名為裝船通知單並以html形式誘騙受害者點選。

SWEED駭客組織攻擊活動分析報告

圖3-10 攜帶html檔案案例3—郵件截圖

3.2.3 惡意軟體託管位置

       在攻擊活動中,攻擊者經常利用遠端配置來控制惡意軟體,而安全人員透過研究分析不同的惡意軟體配置(例如主機地理位置和DNS資訊),可以深入的瞭解和追蹤攻擊者使用的基礎設施。我們在研究過程中將收集到的大量樣本資料進行提取和整合,發現SWEED組織此次實施攻擊行動所使用的惡意軟體配置,主要應用了Guloader下載器配置選項中的利用雲服務分發惡意軟體的功能。攻擊者之所以使用正規的雲端儲存平臺來託管惡意軟體,是因為這些雲平臺多數是受信任的且有助於繞過商業威脅檢測產品。雖然Google Drive等雲平臺通常也會執行防病毒檢測,但如果有效載荷是被加密後再儲存,就可以躲過此類限制,並能有效的阻止安全人員對駭客組織的基礎設施進行追蹤。圖3-11為惡意載荷樣本託管平臺的使用佔比率。根據圖中顯示的數值可得,Google Drive為惡意軟體主要使用的託管平臺。除此之外,還有部分惡意軟體會託管在已被攻陷的合法網站上。

SWEED駭客組織攻擊活動分析報告

圖3-11有效載荷託管平臺的使用率

       除了Google Drive和OneDrive,下面我們列舉出幾個攻擊者使用的其他雲託管平臺。

files.fm是國外一家提供檔案雲端儲存平臺的資訊科技公司。圖3-12是儲存在該平臺的加密的惡意檔案。

SWEED駭客組織攻擊活動分析報告

圖3-12 雲託管平臺例1

sendspace是一家免費檔案託管平臺。圖3-13是攻擊者上傳到該平臺進行託管的惡意軟體。

SWEED駭客組織攻擊活動分析報告

圖 3-13 雲託管平臺例2

dmca.gripe是一個免費的檔案託管平臺,其主頁如圖3-14所示。

SWEED駭客組織攻擊活動分析報告

圖3-14 雲託管平臺例3

 3.3 攻擊流程

       我們對這批攻擊活動進行歸納分析後發現絕大部分攻擊具有相同的攻擊流程,其攻擊的流程如圖3-15。

SWEED駭客組織攻擊活動分析報告

3-15 攻擊流程圖

       攻擊者偽裝成物流或船舶等公司人員,向目標企業投遞攜帶附件的釣魚郵件,附件型別包括:包含漏洞的惡意文件、GZ格式的壓縮包、ISO檔案和HTML檔案。在多數情況下,這些附件起初都會包含或下載Guloader下載器(其他情況下為遠控木馬)。Guloader開始執行時,先對儲存在程式碼部分的shellcode進行解密,再將解密後的shellcode注入到RegAsm.exe系統檔案中;接著RegAsm.exe中的shellcode再從指定的雲平臺地址下載加密的payload,並在記憶體中解密執行payload(遠控木馬),最後透過C2對目標主機進行資訊竊取和遠端控制。

       此次攻擊活動中使用到的竊密和遠控木馬包括:Agent Tesla(是一款知名的商業竊取木馬,主要用於瀏覽器、郵件客戶端、FTP工具、下載器等使用者賬號密碼和WiFi憑證的竊取。);Formbook(是一款資訊竊取木馬,其主要以竊取使用者電腦機密資訊為主,包括鍵盤記錄、剪貼簿記錄、cookie會話與本地密碼等等。);Lokibot(一款竊密木馬,其透過從多種流行的網路瀏覽器、FTP、電子郵箱客戶端、以及PuTTY等IT管理工具中獲取憑證,來竊取使用者的密碼和加密貨幣錢包);NanoCore(是一款.net編寫的遠控軟體,其具有鍵盤監控、實時影片操作、語音、命令列控制等完全控制遠端主機的功能。);Remcos(一款遠控軟體,包括下載並執行命令、鍵盤記錄、螢幕記錄以及使用攝像頭和麥克風進行錄音錄影等功能。)。

       鑑於我們分析的這些木馬在功能和技術上與舊版類似,並沒有發現太多的變化點,所以在此我們僅對其主要功能做了簡單的描述,本文後續便不再過多的詳細描述其具體的技術細節,如有需要大家可檢視文末的參考文獻。在下個章節,我們主要對SWEED組織新引入的Guloader惡意程式碼進行完整詳細地剖析。

四 技術分析

       正如前文所述,我們目前收集到的電子郵件的附件主要分為四類。雖然其釋放惡意軟體的形式不同,但它們的主要功能行為都基本一致。在這裡,我們選取一個典型案例進行詳細分析。

4.1 釣魚郵件

       圖4-1為攻擊者針對美國一家防滑產品製造商進行攻擊的釣魚郵件,此郵件於美國山地時區時間2020年4月29日(週三)02:31被髮送到該公司。郵件標題為“Purchase Order /APO-074787648”,正文描述為“請檢視清單和確認商品庫存”,並附有同名惡意文件“Purchase Order /APO-074787648”。

SWEED駭客組織攻擊活動分析報告
圖4-1 釣魚郵件內容

4.2 惡意文件

       樣本“Purchase Order /APO-074787648.ppsx”利用了沙蟲漏洞CVE-2014-4114的補丁(MS14-060)繞過漏洞CVE-2014-6352。沙蟲漏洞是Windows OLE任意程式碼執行漏洞,該漏洞出現在Microsoft Windows伺服器上的OLE包管理器上。攻擊者透過利用該漏洞在OLE打包檔案(packer.dll)中下載並執行類似的INF檔案,來達到執行任意命令的目的。雖然微軟為沙蟲漏洞釋出補丁(MS14-60),但攻擊者還可透過構造特定的CLSID和OLE Verb來繞過MS14-160補丁的限制(CVE-2014-6352)。下面我們以本次行動中使用的惡意文件為例,對該漏洞的實現原理做簡單的分析。

圖4-2為此案例中使用的ppsx漏洞攻擊文件內容。

SWEED駭客組織攻擊活動分析報告

圖4-2 ppsx漏洞文件內容

       我們解壓PPXS文件可以看到,在“Purchase Order APO-074787648.ppsx\ppt\slides \slides.xml”中,指定了嵌入的物件id=rld3。


SWEED駭客組織攻擊活動分析報告

圖4-3 “slides.xml”檔案內容

       在“Purchase Order APO-074787648\ppt\slides\_rels\slide1.xml.rels”中指定了rld3對應“ppt\embeddings\”目錄下的oleObject1.bin檔案。

SWEED駭客組織攻擊活動分析報告

圖4-4 “slide1.xml.rels”檔案內容

       “Purchase Order APO-074787648.ppsx\ppt\embeddings\”目錄下的“oleObject1.bin”檔案內嵌一個OLE Package物件,嵌入檔案為PE可執行程式。

SWEED駭客組織攻擊活動分析報告

圖4-5 “oleObject1.bin”檔案內容

       CVE-2014-4114漏洞的成因是packager.dll中CPackage::Load方法載入對應的OLE複合文件物件時,針對不同型別的複合文件進行不同的處理流程,但其中對某些複合文件中嵌入的不可信來原始檔沒有做處理。由此攻擊者可使用偽造OLE複合文件的CLSID來達到執行特定檔案的目的。微軟在MS14-060補丁中,透過新增MarkFileUnsafe函式對檔案進行MOTW處理,將其Security Zone標記為“此檔案來自其他計算機”,執行時會彈出安全警告視窗。

SWEED駭客組織攻擊活動分析報告  

圖4-6 “%TEMP%\NEW ORDER.exe”標記為不可信檔案

       但就算受害者已安裝MS14-060的補丁,攻擊者還是可以透過構造特定的CLSID和OLE Verb來改變執行流程,從而繞過該補丁(CVE-2014-6352漏洞)。對於一個exe檔案,即使被標記為URLZONE_INTERNET,右鍵點選以管理員許可權執行該exe檔案,那當程式執行時便不會再彈出“安全警告”(如圖4-6)的提示,而是以(如圖4-7)UAC 提示窗彈出。

SWEED駭客組織攻擊活動分析報告

圖4-7 彈出的UAC提示窗

      由此可知,當受害者開啟此PPSX惡意文件時,自動播放模式便會開啟,同時“%TEMP%\NEW ORDER.exe”將被釋放在臨時目錄中。如果受害者選擇“是”,惡意程式碼將會被執行。而如果受害者的系統處於UAC關閉狀態或在獲取了管理員許可權的情況下,該UAC安全警告視窗則不會彈出,“NEW ORDER.exe”會被靜默地執行。

4.3 GuLoader

       如上文所述,最後被執行的“NEW ORDER.exe”可執行檔案實際上便是文章開頭提到的Guloader惡意軟體(在後續對“NEW ORDER.exe”的詳細分析中,我們均使用“Guloader”來替代該檔名)。Guloader是一款新型的惡意軟體下載器,其本身具有複雜的執行流程,透過採用各種程式碼混淆和隨機化、反沙箱、反除錯和資料加密等機制來對抗安全產品的檢測。下面我們將對該GuLoader進行深入的挖掘分析。

      4.3.1 執行流程

      如圖4-8所示, GuLoader首先將儲存在程式碼部分的加密Shellcode解密並執行。這段Shellcode的主要功能為:以掛起方式建立一個系統子程式,之後將本段Shellcode自身注入到子程式並修改程式入口點為Shellcode處執行。最後從託管伺服器上下載加密的BIN檔案,成功下載後將其解密和執行。

SWEED駭客組織攻擊活動分析報告

圖4-8 Guloader執行流程圖

     4.3.2 EXE可執行檔案

      (1)程式碼混淆

       Guloader可執行檔案是由Visual Basic 6語言編寫的。使用工具檢視後發現,其並未使用商業殼進行自身保護,而是使用混淆殼嘗試對抗安全產品的查殺。由於殺軟對商業殼比較敏感,並且商業殼檢測和脫殼技術也比較成熟,所以混淆殼不失為一個不錯的選擇。混淆殼一般不存在通用的檢測方法,並且靜態脫殼相對較難,所以其惡意行為不易被發現,從而可長時間的存活在目標機器上。對於逆向分析人員來講,分析這種帶混淆殼的樣本往往會花費大量的精力,無形的增加了人力和時間成本。

       圖4-9是一段混淆程式碼的擷取,這部分程式碼使用了資料混淆中的常量拆分,主要目的是隱藏真實的程式碼邏輯,讓分析者內心奔潰。

SWEED駭客組織攻擊活動分析報告

圖4-9 部分混淆程式碼

       (2)程式碼解密

       惡意軟體首先計算出用於解密shellcode的金鑰,其值為:0x24EBE470。

SWEED駭客組織攻擊活動分析報告

圖4-10 獲取金鑰的惡意程式碼

       接著,為shellcode申請記憶體空間,再使用金鑰進行XOR運算解密Shellcode並執行。

SWEED駭客組織攻擊活動分析報告

圖4-11 解密和執行shellcode

     4.3.3 ShellCode

       解密後的shellcode前期也採取了大量的對抗手段,使用各種程式碼混淆、沙箱檢測、反除錯等技術手段來規避安全產品的行為監測和查殺。僅當透過各種檢查判斷條件後,惡意程式碼才開始執行主功能行為。下面我們將對惡意程式碼做詳細的分析。

(1)檢測功能

n  程式碼混淆

       將解密後的shellcode從記憶體中dump出來並使用IDA反編譯,可以看到shellcode中使用的混淆技術。惡意程式碼在執行過程中插入混淆函式,該函式的過程被分割成多個跳轉流程,一直到最後再 jmp到原來的正常程式碼中繼續執行下面的流程。圖4-12是shellcode在入口處呼叫的此類混淆函式的程式碼片段,很顯然透過該方法,能夠有效的擾亂分析者對樣本進行分析,嚴重降低了分析效率。

SWEED駭客組織攻擊活動分析報告

圖4-12  混淆後的程式碼片段

n  動態獲取API函式

       接著,惡意程式碼透過訪問PEB->LDR中的InMemoryOrderModuleList獲取kernel32.dll的基址。遍歷提取該模組匯出表結構中存放函式名的陣列,並依次將名稱字串作為引數傳入到雜湊演算法函式中做運算,再將結果與硬編碼資料做比較,以此方法來查詢GetProcAddress函式。

SWEED駭客組織攻擊活動分析報告

圖4-13 查詢GetProcAddress函式

       此處使用的是djb2的演算法, djb2是一個產生隨機分佈的雜湊函式,與LCG的演算法相似。由於該函式構造簡單,使用移位和相加的操作,所以常被用來處理字串。具體演算法見圖4-14。

SWEED駭客組織攻擊活動分析報告

圖4-14 djb2演算法程式碼截圖

       由此我們可以看到,惡意程式碼在函式的獲取方面是利用LoadLibrary和GetProcAddress這兩個函式進行動態的獲取。具體如圖4-15所示。

SWEED駭客組織攻擊活動分析報告

圖4-15 動態獲取API函式

n  沙箱檢測

       惡意程式碼列舉視窗數量,如果值小於12則退出程式,以此來檢測自身是否執行在沙箱環境中。

SWEED駭客組織攻擊活動分析報告

圖4-16 沙箱檢測程式碼

n  反除錯技術

   方法1:

呼叫ZwProtectVirtualMemory函式修改ntdll.dll的“.text”節屬性為可讀可寫可執行。

SWEED駭客組織攻擊活動分析報告

圖4-17 修改ntdll.dll節屬性

       惡意程式碼透過修改DbgBreakPoint和 DbgUiRemoteBreakin函式程式碼,讓偵錯程式無法附加除錯程式(如圖4-18和圖4-19)。給call呼叫後面指定一個未知地址,以此引發偵錯程式崩潰退出。

SWEED駭客組織攻擊活動分析報告

圖4-18 DbgBreakPoint函式程式碼修改前後對比

SWEED駭客組織攻擊活動分析報告

圖4-19 DbgUiRemoteBreakin函式程式碼修改前後對比

方法2:

       將ZwSetInformationThread函式的第二個引數設定為ThreadHideFromDebugger                     (值為17),作用是在除錯工具中隱藏執行緒。如果惡意軟體處於被除錯狀態,那麼該函式就會使當前執行緒(一般是主執行緒)脫離偵錯程式,使偵錯程式無法繼續接收該執行緒的除錯事件。效果就像是偵錯程式崩潰了一樣。

SWEED駭客組織攻擊活動分析報告

圖4-20 隱藏執行緒達到反除錯目的

方法3:

       在使用ZwAllocateVirtualMemory函式申請記憶體空間時,為防止分析人員在除錯時對關鍵函式下斷點,惡意程式碼會提前將該函式的功能實現程式碼複製到本程式空閒空間中,使得後續在使用此函式時直接跳轉到自身程式碼中執行。

SWEED駭客組織攻擊活動分析報告

圖4-21 複製函式功能實現程式碼

方法4:

       在呼叫部分敏感API函式時,會先呼叫自定義的檢查函式做判斷,以減少被安全產品檢測的機率。

SWEED駭客組織攻擊活動分析報告

圖4-22 檢查函式是否被下斷點或掛鉤

該自定義的檢查函式的主要功能:

① 將呼叫該函式前的shellcode程式碼(正序)按位元組與0x4位元組的返回地址做異或運算     進行加密處理;

② 呼叫ZwGetContectThread函式,透過檢查_CONTEX結構中的Dr暫存器來判斷是否       在除錯環境中;

③ 判斷此次要檢查的關鍵API函式是否被下斷點或掛鉤。如果結果為否,則呼叫該API函

       數,否則程式直接崩潰退出;

④ 同“方法①”對shellcode程式碼(倒序)進行解密並跳轉到返回地址處執行後續流程。

SWEED駭客組織攻擊活動分析報告

圖4-23 自定義檢查函式程式碼

       (2)惡意行為執行功能

       如果以上一系列的沙箱以及反除錯檢測都透過,惡意程式碼則開始執行以下流程:

①    動態獲取圖4-24中的API函式,並將函式呼叫地址儲存在堆疊中。

SWEED駭客組織攻擊活動分析報告

圖4-24 動態獲取的API函式名稱

②    根據指定地址處儲存的資料內容特徵(如果惡意程式碼未執行過建立子程式流程,那 麼該地址處原資料為無效內容;否則,此處儲存的是當前程式的全路徑。)來判定是   否需要建立子程式。

  SWEED駭客組織攻擊活動分析報告

圖4-25 判斷是否需要建立子程式

SWEED駭客組織攻擊活動分析報告

圖4-26 對指定地址處儲存的資料內容做判斷

③    呼叫CreateProcessInternal函式以掛起模式建立RegAsm.exe程式。

SWEED駭客組織攻擊活動分析報告
圖4-27 建立系統子程式

④    呼叫ZwOpenFile函式,獲得對映檔案mstsc.exe的控制程式碼。

SWEED駭客組織攻擊活動分析報告

圖4-28 獲取mstsc.exe的控制程式碼

⑤    使用ZwCreateSection和NtMapViewOfSection函式將“mstsc.exe”檔案對映到

       RegAsm.exe記憶體中的0x00400000位置上。

SWEED駭客組織攻擊活動分析報告

圖4-29 對映檔案

⑥    在傀儡程式中申請記憶體空間,並將我們正在除錯的整個shellcode寫入到目標記憶體中。

SWEED駭客組織攻擊活動分析報告

圖4-30 寫入shellcode到系統子程式中

⑦    使用ZwGetContextThread和ZwSetContextThread函式,獲取和修改掛起的子       執行緒上下文中暫存器值,以實現重定向到shellcode入口處執行的目的。

SWEED駭客組織攻擊活動分析報告

圖4-31  修改系統子程式的執行入口點

⑧    若“步驟⑤”操作成功,則恢復執行子程式;否則結束當前程式。

SWEED駭客組織攻擊活動分析報告

圖4-32 判斷步驟⑤是否操作成功

(3)成功注入後惡意行為功能

       我們在惡意程式碼呼叫NtResumeThread函式前,附加RegAsm.exe程式並在注入的shellcode執行處設定斷點(如圖4-33),然後再繼續執行該函式來恢復執行緒執行。該shellcode前部分與之前的操作流程相同,將前文描述的各種檢測重新執行一遍,直到在“判斷是否建立子程式”處跳轉到另外的分支流程。下面我們繼續對後續功能進行詳細地分析。


SWEED駭客組織攻擊活動分析報告

圖4-33 Shellcode執行處程式碼

       判斷開啟RegAsm.exe程式的父程式是否為“C:\Users\***\directory\filename.exe”。

如果不是,則將當前父程式檔案複製到該目錄中,將其命名為filename.exe並重新執行;

如果是,則在登錄檔HLM\Software\Microsoft\Windows\CurrentVersion\RunOnce目錄裡將該路徑新增在“Startup key”中,以實現長期駐留的目的。

SWEED駭客組織攻擊活動分析報告

圖4-34 新增登錄檔資訊程式碼   

SWEED駭客組織攻擊活動分析報告

圖4-35 新增登錄檔開機啟動項

       成功新增登錄檔項後,惡意程式碼則開始使用winnet.dll庫中的Internet API函式從雲託管伺服器下載加密的payload。

SWEED駭客組織攻擊活動分析報告

圖4-36 從雲託管服務下載payload

       下載完成後,惡意程式碼再將硬編碼的值與將payload的大小做比較,以此來檢查檔案的完整性。如果大小不匹配,惡意程式碼則會重新下載檔案,直到完全匹配為止。

SWEED駭客組織攻擊活動分析報告

圖4-37 檢測payload大小

       下載到的payload檔案是由0x40個位元組的HEX小寫數字和加密的PE檔案組成,具體如圖4-38所示。

SWEED駭客組織攻擊活動分析報告

 圖4-38 payload內容

       接著,惡意程式碼再使用自定義解密函式對下載的payload進行異或解密。其金鑰儲存在shellcode程式碼0x2032偏移處,金鑰長度為0x214。解密函式內容如圖4-39所示。

SWEED駭客組織攻擊活動分析報告
圖4-39 payload解密函式

解密後的PE檔案如圖4-40所示。

SWEED駭客組織攻擊活動分析報告

圖4-40 解密後的檔案內容

       最後,惡意程式碼將解密後的PE檔案覆蓋0x00400000基址的內容,並跳轉到入口點執行payload惡意程式。

SWEED駭客組織攻擊活動分析報告

圖4-41 執行payload

       在此次分析的案例中,解密出的payload是Agent Tesla。對於該惡意軟體,在此我們就不再做過多的介紹和分析了。下面我們會對駭客組織的C&C伺服器基礎設施展開追蹤溯源。

五 溯源追蹤

5.1 C&C基礎設施

       截止到目前為止,我們透過提取和整理所有關聯樣本中的IP地址和域名資訊,可以看到此次攻擊行動主要以動態域名為主,大部分域名都是透過境外的Duck DNS註冊。圖5-1為SWEED駭客組織使用的部分域名、IP、樣本的對應關係。

SWEED駭客組織攻擊活動分析報告

圖5-1 部分域名、IP、樣本的對應關係圖

       根據樣本同源性分析的結果,我們發現大量的有效載荷被分別掛載在不同的動態域名中,以備包含漏洞的Office文件或惡意軟體Guloader訪問和下載。透過域名的查詢記錄所得,此次攻擊活動最早可追溯到1月中下旬,同時也可以看到,它們最初均使用指向奈及利亞的基礎設施。值得注意的是,這些域名解析使用的IP總不定期在常用的IP地址段來回切換。具體如圖5-2所示。

SWEED駭客組織攻擊活動分析報告

圖5-2 動態域名解析的IP地址

       我們將C&C對應的IP地址所屬國家和地區進行統計,並繪製其地理位置分佈圖(如圖5-3所示)。整體來看,美國和法國佔比率最高,其次為荷蘭。

SWEED駭客組織攻擊活動分析報告

圖5-3 C&C對應的IP地理位置分佈圖

5.2 關聯性分析

       啟明星辰ADLab將本次捕獲到的樣本同以往SWEED活動做了全面的關聯分析,得出以下幾處重要的關聯點:

(1)漏洞文件

       在此次行動中攻擊組織使用的漏洞文件有兩類(CVE-2017-11882和CVE-2014-6357),其中以CVE-2017-11882漏洞利用文件為主要攻擊載荷。而SWEED組織也曾在以往的攻擊行動中頻繁的使用過該漏洞文件。具體如圖5-4所示。

SWEED駭客組織攻擊活動分析報告

圖5-4 漏洞文件案例

(2)攻擊目標

       根據公開報告可以得知,SWEED駭客組織的攻擊目標主要針對全球從事對外貿易的中小型企業,並且所涉及的行業主要以製造業、航運、物流和運輸為主。這與我們此次監測到的攻擊行動中受害者的地理位置和行業分佈具有較高的相似性。圖5-5列舉了幾例在本次攻擊活動中攻擊者傳送給目標使用者的釣魚郵件。

SWEED駭客組織攻擊活動分析報告

圖5-5 釣魚郵件案例

(3)攻擊武器

       在目前觀測到的行動中,攻擊者最終投放的惡意軟體包括Agent Tesla、Remcos、NanoCore、Formbook和Lokibot。我們將捕獲的所有惡意軟體按家族分類和統計,根據結果顯示,Agent Tesla的佔比率處於最高,是攻擊者重點使用的攻擊武器。而這種使用特徵也曾反覆出現在SWEED組織以前的攻擊活動中。

SWEED駭客組織攻擊活動分析報告

圖5-6 惡意軟體家族佔比率

(4)IP地址位置

       我們透過Whois資訊查詢,發現在此次行動中的域名“mogs20.xxx.org”早期解析的IP(105.112.XXX.XXX)地理位置指向奈及利亞,該網段歸屬奈及利亞地區電信的105.112段。這與SWEED組織所屬國傢俱有高度的一致性。

SWEED駭客組織攻擊活動分析報告

圖5-7 Whois查詢資訊內容

結合SWEED組織一系列的攻擊活動特點以及上面總結的四點可以看出,攻擊者在攻擊動機(竊取使用者資訊以牟利)、攻擊目標(針對全球對外貿易的中小企業)、作業風格(投遞定製型釣魚郵件分發木馬)、戰術(規避檢測、常駐、命令與控制)、技術(漏洞利用)、過程(傳送攜帶惡意附件的郵件->漏洞文件->解密執行Agent Tesla遠控木馬)以及其使用的網路基礎設施等方面都十分符合SWEED組織的特徵。由此我們推斷,此次攻擊活動幕後者很可能是來自奈及利亞的SWEED駭客組織。

六 總結

       迄今為止SWEED駭客組織至少已活躍了4年的時間,從該組織近期的攻擊可以發現,SWEED開始使用更具有針對性的郵件內容和更具迷惑性的文件標題,從而提高受害者中招的機率。啟明星辰ADLab將該組織此次行動TTP的研究分析結果與以往跟進或披露的相關攻擊行動特性做比對後,得到的相關證據都可表明這些樣本來自SWEED駭客組織。

       SWEED組織使用Guloader下載器傳播的遠端木馬種類雖然多樣化,但主要還是以其偏好的Agent Tesla為主。從其所使用的TTP來看,該駭客組織目前並未具備很好的自研開發能力。在多數情況下,僅會從國外一些主流駭客網站上購買木馬生成器和加密工具來作為攻擊武器,例如曾使用的KazyCypter和此次使用的Guloader。不過,即便攻擊者在技術能力上相對較弱,但其在社工技巧和多樣化攻擊方式的應用面上還是較為熟練的。在此,建議使用者儘量避免開啟不明來歷的郵件以及附件檔案(來自未知傳送者的),及時安裝系統補丁,提高風險意識,防範此類惡意軟體攻擊。

七 IOC

SWEED駭客組織攻擊活動分析報告

八 參考連結:

[1]https://www.fortinet.com/blog/threat-research/new-agent-tesla-variant-spreading-by-phishing

[2]https://www.fireeye.com/blog/threat-research/2017/10/formbook-malware-distribution-campaigns.html

[3]https://www.fortinet.com/blog/threat-research/new-infostealer-attack-uses-lokibot

[4]https://success.trendmicro.com/solution/1122912-nanocore-malware-information

[5]https://www.fortinet.com/blog/threat-research/remcos-a-new-rat-in-the-wild-2



SWEED駭客組織攻擊活動分析報告


相關文章