關于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:https://github.com/Helixo32/CrimsonEDR
參考資料
https://maldevacademy.com/