紅隊視角看 Sunburst 後門中的 TTPs

作者:藍軍高級威脅團隊@深信服千里目安全實驗室
原文鏈接:https://mp.weixin.qq.com/s/wtEbawfOd1g_T2ovp1SaGg

1.針對SolarWinds供應鏈攻擊簡介

最近FireEye披露的UNC2452黑客組織入侵SolarWinds的供應鏈攻擊讓安全從業人員印象深刻。一是影響規模大,SolarWinds官方稱受影響的客戶數量可能有18000家。二是攻擊者留下的後門程序-Sunburst,十分隱蔽和具有迷惑性,分析認爲攻擊者對SolarWinds Orion產品理解程度很深。

有證據表明,早在2019年10月,UNC2452黑客組織就一直在研究通過添加空類來插入代碼的能力。因此將惡意代碼插入原始SolarWinds.Orion.Core.BusinessLayer.dll的時間可能很早,甚至可能是在軟件構建編譯之前。這就導致SolarWinds官方無意間對包含4000行惡意代碼的DLL進行了數字簽名,這樣容易讓惡意代碼提升權限,並且很難被人發現。感染的Origin軟件第一個版本是2019.4.5200.9083,在此幾個月的時間內,用戶通過下載受到感染的產品版本被感染。目前原始dll文件中沒有發現存在動態拓展、也不存在橫向移動等後滲透階段的相關能力支持。

2.Sunburst後門總體流程

總體流程圖

(Sunburst的供應鏈攻擊各階段-圖源:微軟)

Sunburst後門總體流程可以簡單地概括爲以下幾個階段:

(1)SolarWinds.BusinessLayerHost.exe加載SolarWinds.Orion.Core.BusinessLayer.dll,並執行其中的惡意代碼。

(2)代碼通過9層環境檢查,來判斷當前環境上下文是否安全,是否應該繼續執行。

(3)如果檢查通過,嘗試使用DGA算法生成的域名發送DNS上線通知,並檢查DNS解析結果是否滿足自身運行要求。

(4)DNS上線通知成功,則會嘗試使用兩種User-Agent和3種代理模式,與C2服務器建立起HTTP控制通道。

(5)Sunburst後門本身能處理的控制指令並不多,攻擊者可以下載自定義的Payload,例如Cobalt Strike beacon,即TEARDROP進行進一步操作。

Sunburst後門的代碼都在SolarWinds.Orion.Core.BusinessLayer.dll這個文件中,這是個C#編寫的.NET assembly,可以直接反編譯查看源代碼,分析其運行邏輯。主要涉及的三項技術爲代碼執行(Execution)、環境檢測(Discovery)和C2通信(Command and Control)。

3.TTPs提取與分析

3.1 代碼執行/Execution

3.1.1紅隊視角

無論是紅隊後滲透還是真實APT攻擊,第一步要在受害者的機器上運行起來控制程序(agent/implant/artifact)。Windows系統上的代碼執行的方法有很多,也可以從多種角度進行分類和總結。這裏作者將之分爲以下三類:

(1)BYOB: Bring Your Own Binary,就是把後門、工具、武器編譯成exe文件,上傳到目標主機上並運行。這也是最直接的執行方式。缺點是需要不斷的編譯和上傳、要處理殺軟和EDR的靜態檢測等等。

(2)LotL: Living off the Land,可以理解爲就地取材,利用Windows系統和應用程序來加載執行惡意代碼,典型的案例就是利用powershell的攻擊。這種方式利用白名單程序來加載,會有一定規避檢查的優點,但會產生明顯的父子進程關係和進程參數,容易被獵捕。

(3)BYOL: Bring Your Own Land,這也是FireEye提出的一種方法,在使用前兩種方法建立了基本的代碼執行能力後,在內存中加載並運行Windows的PE文件、.NET assembly文件。優點是跳過了靜態文件查殺,不會明顯產生進程間調用關係和進程調用參數,缺點是需要自己開發內存加載執行的代碼,很多常規的命令需要自己重新實現。

3.1.2 Surburst實際攻擊技巧

本次供應鏈攻擊的Sunburst後門存在於SolarWinds.Orion.Core.BusinessLayer.dll文件中,它的運行需要SolarWinds.BusinessLayerHost.exe這個合法的進程來加載,可以理解爲是一種變形的Living off the Land執行方法。類似於DLL劫持,但相比於常規的DLL劫持,這類修改原始DLL的供應鏈攻擊後門顯得更加隱蔽。往往有以下特點:

(1)修改原有的DLL,不會產生多餘的DLL文件落地

(2)程序加載DLL運行,不會產生子進程和進程參數

(3)供應商的信任進程不在常規進程檢測名單,已知Windows lolbins檢測規則無效

本次的DLL後門,可以看到作者很注重隱蔽(OpSec),代碼中透露着檢測對抗的思想,其隱蔽技巧表現爲:

(1)DLL合法的數字簽名,很大程度上規避了靜態文件查殺:

(2)代碼通過創建新線程,執行SolarWinds.Orion.Core.BusinessLayer.dll.OrionImprovementBusinessLayer庫目錄下的Initialize函數開始惡意動作。DLL入口函數調用棧較深,通過6層的調用纔開始執行代碼,動態跟蹤需要花費更多精力:

