如何使用COM-Hunter檢測持久化COM劫持漏洞
VSole2022-07-12 17:16:03
關于COM-Hunter
COM-Hunter是一款針對持久化COM劫持漏洞的安全檢測工具,該工具基于C#語言開發,可以幫助廣大研究人員通過持久化COM劫持技術來檢測目標應用程序的安全性。
關于COM劫持
微軟在Windows 3.11中引入了(Component Object Model, COM),作為一種實現對象的方法,這些對象可以被不同的框架(ActiveX, COM+, DCOM等)使用,并且在不同的Windows環境中允許互操作性,進程間通信和代碼重用。COM對象的濫用使安防團隊能夠代表受信任的進程執行任意代碼。執行COM劫持不需要管理員權限,因為HKCU注冊表配置單元中的類在HKLM中的類之前執行。唯一影響高完整性進程(提升)的例外情況是,僅從HKLM位置加載對象,以防止特權提升。
功能介紹
1、在目標用戶的計算機中查找有效的CLSID;
2、通過目標用戶計算機中的任務調度器(Task Scheduler)查找有效的CLSID;
3、找出是否有人已經使用了這些有效的CLSID來進行持久化COM劫持(LocalServer*32/InprocServer*32);
4、找出是否有人通過任務調度器(Task Scheduler)使用了任何有效的CLSID來執行持久化COM劫持(LocalServer*32/InprocServer*32);
5、嘗試通過任務調度器(Task Scheduler)自動執行持久化COM劫持;
6、嘗試使用“TreatAs”鍵來引用其他組件;
工具要求
.NET Framework v4.8
工具下載
廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/nickvourd/COM-Hunter.git
工具幫助信息
[+] Usage:
.\COM-Hunter.exe <mode> <options>
-> General Options:
-h, --help 顯示幫助信息和退出
-v, --version 顯示工具當前版本
-a, --about 顯示跟工具相關的其他信息
-> Modes:
Search 搜索模式
Persist 持久化模式
-> Search Mode:
Get-Entry 搜索有效的CLSID條目
Get-Tasksch 通過任務調度器搜索有效的CLSID條目
Find-Persist 搜索是否有人已經使用了一個有效的CLSID(安全防御)
Find-Tasksch 搜索是否有人通過任務調度器(Task Scheduler)使用了任何有效的CLSID(安全防御)
-> Persist Mode:
General 使用常用方法在注冊表中實現持久化COM劫持
Tasksch 嘗試通過任務調度器實現持久化COM劫持
TreatAs 在注冊表中嘗試使用TreatAs注冊表鍵實現持久化COM劫持
-> General Usage:
.\COM-Hunter.exe 持久化General <clsid> <full_path_of_evil_dll>
-> Tasksch Usage:
.\COM-Hunter.exe 持久化Tasksch <full_path_of_evil_dll>
-> TreatAs Usage:
.\COM-Hunter.exe 持久化TreatAs <clsid> <full_path_of_evil_dll>
工具使用樣例
搜索包含有效CLSID的條目(搜索模式)
.\COM-Hunter.exe Search Get-Entry
尋找持久化劫持點(搜索模式)
.\COM-Hunter.exe Search Find-Persist
常用方法(持久化模式)
.\COM-Hunter.exe Persist General 'HKCU:Software\Classes\CLSID\...' C:\Users\nickvourd\Desktop\beacon.dll
計劃任務(持久化模式)
.\COM-Hunter.exe Persist Tasksch C:\Users\nickvourd\Desktop\beacon.dll
有效CLSID格式樣例
Software\Classes\CLSID\... HKCU:Software\Classes\CLSID\... HKCU:\Software\Classes\CLSID\... HKCU\Software\Classes\CLSID\... HKEY_CURRENT_USER:Software\Classes\CLSID\... HKEY_CURRENT_USER:\Software\Classes\CLSID\... HKEY_CURRENT_USER\Software\Classes\CLSID\...
許可證協議
本項目的開發與發布遵循MIT開源許可證協議。
項目地址
https://github.com/nickvourd/COM-Hunter
參考資料
https://courses.zeropointsecurity.co.uk/courses/red-team-ops
https://twitter.com/zeropointsecltd
https://twitter.com/dimtsikopoulos
https://twitter.com/0xvm
VSole
網絡安全專家