SharpStrike 是一款用 C# 编写的后渗透工具,可使用 CIM 或 WMI 查询远程系统。它可以使用提供的凭据或当前用户的会话。
注意:某些命令会结合 PowerShell 与 WMI 使用,在 --show-commands 命令中以 ** 标注。
SharpStrike 是对 @Matt_Grandy_ 的 CIMplant 和 @christruncer 的 WMImplant 的 C# 重写和扩展。
SharpStrike 允许您收集远程系统的数据、执行命令、外泄数据等。该工具支持通过 Windows Management Instrumentation (WMI) 或 Common Interface Model (CIM) 建立连接;更准确地说,是 Windows Management Infrastructure (MI)。CIMplant 需要在目标系统上拥有本地管理员权限。
最简单的方法是使用 Releases 下的预编译版本,但请注意它是以 Debug 模式编译的。如果您想自行构建解决方案,请按照以下步骤操作。
构建将生成两个版本的 SharpStrike:GUI(WinForms)和控制台应用程序。每个版本都实现了相同的功能。
控制台版本:
SharpStrike.exe --help
SharpStrike.exe --show-commands
SharpStrike.exe --show-examples
SharpStrike.exe -c ls_domain_admins
SharpStrike.exe -c ls_domain_users_list
SharpStrike.exe -c cat -f "c:\users\user\desktop\file.txt" -s [远程 IP 地址]
SharpStrike.exe -c cat -f "c:\users\user\desktop\file.txt" -s [远程 IP 地址] -u [用户名] -d [域名] -p [密码] -c
SharpStrike.exe -c command_exec -e "quser" -s [远程 IP 地址] -u [用户名] -d [域名] -p [密码]
GUI 版本:
show-commands
show-examples
ls_domain_admins
ls_domain_users_list
cat -f "c:\users\user\desktop\file.txt" -s [远程 IP 地址]
cat -f "c:\users\user\desktop\file.txt" -s [远程 IP 地址] -u [用户名] -d [域名] -p [密码]
command_exec -e "quser" [远程 IP 地址] -u [用户名] -d [域名] -p [密码]
cat - 读取文件内容
copy - 将文件从一个位置复制到另一个位置
download** - 从目标机器下载文件
ls - 列出指定目录的文件/目录
search - 在用户上搜索文件
upload** - 向目标机器上传文件
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 - 创建、删除或修改系统服务
ls_domain_users*** - 列出域用户
ls_domain_users_list*** - 列出域用户的 sAMAccountName
ls_domain_users_email*** - 列出域用户的电子邮件地址
ls_domain_groups*** - 列出域用户组
ls_domain_admins*** - 列出域管理员用户
ls_user_groups*** - 列出域用户及其关联的组
ls_computers*** - 列出当前域中的计算机
process_kill - 通过名称或进程 ID 终止目标机器上的进程
process_start - 在目标机器上启动进程
ps - 列出进程
active_users - 列出目标系统上具有活动进程的域用户
basic_info - 用于枚举目标系统的基本元数据
drive_list - 列出本地和网络驱动器
share_list - 列出网络共享
ifconfig - 从具有活动网络连接的网卡获取 IP 信息
installed_programs - 获取目标机器上已安装程序的列表
logoff - 将用户从目标机器注销
reboot (或 restart) - 重新启动目标机器
power_off (或 shutdown) - 关闭目标机器电源
vacant_system - 确定用户是否离开系统
edr_query - 查询本地或远程系统的 EDR 供应商
logon_events - 识别已登录到系统的用户
* 所有 PowerShell 都可以通过使用 --nops 标志禁用,但某些命令将无法执行(上传/下载、启用/禁用 WinRM)
** 表示使用 PowerShell(通过 PowerShell Runspace 或 Win32_Process::Create 方法)
*** 表示使用 LDAP - "root\directory\ldap" 命名空间
控制台版本:
GUI 版本:

SharpStrike 由三个主要项目组成
这是进行初始 CIM/WMI 连接并将其传递给应用程序其他部分的地方
包含所有 WMI 命令的函数代码
包含所有 CIM(MI)命令的函数代码
CIMplant Part 1: Detection of a C# Implementation of WMImplant
WMImplant – A WMI Based Agentless Post-Exploitation RAT Developed in PowerShell