(3)代碼使用自定義hash算法,常量字符串都進行hash處理,避免敏感字符串在傳輸流量和本地文件掃描時發現。實際使用的地方有9處,下圖是進程名檢測部分:

3.2 環境檢測/Discovery

3.2.1 紅隊視角

紅隊技術傳統技術往往高度關注進程列表檢測、驅動列表檢測的技巧:

3.2.1.1 進程檢測

對於殺軟和安全軟件的檢測,我們通常使用taskllist /v和tasklist /svc來檢查進程和服務,可以認爲這是一種手工判斷+LotL的方法。這裏推薦兩款自動化的檢測腳本和工具,大家可以根據自己的需求進行改造,結合內存加載實現BYOL的方式來檢查安全軟件。

(1)ProcessColor.cna,一款Cobalt Strike的插件腳本,可以幫助我們標記出常見的安全軟件、監控軟件、分析軟件。

(2)Seatbelt的InterestingProcesses命令,C#開發的多功能信息蒐集工具,可單獨使用,可結合其他程序實現內存加載。

3.2.1.2 驅動檢測

既然進程和服務都檢測了,那麼檢測這些驅動有什麼意義嗎?

在常規的情況下,檢查進程和服務名稱就可以瞭解當前系統的安全軟件運行情況,但是一些高級系統管理員會修改進程和服務的名稱,我們就沒辦法判斷了。Sunburst後門在環境檢測中還檢查了系統驅動,這些驅動大部分都是殺軟和EDR產品使用的。這一點是值得紅隊人員借鑑的,下面以sysmon爲例進行說明。

圖中左側爲常規的sysmon安裝,我們可以在進程和服務中找到sysmon。右側只是簡單地把sysmon進行重命名,安裝之後我們在進程和服務的名字中已經找不到sysmon了,只能找到修改後的名稱。這個時候查看驅動就很必要了,因爲sysmon默認安裝的驅動路徑和名字並沒有改變,如下圖:

即使管理員在安裝sysmon的時候將默認的驅動名稱也改了,但是每個驅動都有一個唯一的altitude,要修改這個成本就很高了。sysmon的altitude是385201,如下圖,可以對比上圖,這個是不變的:

3.2.2 Sunburst實現的機制

SolarWinds.Orion.Core.BusinessLayer.dll中的惡意代碼對於運行環境的檢查十分嚴格,一共有9層檢測機制,只有當所有檢測條件都通過時,其纔會執行上線操作。

序號 檢測機制
1 通過哈希判斷當前加載惡意DLL的進程名字是solarwinds.businesslayerhost.exe
2 惡意DLL的最後寫入時間比當前時間至少提前12到14天,說明其會潛伏半個月左右纔會執行
3 檢查硬編碼的命名管道583da945-62af-10e8-4902-a8f205c72b2e,避免多進程重複執行
4 檢查惡意複用的配置選項ReportWatcherRetry,ReportStatus項不能爲3,即Truncate退出狀態
5 檢查當前設備所在域,域名中不能包含哈希值校驗的黑名單patternHashes中的一些字符串;域名不能匹配到正則表達式“(?i)([^a-z]|^)(test)([^a-z]|$)”,該表達式主要用來檢查當前域名是不是測試用的域名;"(?i)(solarwinds)",猜測該表達式主要用來檢測是否處於sloarwinds公司辦公環境
6 檢查第一個非迴環啓用網卡,不在IP黑名單中
7 檢測進程Hash黑名單(含137個進程),確保當前環境中沒有安全相關軟件和服務程序,如:Windbg、 Autoruns、 Wireshark,並嘗試關閉服務名單中的服務
8 檢查當前環境中是否存在13個安全軟件的驅動程序,如:groundling32.sys
9 主機解析“api.solarwinds.com”爲指令的IP地址

3.3 C2通信/Command and Control

代碼運行起來,檢測環境上下文是安全的,最後的一步就是和C2服務器進行通信了。Sunburst後門通過自定義的DGA算法生成C2域名,通過自定義DNS通道進行上線通知,通過自定義HTTP通道進行指令下發與數據回傳。

3.3.1 紅隊視角

對於紅隊來說,最常規的出網協議是HTTP[S]和DNS協議,但是大多數情況是手動判斷目標的網絡環境後來選擇C2通信的方式。雖然能夠修改和自定義C2通信協議,無疑是規避流量檢測的好方法,但是相對的成本會比較高,需要同時兼顧客戶端和服務端,還需要保證通信質量。簡易的做法是利用後滲透框架自身的配置來修改C2流量特徵,比如Cobalt Strike、Empire、Covenant等工具都支持Malleable C2 profile的配置。

Sunburst後門這種使用DNS和HTTP協議結合的方式,讓作者想起了Sliver C2這款工具的DNS Canary功能。雖然DNS Canary不是用來進行C2通信的,但是提供了一種紅隊監測藍隊是否分析了自己implant的思路。

