關于CrimsonEDR
CrimsonEDR是一個功能強大的開源項目,該項目旨在幫助廣大研究人員識別特定的惡意軟件模式,以此來優化終端檢測與響應(EDR)的策略方案。通過使用各種不同的檢測方案,可以加深開發人員與研究人員加深對安全規避策略的理解。
功能介紹
檢測 | 描述 |
直接系統調用 | 檢測直接系統調用的使用情況,惡意軟件通常使用直接系統調用來繞過傳統的 API 鉤子。 |
NTDLL 解除鉤子 | 識別嘗試解除 NTDLL 庫中的函數的鉤子,這是一種常見的規避技術。 |
AMSI 補丁 | 通過字節級分析檢測對反惡意軟件掃描接口 (AMSI) 的修改。 |
ETW 補丁 | 檢測 Windows 事件跟蹤 (ETW) 的字節級更改,惡意軟件通常會操縱這些更改來逃避檢測。 |
PE?Stomping | 識別 PE(可移植可執行文件)Stomping 的實例。 |
反射型PE 加載 | 檢測 PE 文件的反射加載,這是惡意軟件用來避免靜態分析的一種技術。 |
未備份線程來源 | 識別源自不受支持的內存區域的線程,這通常表示惡意活動。 |
未備份線程起始地址 | 檢測起始地址指向未備份內存的線程,這是代碼注入的潛在跡象。 |
API 鉤子 | 在 NtWriteVirtualMemory 函數上放置一個鉤子來監視內存修改。 |
自定義模式搜索 | 允許用戶搜索 JSON 文件中提供的特定模式,從而有助于識別已知的惡意軟件簽名。 |
工具安裝
首先,我們需要使用下列命令安裝該工具所需的依賴組件:
sudo apt-get install gcc-mingw-w64-x86-64
接下來,廣大研究人員可以直接使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/Helixo32/CrimsonEDR
然后切換到項目目錄中,并使用下列命令完成代碼編輯:
cd CrimsonEDR;chmod +x compile.sh;./compile.sh
工具使用
確保ioc.json文件位于正在監視的可執行文件的啟動目錄中。比如說,如果你想要監控的可執行程序位于C:\Users\admin\,則DLL會嘗試在C:\Users\admin\ioc.json路徑下尋找ioc.json。當前版本的ioc.json包含與msfvenom相關的模式,我們可以根據自己的需求進行修改,格式如下:
{"IOC": [["0x03", "0x4c", "0x24", "0x08", "0x45", "0x39", "0xd1", "0x75"],["0xf1", "0x4c", "0x03", "0x4c", "0x24", "0x08", "0x45", "0x39"],["0x58", "0x44", "0x8b", "0x40", "0x24", "0x49", "0x01", "0xd0"],["0x66", "0x41", "0x8b", "0x0c", "0x48", "0x44", "0x8b", "0x40"],["0x8b", "0x0c", "0x48", "0x44", "0x8b", "0x40", "0x1c", "0x49"],["0x01", "0xc1", "0x38", "0xe0", "0x75", "0xf1", "0x4c", "0x03"],["0x24", "0x49", "0x01", "0xd0", "0x66", "0x41", "0x8b", "0x0c"],["0xe8", "0xcc", "0x00", "0x00", "0x00", "0x41", "0x51", "0x41"]]}
然后使用下列參數執行CrimsonEDRPanel.exe:
-d <path_to_dll>:指定CrimsonEDR.dll文件的路徑;-p <process_id>:指定需要注入DLL的目標進程PID;
運行命令樣例如下:
.\CrimsonEDRPanel.exe -d C:\Temp\CrimsonEDR.dll -p 1234
注意事項
Windows Defender 和其他防病毒程序可能會將該 DLL 標記為惡意程序,因為其包含用于驗證 AMSI 是否包含補丁字節的內容。因此在使用CrimsonEDR時,請確保將 DLL 列入白名單或暫時禁用防病毒軟件,以避免任何中斷。
工具使用演示
項目地址
CrimsonEDR:【GitHub傳送門】
參考資料
Windows Processes, Nefarious Anomalies, And You | pre.empt
https://maldevacademy.com/