如何使用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

持久化
本作品采用《CC 协议》,转载必须注明作者和本文链接
通过从事件日志中写入/读取 shellcode 来实现持久
COM-Hunter是一款针对持久COM劫持漏洞的安全检测工具,该工具基于C#语言开发,可以帮助广大研究人员通过持久COM劫持技术来检测目标应用程序的安全性。COM对象的滥用使安防团队能够代表受信任的进程执行任意代码。执行COM劫持不需要管理员权限,因为HKCU注册表配置单元中的类在HKLM中的类之前执行。唯一影响高完整性进程(提升)的例外情况是,仅从HKLM位置加载对象,以防止特权提升。
在分布式内存池中,为了保证远端数据持久,我们设计了RDMA Flush原语来强制刷出缓存在网卡缓冲区的数据,并基于新的原语设计了持久RPC通信机制。通过将数据持久与复杂的RPC处理过程解耦合,系统大幅提升了RPC吞吐率并降低了尾延迟。
金票可以使用krbtgt的NTLM hash创建作为任何用户的有效TGT。
天融信通过自适应安全防御系统在预测、防御、检测、响应多个层面构建多维度安全能力,帮助用户实现有效预测安全风险,精准感知安全威胁,快速阻断威胁入侵。
Rook 将存储软件转变成自我管理、自我扩展和自我修复的存储服务,通过自动化部署、启动、配置、供应、扩展、升级、迁移、灾难恢复、监控和资源管理来实现。Rook 利用扩展功能将其深度集成到云原生环境中,并为调度、生命周期管理、资源管理、安全性、监控等提供了无缝的体验。
近日,网络安全研究人员发现iOS 16存在一种新的漏洞利用后持久技术,即使受害者的苹果设备处于离线状态,也可以利用该技术悄无声息地访问该设备。
DDoS攻击的三个特性,导致其在不断治理的情况下仍然保持增长态势:一是攻击的有效性立竿见影,由于攻击效果好,攻击者热衷于挖掘新型DDoS攻击手段,甚至多国高校把DDoS威胁作为研究目标并揭露威胁;二是执行攻击简单易操作,早期的DDoS攻击攻击工具操作界面几乎是傻瓜式,粗懂网络知识的人员输入IP地址或域名即可发起海量DDoS攻击并使目标失去服务能力,然而近几年来开始推出攻击即服务的模式,
Windows Token原理及利用
2021-12-14 13:21:53
在进行内网横向时,常常会查看是否存在其他用户的进程来判断本机有更高的权限去访问其他计算机。这其中就涉及到了登录会与访问令牌。
VX小程序逆向分析
2023-06-29 09:16:31
Frida虽然确实调试起来相当方便,但是Xposed由于能够安装在用户手机上实现持久的hook,至今受到很多人的青睐,对于微信小程序的wx.request API。背景知识众所周知,Xposed主要用于安卓Java层的Hook,而微信小程序则是由JS编写的,显然无法直接进行hook。对于Xposed则没有这个问题,只需指定微信的包名就会自动hook上所有的子进程。答案是可以的,如下所示:Xposed hook wx.request java层代码得到发送的数据实现如下所示:得到响应数据的Xposed代码就不贴了,方法同上。
VSole
网络安全专家