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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/0xthirteen/movekit
漏洞利用框架横向移动后渗透利用渗透测试红队
GitHub0xthirteen/movekit

MoveKit

Cobalt Strike 横向移动工具包

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

MoveKit - Cobalt Strike 横向移动工具包

MoveKit 是内置 Cobalt Strike 横向移动功能的扩展,它利用 execute_assembly 函数以及 SharpMove 和 SharpRDP .NET 程序集。攻击者脚本通过读取特定执行类型的模板文件来处理负载创建。

重要提示:要使用该脚本,用户只需加载 MoveKit.cna 攻击者脚本,该脚本将同时加载所有其他必要的脚本。此外,根据所执行的操作,需要编译 SharpMove 和 SharpRDP 程序集并将其放入 Assemblies 目录中。最后,某些文件移动需要动态编译,这需要 Mono。

加载攻击者脚本时,menubar 中会加载一个名为 Move 的选择器。用户可以选择多种选项。首先,用户可以选择通过 WMI、DCOM、任务计划程序、RDP 或 SCM 在远程系统上执行命令。其次,Command 执行机制使用下载方式获取并执行文件。第三,File 方法将文件放置在系统上并执行。还有 Write File Only 选项,不执行任何操作,仅移动数据。最后,有 Default 设置,用于加快 GUI 使用速度,并与 Beacon 命令一起使用。默认设置用于任何可以接受默认值的操作。

要使用 Beacon 命令,它将读取默认设置并使用几个命令行参数。Beacon 命令示例: <exec-type> <target> <listener> <filename>

move-msbuild 192.168.1.1 http move.csproj

下载工具

此外,自定义预构建 Beacon 命令略有不同。命令示例: move-pre-custom-file <target> <local-file> <remote-filename>

move-pre-custom-file computer001.local /root/payload.exe legit.exe

位置字段是该项目中最棘手的部分。当选择 WMI 文件移动时,将使用 location;如果选择了 SMB,则不会使用它(因此可以留空)。Location 接受三种不同的值。首先,如果 location 是一个 URL,那么在创建负载时,它将被 Cobalt Strike 的 Web 服务器托管。执行程序集的 Beacon 主机将向该 URL 发出 Web 请求并获取文件,该文件将用于目标主机上的事件订阅中以写入文件。其次,如果 location 是 Windows 目录,则它会将创建的文件上传到 Beacon 主机,程序集将从文件系统读取并存储在事件订阅中,以写入远程主机。最后,如果 location 字段是 Linux 路径或单词 local,则它会将负载动态编译到正在执行的程序集中。但是,如果文件超过 1MB 大小限制,则会显示错误。

对于所有文件方法,负载将通过攻击者脚本创建。但是,如果负载已创建,用户可以选择使用 Custom (Prebuilt) 选项来移动和执行它。

该工具包包含不同的文件移动技术、执行触发器和负载类型。

文件移动被认为是用于将文件传输到远程主机的方法 文件移动类型:

  • SMB 到平面文件
  • WMI 到平面文件
  • WMI 到注册表键值
  • WMI 到自定义 WMI 类属性

命令触发器被认为是用于在远程主机上执行特定命令的方法。 命令触发器类型:

  • WMI
  • SCM
  • RDP
  • DCOM (Multiple)
  • 计划任务
  • 修改计划任务(现有任务的操作已更新,执行任务并重置操作)
  • 修改服务 binpath(现有服务的 binpath 已更新,服务启动并重置为原始状态)

仅 shellcode 执行:

  • Excel 4.0 DCOM
  • WMI 事件订阅(即将推出)

劫持:

  • 服务 DLL 劫持(即将推出)
  • DCOM 服务器劫持(即将推出)

依赖项

  • Mono (MCS) 用于编译 .NET 程序集(用于动态负载创建、InstallUtil 和 Custom-NonPreBuilt)。也用于 FileWrite 程序集。

注意事项:

  • 有时 execute_assembly 会在文件移动之前被调用,如果发生这种情况,您可以通过取消选中 Auto 复选框来执行负载
  • 该工具包不会自动清理文件,由操作员自行决定
注意:建议不要在此项目中使用默认模板。

要替换模板,您必须满足两个要求。首先,模板必须命名为技术名称(例如:msbuild.csproj)。其次,源代码必须包含字符串 $$PAYLOAD$$,其中将放置 base64 编码的 shellcode,并且能够将 base64 字符串转换为字节数组。C# 示例:

root@kitploit:~
string strSC = "$$PAYLOAD$$";
byte[] sc = Convert.FromBase64String(strSC);

添加了一项更改,允许默认设置在“更新默认值对话框”中更新“查找和替换字符串”和 shellcode 格式。默认情况下,这些是 $$PAYLOAD$$ 和 base64。

操作注意事项

  • 如果使用任务计划程序,将创建并删除计划任务
  • 如果使用 SCM,将创建并删除服务
  • 如果使用 AMSI 绕过,它仅适用于 WSH,不适用于 PowerShell
  • 如果使用 AMSI 绕过,它将修改注册表,通过更新或创建注册表键,然后将其恢复为原始值或删除
  • 它使用 Cobalt Strike 的 execute-assembly 函数,因此它会像其他后渗透任务一样注入到牺牲进程中
  • 如果使用任何 File 或 Command 方法,文件将放置在磁盘上
  • 不应使用模板,它们都是公开的
  • 所有这些技术都不是新的,并且相当知名

致谢

部分代码、模板或灵感来自其他个人和项目

  • WMI - SharpWMI 作者 harmj0y
  • DCOM - SharpCOM 作者 rvrsh3ll 和 SharpSploit DCOM 作者 cobbr
  • SCM - CSExec 作者 Tim Malcomvetter
  • 服务 DLL 劫持 SharpSC 作者 djhohnstein
  • 服务 binpath 修改 SCShell 作者 Mr-Un1k0d3r
  • Shellcode runner 模板 作者 subTee
  • CACTUSTORCH 负载 作者 vysecurity

可能在某个地方存在 bug,它们往往会不时出现。只需提出来,我会修复它们