Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
ROP_ROCKET — ROP ROCKET 是一个高级代码重用攻击框架,具备强大的 ROP 链生成能力,包括针对新型 Windows Syscalls 攻击、新型 Heaven's Gate 攻击以及“无shellcode” ROP。该框架利用仿真和混淆技术来扩大攻击面。 | Kitploit
工具/GitHubGitHub/bw3ll/rop_rocket
渗透测试框架漏洞利用框架Payload生成漏洞利用逆向工程Shellcode二进制利用
GitHubbw3ll/rop_rocket

ROP_ROCKET

ROP ROCKET 是一个高级代码重用攻击框架,具备强大的 ROP 链生成能力,包括针对新型 Windows Syscalls 攻击、新型 Heaven's Gate 攻击以及“无shellcode” ROP。该框架利用仿真和混淆技术来扩大攻击面。

查看仓库
17329179个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

介绍 ROP ROCKET

这个全新、先进的 ROP 框架在 DEF CON 31 上首次亮相,具备一些前所未有的能力。ROCKET 可以生成多种类型的链,并提供了新的模式或技术。

请注意,这仍是一个进行中的工作,后续将添加一些更新和增强的功能。更新应该是定期的。如果你遇到问题,请在 issues 中提出或发送邮件给我,我会解决它们。此外,还会添加生成某些类型 gadget 的替代方法。

目前正在持续工作,定期添加新功能。请定期回来查看。

image

强大的 ROP 能力

ROP ROCKET 非常强大,具有一些独特的能力,包括以下几个方面:

  • 它可以为 NtAllocateVirtualMemory 和 NtAllocateVirtualProtect 生成 Windows 系统调用——这是已知在 WoW64 ROP 中首次使用直接 Windows 系统调用。
  • 它可以生成一种新颖的 Heaven's Gate 攻击,通过 ROP 从 x86 转换到 x64。要使用此功能,你需要使用 WinDbg x64 并附加到一个当前正在运行的进程(不要直接在调试器中打开它)。
  • 它可以生成一种新颖的 Heaven's Gate 攻击,通过 ROP 从 x64 转换到 x86。这是 64 位代码。
  • 它可以为 LoadLibrary / GetProcAddress / System 和 LoadLibrary / GetProcAddress 生成无 Shellcode 的 ROP 攻击。还有其他几个正在开发中,将在未来版本中发布。“无 Shellcode”ROP 的思路是避免绕过 DEP,直接调用类似 Shellcode 的功能。
  • 它内部利用 ROP 链的模拟(可能还会递归进行)来确定用作参数的某些指针(例如指向字符串或结构的指针)的距离。如果没有这个功能,自动链生成可能不可行。
  • 它利用单个 ROP gadget 的模拟来扩大攻击面。(目前尚未在所有 gadget 上全面部署。)这可以评估每个 ROP gadget,看哪些寄存器可能被破坏等。预计这方面会有更多进展。
  • 这使得 gadget 可以不管其地址中是否存在坏字节而被使用。例如,如果你需要一个 pushad,但地址中有坏字节,我们可以对其进行编码并在运行时解码,通过 push r32 / ret 来执行。(参见混淆选项。)提供了多种混淆方法,包括一种非常健壮的整数溢出,假设有可用的 gadget,它很可能不会失败。(如果你排除了所有 \x00 ,且每个 gadget 都包含它们,那就没办法了。)寄存器也可以被排除,从而防止“破坏”。
  • 针对 VirtualProtect 的替代 mov 解引用“狙击手”方法——适合那些需要避免 pushad 的场景。
  • 非常健壮的排除标准——基于 CFG、ASLR、Windows DLL、坏字节等进行排除。
  • 持久化——ROP ROCKET 在启动时会提取 x86 gadget。它们被保存在一个 .obj 文件中,因此每次打开时都会保留,使之前找到的 gadget 立即可用。生成新的攻击此时应该基本是瞬时的。注意:如果你提取了最多 0x22 字节,然后决定减少它,你需要清除这些并重新捕获;结果会自动保存。
  • Config.cfg 文件用于一些个人偏好的有用设置。
  • 还计划了一些其他新的独特功能。

高熵 ASLR 绕过

2025 年 8 月:ROP ROCKET 有一个 ASLR 绕过迷你工具,于 2025 年 8 月 10 日在 DEFCON 上发布,将生成九种针对 64 位高熵 ASLR 的绕过方式。

r_bypass1

ASLR Bypass Screenshot

安装说明

设置

这应该作为本地包安装。有一个 setup.py 文件。为此,只需进入目录并输入以下命令: py -m pip install -e ./ 根据你的 Python 安装,你可能需要稍微调整。如果你查看已安装的包,应该能看到 ROP-ROCKET 出现:py -m pip list 相信所有必需的依赖项都已包含,但如果你遇到任何问题——鉴于该版本的新颖性——只需打开一个 issue,我们会调查。

首次运行

只需从命令行运行它:py rop2.py rop_tester_syscall.exe 一个完全可利用的 rop_tester_syscall.exe 也作为 zip 文件包含在内。它开发的目的是为了帮助确保所有 gadget 都被找到,而不是遗漏。

历史

