WMImplant 是一款基于 PowerShell 的工具,利用 WMI 针对目标机器执行操作,同时将其作为 C2 通道来发送命令和接收结果。WMImplant 通常需要在目标机器上拥有本地管理员权限。
由 @christruncer 开发
change_user - 更改执行 WMI 命令的用户的上下文环境
exit - 退出 WMImplant
gen_cli - 生成用于非交互式运行 WMImplant 的命令行命令
set_default - 将目标系统的 WMI 属性恢复为其默认值
help - 查看命令列表及描述
cat - 读取文件内容
copy - 将文件从一个位置复制到另一个位置
download - 从目标机器下载文件
ls - 列出特定目录的文件/目录
search - 在用户指定的驱动器上搜索文件
upload - 将文件上传到目标机器
command_exec - 运行命令行命令并接收输出
disable_wdigest - 删除注册表值 UseLogonCredential
disable_winrm - 禁用目标系统上的 WinRM
enable_wdigest - 添加注册表值 UseLogonCredential
enable_winrm - 启用目标系统上的 WinRM
registry_mod - 修改目标机器上的注册表
remote_posh - 在远程机器上运行 PowerShell 脚本并接收输出
sched_job - 操作计划任务
service_mod - 创建、删除或修改系统服务
process_kill - 通过名称或进程 ID 终止目标机器上的进程
process_start - 在目标机器上启动进程
ps - 进程列表
active_users - 列出在目标系统上有活动进程的域用户
basic_info - 用于枚举目标系统的基本元数据
drive_list - 列出本地和网络驱动器
ifconfig - 从具有活动网络连接的网卡获取 IP 信息
installed_programs - 获取目标机器上已安装程序列表
logoff - 注销目标机器上的用户
reboot - 重启目标机器
power_off - 关闭目标机器电源
vacant_system - 判断用户是否离开系统
logon_events - 识别已登录系统的用户
使用 WMImplant 最简单的方法是导入脚本并运行 Invoke-WMImplant。这将显示主菜单,您可以立即开始选择要运行的命令。在主菜单中,您还可以选择让 WMImplant 输出在非交互式模式下运行所需的命令行命令。
感谢: @evan_Pena2003 - 感谢您在代码审查和向工具添加功能方面的帮助 @danielbohannon - 感谢您在代码混淆方面的帮助