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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CIMplant — WMImplant的C#移植版,使用CIM或WMI查询远程系统。 | Kitploit
工具/GitHubGitHub/redsiege/cimplant
横向移动信息收集后渗透利用渗透测试命令与控制红队远程访问工具
GitHubredsiege/cimplant

CIMplant

WMImplant的C#移植版,使用CIM或WMI查询远程系统。

查看仓库
20428325年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CIMplant

CIMplant 是 WMImplant 的 C# 移植版本,使用 CIM 或 WMI 查询远程系统。它可以使用提供的凭据或当前用户的会话。

注意:某些命令会结合 PowerShell 使用 WMI,在 --show-commands 命令中以 ** 标记。

简介

CIMplant 是对 @christruncer 的 WMImplant 的 C# 重写和扩展。它允许你收集远程系统的数据、执行命令、导出数据等。该工具支持使用 Windows Management Instrumentation(WMI)或 Common Interface Model(CIM)(更准确地说,是 Windows Management Infrastructure(MI))进行连接。CIMplant 需要在目标系统上拥有本地管理员权限。

设置

使用 Releases 下已构建的版本可能最简单,请注意它是以 Debug 模式编译的。如果你想自己构建解决方案,请按以下步骤操作。

  1. 将 CIMplant.sln 加载到 Visual Studio 中
  2. 若无需修改,请转到顶部菜单的“生成”,然后选择“生成解决方案”

用法

root@kitploit:~
CIMplant.exe --help
CIMplant.exe --show-commands
CIMplant.exe --show-examples
CIMplant.exe -s [remote IP address] -c cat -f c:\users\user\desktop\file.txt
CIMplant.exe -s [remote IP address] -u [username] -d [domain] -p [password] -c cat -f c:\users\test\desktop\file.txt
CIMplant.exe -s [remote IP address] -u [username] -d [domain] -p [password] -c command_exec --execute "dir c:\\"

功能

文件操作:

root@kitploit:~
cat                          -  读取文件内容
copy                         -  将文件从一个位置复制到另一个位置
download**                   -  从目标机器下载文件
ls                           -  列出指定目录的文件/目录
search                       -  在用户目录中搜索文件
upload**                     -  将文件上传到目标机器

横向移动辅助

root@kitploit:~
command_exec**               -  运行命令行命令并接收输出。使用 nops 标志可禁用 PowerShell
disable_wdigest              -  将 UseLogonCredential 的注册表值设置为零
enable_wdigest               -  添加注册表值 UseLogonCredential
disable_winrm**              -  在目标系统上禁用 WinRM
enable_winrm**               -  在目标系统上启用 WinRM
reg_mod                      -  修改目标机器的注册表
reg_create                   -  在目标机器上创建注册表值
reg_delete                   -  删除目标机器的注册表
remote_posh**                -  在远程机器上运行 PowerShell 脚本并接收输出
sched_job                    -  未实现,因为 Win32_ScheduledJobs 访问的是过时的 API
service_mod                  -  创建、删除或修改系统服务

进程操作

root@kitploit:~
process_kill                 -  通过名称或进程 ID 终止目标机器上的进程
process_start                -  在目标机器上启动进程
ps                           -  列出进程

系统操作

root@kitploit:~
active_users                 -  列出在目标系统上有活动进程的域用户
basic_info                   -  用于枚举目标系统的基本元数据
drive_list                   -  列出本地和网络驱动器
ifconfig                     -  获取具有活动网络连接的网卡的 IP 信息
installed_programs           -  获取目标机器上已安装的程序列表
logoff                       -  注销目标机器上的用户
reboot (或 restart)          -  重启目标机器
power_off (或 shutdown)      -  关闭目标机器
vacant_system                -  判断用户是否离开系统
edr_query                    -  查询本地或远程系统的 EDR 厂商

日志操作

root@kitploit:~
logon_events                 -  识别已登录系统的用户

* 可以通过使用 --nops 标志禁用所有 PowerShell,尽管某些命令将无法执行(上传/下载、启用/禁用 WinRM)
** 表示使用 PowerShell(通过 PowerShell 运行空间或 Win32_Process::Create 方法)

一些示例用法命令

image

Cobalt Strike 执行程序集(Execute-Assembly)

我编写 CIMplant 时考虑了通过 execute-assembly 使用的方式,因此所有内容都打包到一个可执行文件中并反射加载。你应该能够无障碍地通过 Beacon 运行所有命令。尽情享用!

image

重要文件

  1. Program.cs

这是操作的核心,程序的驱动部分。

  1. Connector.cs

这里建立初始的 CIM/WMI 连接,并传递给应用程序的其他部分。

  1. ExecuteWMI.cs

所有 WMI 命令的功能代码。

  1. ExecuteCIM.cs

所有 CIM(MI)命令的功能代码。

检测

当然,我们首先要关注的是初始的 WMI 或 CIM 连接。通常,WMI 使用 DCOM 作为通信协议,而 CIM 使用 WSMan(或 WinRM)。在 CIMplant 中可以对此进行修改,但我们现在只讨论默认值。对于 DCOM,首先要做的是查找通过 端口 135 的初始 TCP 连接。连接和接收系统将协商使用一个新的、非常高的端口,因此该端口会变化很大。对于 WSMan,初始 TCP 连接通过 端口 5985。

接下来,在事件查看器中查看 Microsoft-Windows-WMI-Activity/Trace 事件日志。搜索 Event ID 11,如果可能,过滤 IsLocal 属性。你也可以在 Microsoft-Windows-WinRM/Analytic 日志中查找 Event ID 1295。

最后,查找对 Win32_OSRecoveryConfiguration 类的 DebugFilePath 属性的任何修改。关于检测的更详细信息,请参阅我们博客系列的第 1 部分:CIMplant Part 1: Detection of a C# Implementation of WMImplant

下载工具