Sliver C2生成的implant默認會使用符號混淆來避免殺軟查殺,不會出現敏感字符串。但是當使用--canary/-c參數時,會將指定的DNS域名以常量字符串的形式嵌入implant中。並生成一個獨一無二的DNS域名,如果藍隊人員分析我們的implant,發現這個域名,只要逆行了DNS解析,我們的C2服務器就會收到DNS查詢請求,這說明我們的行動已經被發現。

如下圖,紅隊人員在創建implant的時候,設置DNS canary爲mews.cs.local,在生成的implant中,嵌入了mqrrzkj.news.cs.local.和kvn3g0-.news.cs.local兩個域名。

當藍隊分析樣本,嘗試解析域名時,C2服務器就會收到告警。

告警信息如下:

3.3.2 Sunburst後門在該階段的亮點

(1)很具有迷惑性的DnsRecords代碼,用常規的變量名錶達其他實際意義。

(2)對DGA生成的域名解析的IP地址,進行白名單、黑名單、等待名單的判斷,確定網絡解析環境是否安全才會繼續執行。

(3)HTTP協議的一種User-Agent會採用SolarWinds產品的User-Agent,更加接近真實可信的流量。

(4)出網會檢測代理設置,通過無代理、系統代理和SolarWinds本身配置的代理三種方式是嘗試出網,連接C2服務器。

(5)高度迷惑性的C2服務器響應。

(6)高度迷惑性的DGA算法。

上述動作的具體表現爲:

(1)具有高度迷惑性的DNS上線請求:惡意代碼發送DNS請求並將返回的CNAME信息將保存至DnsRecords對象。

DNS查詢如果請求失敗,則設置隨機7-9小時的休眠時間(代碼如下圖),進行休眠後再進行下一次嘗試。

如請求成功,則首先判斷是否存在CNAME信息,如不存在,則處理IP的最後兩個字節,修改DnsRecords對象對應的字段:

length字段,此字段用於保存控制階段應用的代理類型;

_type字段,此字段決定控制階段使用的url以及對返回數據的解碼方式;

A字段,此字段決定DNS請求查詢階段每次DNS請求之間的延時。

(2)對DGA生成的域名解析的IP地址,進行白名單、黑名單、等待名單的判斷:檢測到IP處於任一黑名單,將導致狀態更改爲Truncate,從而導致後續操作全部終止,並作標記此後不再嘗試。IP黑名單列表:

IP地址 子網掩碼 AddressFamilyEx類型
10.0.0.0(ZoomEye搜索結果 255.0.0.0 Atm內網IP黑名單
172.16.0.0(ZoomEye搜索結果 255.240.0.0 Atm內網IP黑名單
192.168.0.0(ZoomEye搜索結果 255.255.0.0 Atm內網IP黑名單
224.0.0.0(ZoomEye搜索結果 240.0.0.0 Atm內網IP黑名單
fc00::(ZoomEye搜索結果 fe00:: Atm內網IP黑名單
fec0::(ZoomEye搜索結果 ffc0:: Atm內網IP黑名單
ff00::(ZoomEye搜索結果 ff00:: Atm內網IP黑名單
41.84.159.0(ZoomEye搜索結果 255.255.255.0 Ipx外網黑名單
74.114.24.0(ZoomEye搜索結果 255.255.248.0 Ipx外網黑名單
154.118.140.0(ZoomEye搜索結果 255.255.255.0 Ipx外網黑名單
217.163.7.0(ZoomEye搜索結果 255.255.255.0 Ipx外網黑名單
20.140.0.0(ZoomEye搜索結果 255.254.0.0 ImpLink等待名單
96.31.172.0(ZoomEye搜索結果 255.255.255.0 ImpLink等待名單
131.228.12.0(ZoomEye搜索結果 255.255.252.0 ImpLink等待名單
144.86.226.0(ZoomEye搜索結果 255.255.255.0 ImpLink等待名單
8.18.144.0(ZoomEye搜索結果 255.255.254.0 NetBios白名單
18.130.0.0(ZoomEye搜索結果 255.255.0.0 NetBios白名單
71.152.53.0(ZoomEye搜索結果 255.255.255.0 NetBios白名單
99.79.0.0(ZoomEye搜索結果 255.255.0.0 NetBios白名單
87.238.80.0(ZoomEye搜索結果 255.255.248.0 NetBios白名單
199.201.117.0(ZoomEye搜索結果 255.255.255.0 NetBios白名單
184.72.0.0(ZoomEye搜索結果 255.254.0.0 NetBios白名單

上述表格中Atm代表內網IP黑名單,ImpLink代表外網IP黑名單,Ipx代表等待名單,NetBios代表白名單。如果返回的IP處於任一黑名單,則惡意代碼退出並且設置標記永不再上線。

在進行進程、服務、驅動狀態檢查通過後,然後還會解析官方域名“api.solarwinds.com”判斷是否爲指定IP地址,如檢驗通過則進入後續的感染邏輯,整個邏輯可以用下圖表示:

(3)高度迷惑性的User-Agent:當惡意代碼從C2域名的CNAME DNS響應中成功檢索到域,將產生一個新的執行線程,調用HttpHelper.Initialize方法來與C2服務器通信。

HttpHelper的構造函數會處理由DNS請求查詢階段決定的請求類型與代理類型,兩種User-Agent,在正常情況下,第一種會用於Windows檢查證書吊銷列表。

第二種用於SolarWinds本身的通信過程,將僞裝爲SolarWinds正常請求鏈接或靜態資源。

(4)高度迷惑性的代理配置:出網代理主要分爲三類,無代理、系統代理和紅色箭頭標明的SolarWinds本身配置的代理,從這點也可以看出黑客組織對於SolarWins的瞭解的確十分深入。

最後組成了一個JSON文本,在其中添加了前面描述的userID,sessionID和一組其他不相關的數據字段。然後它將此JSON文檔發送到C2服務器。

(5)高度迷惑性的C2服務器響應:如果C2通信成功,C2服務器將回復編碼壓縮後的數據,該數據中包含後門要執行的命令。C2服務器可能還會回覆有關要報告的其他C2地址的信息:

實際的服務器控制執行代碼在Job.ExecuteEngine函數中。以下是黑客C2服務器對遠端受害主機控制命令的類型和功能:

命令 詳細描述
空閒 0
退出 1 結束當前進程
設置延遲時間 2 設置主事件循環執行的延遲時間
收集系統信息 3 解析本地系統信息,包括主機名、用戶名、操作系統版本、MAC地址、IP地址、DHCP配置和域信息
上傳系統信息 4 向指定的URL發送HTTP請求,並把系統信息以特殊格式發送到C2服務器
啓動新任務 5 根據文件路徑和參數啓動新進程
枚舉進程信息 6 獲取進程列表,並根據參數決定是否獲取父進程ID、用戶名、域名
結束任務 7 根據PID結束指定進程
枚舉文件信息 8 根據文件路徑枚舉文件和目錄
寫入文件 9 根據文件路徑和Base64編碼字符串,將Base64解密字符串的內容以追加模式寫入文件,寫入後延遲1-2秒
判斷文件是否存在 10 判斷文件路徑是否存在
刪除文件 11 根據文件路徑刪除文件
獲取文件哈希 12 獲取文件的MD5哈希信息
讀註冊表值 13 讀取註冊表值
設置註冊表值 14 設置註冊表值
刪除註冊表值 15 刪除註冊表值
獲取註冊表子項和值 16 獲取註冊表路徑下的子項和值名稱的列表
重啓 17 嘗試使系統重啓

(6)高度迷惑性的DGA算法:

如果樣本通過上述階段,則樣本將在while循環中通過DGA算法開始生成域。樣本會延遲域生成之間的隨機間隔;此時間間隔可以是1到3分鐘,30到120分鐘或在錯誤條件下最長420到540分鐘(9小時)範圍內的任意隨機值。

總共用四種方法來生成url,分別爲GetCurrentString,GetPreviousString,GetNextStringEx和GetNextString函數。

下圖是四種方法的調用條件,以及會組成的URL的第一段格式如上圖。這裏需要了解一個變量和兩個算法,才能對DGA的算法生成過程更加了解。一個變量是GUID,兩個加密算法即CryptoHelper.Base64Encode和CryptoHelper.Base64Decode。

其中GetCurrentString/GetPreviousString可以認爲是第一階段DGA,包含可以完整解析的域名,GetNextStringEx/GetNextString可以認爲是第二階段DGA,包含了有效的服務器時間戳等信息。

不管哪種生成方式,在OrionImprovementBusinessLayer.GetOrCreateUserID中,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography的 MachineGuid值和第一個網絡適配器的物理地址MAC組成了UID,並通過計算UID的MD5哈希,再用ComputeHash類的方法將 MD5 哈希值作爲16字節的數組返回,異或之後最終輸出64位哈希值這樣得到目標GUID。GUID通過CreateSecureString函數進行加密,CreateSecureString函數中使用了CryptoHelper.Base64Encode算法加密。所以整個加密過程全是CryptoHelper.Base64Encode函數和CryptoHelper.Base64Decode函數實現的,研究的重點就是CryptoHelper.Base64Encode函數和CryptoHelper.Base64Decode函數。然而這兩個函數都並不是名稱表示的常見的Base64編解碼函數。

CryptoHelper.Base64Decode其實是自定義的加密算法。

CryptoHelper.Base64Encode其實是自定義映射表的Base32算法。

下圖是GetCurrentString/GetPreviousString函數加密方式中以CryptoHelper.Base64Decode加密域名的方式生成的URL。藍色的表示會隨機變化,黑色表示固定不變。紫色00帶有下劃線代表是此種加密方式的標誌位。

一、前15個字節是GUID被加密過後的編碼0fn7oe4cegrf933

二、中間一個字節是通過CreatString生成的“c”

三、後面的mudofi75f4tjvh則是AD域被編碼後的字符串。

因爲這裏十六個字節過後有“00”開頭的標誌,所以可以斷定應該調用OrionImprovementBusinessLayer.CryptoHelper.Base64Decode對應的解碼算法。解碼後可以得到域名稱:WASHO。

下圖就是通過GetNextStringEx和GetNextString函數加密的方式生成的URL。對照上圖其實如果沒有“00”標誌,這種URL形式和GetCurrentString/GetPreviousString函數加密方式中以CryptoHelper.Base64Encode加密域名的方式是很像的,所以這種直接使用CryptoHelper.Base64Encode對應的解碼算法即可,最終得到spsd.sk.ca域名。

安全研究員@bambenek在其Github上公佈了1722個疑似與此次攻擊事件相關的DGA域名:

通過上述DGA域名格式解析,我們僅提取最有價值的以“.”分隔的第一段看起來雜亂無序的編碼嘗試進行逆向解密,如下是解密結果的部分展示,可以發現此次黑客攻擊目標的組織數量巨大,包括多數大型美國政府和企業的常見域名。

因爲GUID是通過MD5計算出來的,所以要想還原MAC地址是不可能的,但這並不代表GUID就沒有價值。FireEye在其GitHub上發佈的DNS請求內部包含以下加密的GUID:

我們在解密出的文檔中搜索發現同樣的規律:

r1q6arhpujcf6jb6ervisu10odohu0it.appsync-api.us-west-2.avsvmcloud.com

domain name part GUID (0x2956497EB4DD0BF9) offset 0 = central.pima.g

0oni12r13ficnkqb2w.appsync-api.us-west-2.avsvmcloud.com

domain name part GUID (0x2956497EB4DD0BF9) offset 35 = ov

r8stkst71ebqgj66ervisu10bdohu0gt.appsync-api.us-west-2.avsvmcloud.com

domain name part GUID (0x683D2C991E01711D) offset 0 = central.pima.g

ulfmcf44qd58t9e82w.appsync-api.us-west-2.avsvmcloud.com

domain name part GUID (0x683D2C991E01711D) offset 35 = ov

617stsr6ntep0auho2v60be2h.appsync-api.us-east-2.avsvmcloud.com

domain name part GUID (0x92EB3D64B8A03CB) offset 35 = ions.com

由此可見相同GUID可以作爲域名長度過長時進行分割的子串,逆向拼接即可形成完整的域名。

4.總結

本文從紅隊的視角分析了Sunburst後門中的TTPs,其後門實現邏輯可以看出攻擊者把安全隱蔽(OpSec)放在了第一位,雖然其中很多技術是惡意軟件本身的技巧,但是涉及的一些思想和TTPs對紅隊建設仍有很大參考價值,也透露出現階段紅隊技巧和第一梯隊APT組織實戰攻擊技巧的差距。紅隊行動首先就要制定策略,是隱蔽優先還是速度優先。但是無論哪種策略,OpSec始終是紅隊人員的必修課。

5.附:Sunburst環境檢測階段的黑名單

5.1 域名黑名單

HASH 歸屬地
1109067043404435916UL 'swdev.local'(SolarWinds本地設備)
15267980678929160412UL 'swdev.dmz'(SolarWinds Development DMZ)
8381292265993977266UL 'lab.local'(本地實驗室)
3796405623695665524UL 'lab.na'(SolarWinds 北美辦公室)
4578480846255629462UL 'lab.brno'(SolarWinds Brno 辦公室)
8727477769544302060UL 'emea.sales'(EMEA Sales)
10734127004244879770UL 'cork.lab'(SolarWinds Cork 辦公室)
11073283311104541690UL 'dev.local'(Development)
4030236413975199654UL 'dmz.local'(Demilitarized Zone)
7701683279824397773UL 'pci.local'(PCI)
5132256620104998637UL 'saas.swi'(SaaS SolarWinds)
5942282052525294911UL 'lab.rio'(SolarWinds Rio辦公室)
16858955978146406642UL 'pac.lab'(SolarWinds APAC 辦公室)

5.2 進程黑名單

HASH 軟件名稱
2597124982561782591UL apimonitor-x64 (Rohitab病毒分析軟件)
2600364143812063535UL apimonitor-x86 (Rohitab病毒分析軟件)
13464308873961738403UL autopsy64 (AutopsyForensics)
4821863173800309721UL autopsy (AutopsyForensics)
12969190449276002545UL autoruns64 (Autoruns病毒分析軟件)
3320026265773918739UL autoruns (Autoruns病毒分析軟件)
12094027092655598256UL autorunsc64 (Autoruns病毒分析軟件)
10657751674541025650UL autorunsc (Autoruns病毒分析軟件)
11913842725949116895UL binaryninja (Binary Ninja病毒分析軟件)
5449730069165757263UL blacklight (BlacklightForensics)
292198192373389586UL cff explorer (NTCore Explorer Suite病毒分析軟件)
12790084614253405985UL cutter (Rizin Cutter病毒分析軟件)
5219431737322569038UL de4dot (de4dotForensics)
15535773470978271326UL debugview (DebugView病毒分析軟件)
7810436520414958497UL diskmon (DiskMon病毒分析軟件)
13316211011159594063UL dnsd (Symantec反病毒)
13825071784440082496UL dnspy (dnSpy病毒分析軟件)
14480775929210717493UL dotpeek32 (dotPeek病毒分析軟件)
14482658293117931546UL dotpeek64 (dotPeek病毒分析軟件)
8473756179280619170UL dumpcap (Wireshark病毒分析軟件)
3778500091710709090UL evidence center (Belkasoft Evidence CenterForensics)
8799118153397725683UL exeinfope (Exeinfo PE病毒分析軟件)
12027963942392743532UL fakedns (fakedns (iDefense)病毒分析軟件)
576626207276463000UL fakenet (fakenet病毒分析軟件)
7412338704062093516UL ffdec (Free Flash Decompiler病毒分析軟件)
682250828679635420UL fiddler (Fiddler病毒分析軟件)
13014156621614176974UL fileinsight (McAfee病毒分析軟件)
18150909006539876521UL floss (FireEye病毒分析軟件)
10336842116636872171UL gdb (gdb病毒分析軟件)
12785322942775634499UL hiew32demo (Hiew病毒分析軟件)
13260224381505715848UL hiew32 (Hiew病毒分析軟件)
17956969551821596225UL hollows_hunter (hollows hunter病毒分析軟件)
8709004393777297355UL idaq64 (IDA病毒分析軟件)
14256853800858727521UL idaq (IDA病毒分析軟件)
8129411991672431889UL idr (InsightDR?病毒分析軟件)
15997665423159927228UL ildasm (IL Disassembler病毒分析軟件)
10829648878147112121UL ilspy (ILSpy病毒分析軟件)
9149947745824492274UL jd-gui (Java Decompiler病毒分析軟件)
3656637464651387014UL lordpe (LordPE病毒分析軟件)
3575761800716667678UL officemalscanner (Officemalscanner病毒分析軟件)
4501656691368064027UL ollydbg (OllyDbg病毒分析軟件)
10296494671777307979UL pdfstreamdumper (PDFStreamDumper病毒分析軟件)
14630721578341374856UL pe-bear (PE-bear病毒分析軟件)
4088976323439621041UL pebrowse64 (Pebrowser病毒分析軟件)
9531326785919727076UL peid (PeiD病毒分析軟件)
6461429591783621719UL pe-sieve32 (PE-sieve病毒分析軟件)
6508141243778577344UL pe-sieve64 (PE-sieve病毒分析軟件)
10235971842993272939UL pestudio (pestudio病毒分析軟件)
2478231962306073784UL peview (Peview病毒分析軟件)
9903758755917170407UL pexplorer (Pexplorer病毒分析軟件)
14710585101020280896UL ppee (PPEE病毒分析軟件)
14710585101020280896UL ppee (PPEE病毒分析軟件)
13611814135072561278UL procdump64 (ProcDump病毒分析軟件)
2810460305047003196UL procdump (ProcDump病毒分析軟件)
2032008861530788751UL processhacker (Process Hacker病毒分析軟件)
27407921587843457UL procexp64 (Process Explorer病毒分析軟件)
6491986958834001955UL procexp (Process Explorer病毒分析軟件)
2128122064571842954UL procmon (ProcMon病毒分析軟件)
10484659978517092504UL prodiscoverbasic (ProDiscoveryForensics)
8478833628889826985UL py2exedecompiler (Py2ExeDecompiler病毒分析軟件)
10463926208560207521UL r2agent (Radare2病毒分析軟件)
7080175711202577138UL rabin2 (Radare2病毒分析軟件)
8697424601205169055UL radare2 (Radare2病毒分析軟件)
7775177810774851294UL ramcapture64 (Ram CapturerForensics)
16130138450758310172UL ramcapture (Ram CapturerForensics)
506634811745884560UL reflector (Red Gate Reflector病毒分析軟件)
18294908219222222902UL regmon (RegMon病毒分析軟件)
3588624367609827560UL resourcehacker (Resource Hacker病毒分析軟件)
9555688264681862794UL retdec-ar-extractor (Avast RetDec病毒分析軟件)
5415426428750045503UL retdec-bin2llvmir (Avast RetDec病毒分析軟件)
3642525650883269872UL retdec-bin2pat (Avast RetDec病毒分析軟件)
13135068273077306806UL retdec-config (Avast RetDec病毒分析軟件)
3769837838875367802UL retdec-fileinfo (Avast RetDec病毒分析軟件)
191060519014405309UL retdec-getsig (Avast RetDec病毒分析軟件)
1682585410644922036UL retdec-idr2pat (Avast RetDec病毒分析軟件)
7878537243757499832UL retdec-llvmir2hll (Avast RetDec病毒分析軟件)
13799353263187722717UL retdec-macho-extractor (Avast RetDec病毒分析軟件)
1367627386496056834UL retdec-pat2yara (Avast RetDec病毒分析軟件)
12574535824074203265UL retdec-stacofin (Avast RetDec病毒分析軟件)
16990567851129491937UL retdec-unpacker (Avast RetDec病毒分析軟件)
8994091295115840290UL retdec-yarac (Avast RetDec病毒分析軟件)
13876356431472225791UL rundotnetdll (RunDotNetDLL病毒分析軟件)
14968320160131875803UL sbiesvc (Sandbox的IE虛擬化/容易)
14868920869169964081UL scdbg (SCDBG病毒分析軟件)
106672141413120087UL scylla_x64 (Scylla病毒分析軟件)
79089792725215063UL scylla_x86 (Scylla病毒分析軟件)
5614586596107908838UL shellcode_launcher (Shellcode Launcher病毒分析軟件)
3869935012404164040UL solarwindsdiagnostics (SolarWindsdev/test)
3538022140597504361UL sysmon64 (SysmonEDR)
14111374107076822891UL sysmon (SysmonEDR)
7982848972385914508UL task explorer (Task Explorer病毒分析軟件)
8760312338504300643UL task explorer-64 (Task Explorer病毒分析軟件)
17351543633914244545UL tcpdump (tcpdump病毒分析軟件)
7516148236133302073UL tcpvcon (TCPView病毒分析軟件)
15114163911481793350UL tcpview (TCPView病毒分析軟件)
15457732070353984570UL vboxservice (VirtualBox虛擬化/容易)
16292685861617888592UL win32_remote (IDA病毒分析軟件)
10374841591685794123UL win64_remotex64 (IDA病毒分析軟件)
3045986759481489935UL windbg (WinDbg (Microsoft)病毒分析軟件)
17109238199226571972UL windump (WinPcap WinDump病毒分析軟件)
6827032273910657891UL winhex64 (WinHex病毒分析軟件)
5945487981219695001UL winhex (WinHex病毒分析軟件)
8052533790968282297UL winobj (WinObj病毒分析軟件)
17574002783607647274UL wireshark (Wireshark病毒分析軟件)
3341747963119755850UL x32dbg (x64dbg病毒分析軟件)
14193859431895170587UL x64dbg (x64dbg病毒分析軟件)
17439059603042731363UL xwforensics64 (X-Ways Forensics病毒分析軟件)
17683972236092287897UL xwforensics (X-Ways Forensics病毒分析軟件)
700598796416086955UL redcloak (Red Cloak / SecureWorksEDR)
3660705254426876796UL avgsvc (AVG反病毒)
12709986806548166638UL avgui (AVG反病毒)
3890794756780010537UL avgsvca (AVG反病毒)
2797129108883749491UL avgidsagent (AVG反病毒)
3890769468012566366UL avgsvcx (AVG反病毒)
14095938998438966337UL avgwdsvcx (AVG反病毒)
11109294216876344399UL avgadminclientservice (AVG反病毒)
1368907909245890092UL afwserv (Avast反病毒)
11818825521849580123UL avastui (Avast反病毒)
8146185202538899243UL avastsvc (Avast反病毒)
2934149816356927366UL aswidsagent (Avast/AVG反病毒)
13029357933491444455UL aswidsagenta (Avast/AVG反病毒)
6195833633417633900UL aswengsrv (Avast/AVG反病毒)
2760663353550280147UL avastavwrapper (Avast反病毒)
16423314183614230717UL bccavsvc (Avast反病毒)
2532538262737333146UL psanhost (熊貓安全EDR)
4454255944391929578UL psuaservice (熊貓安全EDR)
6088115528707848728UL psuamain (熊貓安全EDR)
13611051401579634621UL avp (卡巴斯基反病毒)
18147627057830191163UL avpui (卡巴斯基反病毒)
17633734304611248415UL ksde (卡巴斯基EDR)
13581776705111912829UL ksdeui (卡巴斯基EDR)
7175363135479931834UL tanium (TaniumEDR)
3178468437029279937UL taniumclient (TaniumEDR)
13599785766252827703UL taniumdetectengine (TaniumEDR)
6180361713414290679UL taniumendpointindex (TaniumEDR)
8612208440357175863UL taniumtracecli (TaniumEDR)
8408095252303317471UL taniumtracewebsocketclient64 (TaniumEDR)

5.3 驅動HASH黑名單

HASH 驅動名稱
17097380490166623672UL cybkerneltracker.sys (CyberArk)
15194901817027173566UL atrsdfw.sys (Altiris / Symantec)
12718416789200275332UL eaw.sys (Raytheon Cyber Solutions)
18392881921099771407UL rvsavd.sys (OPSWAT / CJSC Returnil)
3626142665768487764UL dgdmk.sys (Verdasys)
12343334044036541897UL sentinelmonitor.sys (SentinelOne)
397780960855462669UL hexisfsmonitor.sys (Hexis Cyber Solutions)
6943102301517884811UL groundling32.sys (Dell Secureworks)
13544031715334011032UL groundling64.sys (Dell Secureworks)
11801746708619571308UL safe-agent.sys (SAFE-Cyberdefense)
18159703063075866524UL crexecprev.sys (Cybereason)
835151375515278827UL psepfilter.sys (Absolute Software)
16570804352575357627UL cve.sys (Absolute Software Corp.)
1614465773938842903UL brfilter.sys (Bromium - App allowlisting)
12679195163651834776UL brcow_x_x_x_x.sys (Bromium - App allowlisting)
2717025511528702475UL lragentmf.sys (LogRhythm)
17984632978012874803UL libwamf.sys (OPSWAT development)

5.4 服務HASH黑名單

HASH 安全廠商名稱
11385275378891906608UL carbonblack (Carbon Black - App allowlisting)
13693525876560827283UL carbonblackk (Carbon Black - App allowlisting)
17849680105131524334UL cbcomms (Carbon Black - App allowlisting)
18246404330670877335UL cbstream (Carbon Black - App allowlisting)
8698326794961817906UL csfalconservice (Crowdstrike Falcon - EDR)
9061219083560670602UL csfalconcontainer (Crowdstrike Falcon - EDR)
11771945869106552231UL csagent (Crowdstrike - EDR)
9234894663364701749UL csdevicecontrol (Crowdstrike - EDR)
8698326794961817906UL csfalconservice (Crowdstrike Falcon - EDR)
15695338751700748390UL xagt (FireEye - EDR)
640589622539783622UL xagtnotif (FireEye - EDR)
15695338751700748390UL xagt (FireEye - EDR)
9384605490088500348UL fe_avk (FireEye - EDR)
6274014997237900919UL fekern (FireEye - Forensics)
15092207615430402812UL feelam (ESET - EDR)
3320767229281015341UL fewscservice (FireEye - Forensics)
3200333496547938354UL ekrn (ESET - EDR)
14513577387099045298UL eguiproxy (ESET - EDR)
607197993339007484UL egui (ESET - EDR)
15587050164583443069UL eamonm (ESET - EDR)
9559632696372799208UL eelam (ESET - EDR)
4931721628717906635UL ehdrv (ESET - EDR)
3200333496547938354UL ekrn (ESET - EDR)
2589926981877829912UL ekrnepfw (ESET - EDR)
17997967489723066537UL epfwwfp (ESET - EDR)
14079676299181301772UL ekbdflt (ESET - EDR)
17939405613729073960UL epfw (ESET - EDR)
521157249538507889UL fsgk32st (F-Secure - EDR)
14971809093655817917UL fswebuid (F-Secure - EDR)
10545868833523019926UL fsgk32 (F-Secure - EDR)
15039834196857999838UL fsma32 (F-Secure - EDR)
14055243717250701608UL fssm32 (F-Secure - EDR)
5587557070429522647UL fnrb32 (F-Secure - EDR)
12445177985737237804UL fsaua (F-Secure - EDR)
17978774977754553159UL fsorsp (F-Secure ORSP - EDR)
17017923349298346219UL fsav32 (F-Secure - EDR)
17624147599670377042UL f-secure gatekeeper handler starter (F-Secure - EDR)
16066651430762394116UL f-secure network request broker (F-Secure - EDR)
13655261125244647696UL f-secure webui daemon (F-Secure - EDR)
12445177985737237804UL fsaua (F-Secure - EDR)
3421213182954201407UL fsma (F-Secure - EDR)
14243671177281069512UL fsorspclient (F-Secure ORSP - EDR)
16112751343173365533UL f-secure gatekeeper (F-Secure - EDR)
3425260965299690882UL f-secure hips (F-Secure - EDR)
9333057603143916814UL fsbts (F-Secure - EDR)
3413886037471417852UL fsni (F-Secure - EDR)
7315838824213522000UL fsvista (F-Secure - EDR)
13783346438774742614UL f-secure filter (F-Secure - EDR)
2380224015317016190UL f-secure recognizer (F-Secure - EDR)
3413052607651207697UL fses (F-Secure - EDR)
3407972863931386250UL fsfw (F-Secure - EDR)
10393903804869831898UL fsdfw (F-Secure - EDR)
12445232961318634374UL fsaus (F-Secure - EDR)
3421197789791424393UL fsms (F-Secure - EDR)
541172992193764396UL fsdevcon (F-Secure - EDR

6.參考文獻

[1] Highly Evasive Attacker Leverages SolarWinds Supply Chain to Compromise Multiple Global Victims With Sunburst Backdoor
https://www.fireeye.com/blog/threat-research/2020/12/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-Sunburst-backdoor.html
[2] Sunburst Additional Technical Details
https://www.fireeye.com/blog/threat-research/2020/12/Sunburst-additional-technical-details.html
[3] Analyzing Solorigate, the compromised DLL file that started a sophisticated cyberattack, and how Microsoft Defender helps protect customers
https://www.microsoft.com/security/blog/2020/12/18/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect/
[4] 從Solarwinds供應鏈攻擊(金鍊熊)看APT行動中的隱蔽作戰
https://mp.weixin.qq.com/s/DsFgqpQ2Gbs0j0aQaFbsYA
[5] Sunburst Cracked
https://github.com/ITAYC0HEN/Sunburst-Cracked
[6] Sunburst DGA decoder
https://github.com/2igosha/Sunburst_dga
[7] Living Off The Land Binaries and Scripts (and also Libraries)
https://lolbas-project.github.io/
[8] Bring Your Own Land (BYOL) – A Novel Red Teaming Technique
https://www.fireeye.com/blog/threat-research/2018/06/bring-your-own-land-novel-red-teaming-technique.html
[9] ProcessColor.cna
https://github.com/harleyQu1nn/AggressorScripts/blob/master/ProcessColor.cna#L10
[10] Seatbelt InterestingProcessesCommand
https://github.com/GhostPack/Seatbelt/blob/master/Seatbelt/Commands/Windows/InterestingProcessesCommand.cs
[11] Sliver
https://github.com/BishopFox/sliver





















Paper 本文由 Seebug Paper 發佈,如需轉載請註明來源。本文地址:https://paper.seebug.org/1443/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章