如何使用RTA框架測試安全團隊的威脅行為檢測能力
關于RTA
RTA是一款專為藍隊研究人員設計的威脅行為能力檢測框架。RTA提供了一套腳本框架,旨在讓藍隊針對惡意行為測試其檢測能力,該框架是基于MITRE ATT&CK模型設計的。
RTA由多個Python腳本組成,可以生成50多種不同的ATT&CK戰術策略,以及一個預先編譯的二進制應用程序,并根據需要執行文件時間停止、進程注入和信標模擬等活動。
在可能的情況下,RTA 將嘗試執行策略所描述的實際惡意活動。在其他情況下,RTA 將模擬所有或部分活動。例如,某些橫向移動操作默認會針對本地主機(盡管參數通常允許進行多主機測試)。在其他情況下,可執行文件(如 cmd.exe 或 python.exe)將被重命名,使其看起來像是 Windows 二進制文件正在執行非標準活動。
工具要求
由于該工具基于Python 2.7開發,因此我們首先需要在本地設備上安裝并配置好Python 2.7環境。
除此之外,RTA還使用了某些第三方工具來實現更強大的功能,具體依賴組件信息如下所示:
依賴組件 | RTA腳本 | 來源 |
Sysinternals Suite | user_dir_escalation.py, sip_provider.py, system_restore_proc.py, trust_provider.py | |
MsXsl | msxsl_network.py |
工具安裝
首先,廣大研究人員需要使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/endgameinc/RTA.git
接下來,將下載下來的ZIP文檔提取內容至RTA目錄,例如c:\RTA。此時,我們就可以開始使用RTA了。
需要注意的是,Windows Defender或其他防病毒產品可能會在RTA運行時阻止或以其他方式干擾RTA。在根據測試目標運行RTA之前,請考慮如何在測試主機上配置安全產品。
自定義配置
廣大研究人員可以通過修改common.py來自定義RTA腳本在我們環境中的工作方式。我們甚至可以編寫一個全新的函數,用于一個或多個新的RTA。
工具運行
如果直接運行RTA的話,可以直接執行下列命令:
python powershell_args.py
如需運行這個那個RTA目錄,最簡python run_rta.py單的方法就是使用run_rta.py:
python run_rta.py
除此之外,我們也可以使用循環來執行RTA:
for %f in (*.py) do python %f
或
for i in (*.py); do python $i; done
許可證協議
本項目的開發與發布遵循GNUAffero通用開源許可證協議。
項目地址
RTA:【GitHub傳送門】
參考資料
https://attack.mitre.org/wiki/ATT&CK_Matrix
https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite
https://www.microsoft.com/en-us/download/details.aspx?id=21714