这个工具受到更老的 JOP ROCKET 的启发,JOP ROCKET 是我为博士论文的一部分编写的,并在 2019 年的 DEF CON 27 上发布。这导致了 JOP 的进一步发展和许多新的 JOP 能力,并在不同论文中提供了关于 JOP 机制和使用的广泛文档。该工具目前有点过时——它是较旧风格的 Python。通过这项新研究,部分灵感是尝试在 ROP 领域做一些新颖和不同的事情。到目前为止,我们已经履行了这一使命。所以某种程度上,这个工具受到一个 JOP 工具的启发,允许我们也许尝试跳出框框,以比通常使用 ROP 更非常规的方式进行思考。ROP ROCKET 没有任何 JOP 能力——它严格致力于 ROP。唯一完全专注于 JOP 的工具是 JOP ROCKET,其他所有东西都只是为未来的 JOP 工作预留了一个占位符。无论如何,我想澄清这些历史信息,以免名称的相似性使人困惑,因为这是两个截然不同且不相关的工具。

截图

image

ROCKET 生成了一个 Heaven's Gate x86 到 x64 攻击,将其打印到屏幕并保存。

image

ROCKET 为 Win 10/11 生成了一个 用于 NtProtectVirtualMemory 的 Windows 系统调用,将其打印到屏幕并保存。

image

凭借其内部模拟能力,ROCKET 可以考虑许多不寻常的 gadget 组合。上面的目的是捕获栈指针 (ESP),并将其移动到 ECX。它能够找到替代的方法来实现,而不是仅仅使用一个可能不可用的 ROP gadget。首先它将 esp 移动到 edi;然后将 edi 移动到 ebx;然后将 ebx 移动到 esi。ECX 通过整数溢出设置为零,然后将 esi(包含我们的栈指针)的值加到 ecx。结果是栈指针在 ecx 中。一个等效的更短的 gadget 是 mov ecx, esp # ret——但这并不总是可行。ROCKET 还正确处理了额外的 pop 指令,生成了正确的填充。注意 ROP ROCKET 仔细考虑了必须保护的寄存器(“排除的寄存器”),这些寄存器可能因 gadget 而异。在上面的例子中,没有我们试图保护的寄存器被“破坏”。

image

ROCKET 为捕获什么以及如何捕获 gadget 提供了许多选项。当然可以在 config.cfg 文件中设置默认值。这里用户决定只检查最多 0xa (15) 字节的内存块。

image

你不仅可以打印单个 ROP 链,还可以按类别打印所有找到的 gadget,例如 mov edx。有数百种可能性。你还可以通过更改每个 gadget 的行数来细化结果。

image

打印结果时,有许多不同类型的过滤器选项可以排除 gadget,例如 ASLR、CFG、Windows 系统 DLL 或简单的坏字节。这一切都 高度可定制。

image

有时你需要 混淆某个特定的 gadget,否则由于 gadget 地址中的坏字节,它可能无法使用。我们有多种选项,你也可以根据使用的寄存器或坏字节进行排除。

image 这里用户使用了混淆,在运行时动态解码 xor eax, edi # ret 的地址,假设否则他无法使用它。解码后,push r32 / ret 导致它立即被执行。这是一个使用由于坏字节而不可用的 gadget 的好方法。ROCKET 在几秒钟内完成此操作。它通过整数溢出做到这一点的能力几乎可以保证成功,假设没有坏字节或可用寄存器不足(即用户排除了太多寄存器)的问题。

致谢

该工具由 Dr. Bramwell Brizendine 创建并编写,始于 2023 年初。

Shiva Shashank Kusuma 作为研究生为 Dr. Bramwell Brizendine 工作,开发 ROP ROCKET 的模式。他做了宝贵的工作,并且是 DEFCON 和 Black Hat Arsenal 的共同演讲者。2025 年,Shiva 也开始为 ROP ROCKET 的编程做出贡献。

更新

2023 年 9 月 18 日 - 各种增强;进一步支持导致 Windows 系统调用的远跳转的变体方式。

2024 年 3 月 - 许多重要的更新,大致定期进行——如果你打算积极使用 ROP ROCKET,请尽量保持最新的副本。不会列出单独的更改。小的更改和更新可能会持续进行。只有主要的新功能会被描述。(一些小的新功能已经添加。) 2024 年 3 月下旬至 4 月 3 日 - 对模拟进行了广泛更新,以提高效率;支持更多可能的选项以生成单个 gadget;修复错误;通过 pushad 新发布了 VirtualAlloc 和 VirtualProtect。虽然其他工具之前已经提供了 VirtualProtect 和 VirtualAlloc 的支持,这也是为什么我们之前没有提供,但现在我们认为不包含这些功能将是一种疏忽,尤其是这些功能可以通过该工具的能力得到增强。创建了通过 pushad 实现 VirtualAlloc 和 VirtualProtect 的完整模板,其中也包括了 shellcode(弹出计算器)。

2024 年 5 月 - 对 Windows 系统调用进行了大规模改造,极大地扩展了在真实世界二进制文件中可以找到的内容。即使是冗长的、不理想的泄漏 FS 寄存器(在 SysWow64 中进行 Windows 系统调用所需的,即 32 位)的 gadget 也可以以自动化的方式处理。其他许多小的增强。

2025 年 6 月 28 日 - 大规模更新,包括支持 ROP ROCKET 中以前未包含的 17 个新 WinAPI。增加了定义初始溢出量的能力——这很重要,因为它会影响在进行模拟时对字符串或指针的运算。

下载工具