如何使用COM-Hunter检测持久化COM劫持漏洞

news/2025/3/15 1:05:06/

关于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劫持(LocalServer32/InprocServer32);

4、找出是否有人通过任务调度器(Task
Scheduler)使用了任何有效的CLSID来执行持久化COM劫持(LocalServer32/InprocServer32);

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\...

网络安全工程师企业级学习路线

这时候你当然需要一份系统性的学习路线

如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

一些我收集的网络安全自学入门书籍

一些我白嫖到的不错的视频教程:

上述资料【扫下方二维码】就可以领取了,无偿分享


http://www.ppmy.cn/news/29112.html

相关文章

(六十四)设计索引的时候,我们一般要考虑哪些因素呢?(上)

本周我们将要讲解一下设计索引的时候&#xff0c;我们通常应该考虑哪些因素&#xff0c;给哪些字段建立索引&#xff0c;如何建立索引&#xff0c;建立好索引之后应该如何使用才是最合适的。 可能有的朋友会希望尽快更新后面的内容&#xff0c;但是因为工作的原因的确非常忙&a…

基于神经网络补偿的主动悬架自适应控制

目录 前言 1. 1/4悬架模型 2.仿真分析 2.1仿真模型 2.2仿真结果 2.1 形① 2.2 形② 3. 总结 前言 上两篇博客我们介绍了神经网络补偿控制律的仿真测试&#xff0c;从仿真结果我们可以得知神经网络具有逼近扰动&#xff0c;并将其补偿的作用。 上两篇文章链接&#xf…

Licode—基于webrtc的SFU/MCU实现

1. webrtc浅析webrtc的前世今生、编译方法、行业应用、最佳实践等技术与产业类的文章在网上卷帙浩繁&#xff0c;重复的内容我不再赘述。对我来讲&#xff0c;webrtc的概念可以有三个角度去解释&#xff1a;&#xff08;1&#xff09;.一个W3C和IETF制定的标准&#xff0c;约定…

Java——异常

目录 什么是异常 异常处理主要的5个关键字 异常的体系结构 异常语法 异常的分类 异常的处理流程 异常的处理 防御式编程 异常的抛出 throw的注意事项 异常的捕获 异常声明throws try-catch捕获处理 finally 自定义异常类 throw和throws区别 什么是异常 程序在运行时出现错…

string函数以及string常用接口

本文介绍的是C关键字string中一些重要用法&#xff0c;以及各种字符串序列的处理操作 ——飘飘何所似&#xff0c;天地一沙鸥 文章目录前言一、string&#xff08;字符串类&#xff09;二、string类对象的容量操作2.1 size/length2.2 capacity2.3 empty/clear2.4 resize/reser…

【Hello Linux】进程优先级和环境变量

作者&#xff1a;小萌新 专栏&#xff1a;Linux 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;简单介绍下进程的优先级 环境变量 进程优先级环境变量进程的优先级基本概念如何查看优先级PRI与NINI值的设置范围NI值如何修改修改方式…

【蓝桥杯嵌入式】LCD屏的原理图解析与代码实现(第十三届省赛为例)——STM32

&#x1f38a;【蓝桥杯嵌入式】专题正在持续更新中&#xff0c;原理图解析✨&#xff0c;各模块分析✨以及历年真题讲解✨都在这儿哦&#xff0c;欢迎大家前往订阅本专题&#xff0c;获取更多详细信息哦&#x1f38f;&#x1f38f;&#x1f38f; &#x1fa94;本系列专栏 - 蓝…

uniapp:3分钟搞定在线推送uni.createPushMessage,uni.onPushMessage

安卓端 在线推送功能演示&#xff1a; 1、dcloud后台申请开通uniPush dcloud后台 &#xff08;1&#xff09;&#xff1a;找到我的应用 &#xff08;2&#xff09;&#xff1a;点进去后&#xff0c;各平台信息&#xff0c;点击新增 &#xff08;3&#xff09;&#xff1a;填…