Agent Skills
返回列表
🔒

二进制保护绕过

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/binary-protection-bypass-lr-1raw 技能到当前 AI 助手。

技能介绍

要解决的问题

现代编译后的二进制不会只依赖一种防护。ASLR、PIE、NX、RELRO、canary、FORTIFY_SOURCE 等机制会同时生效,结果是同一个漏洞可能被某一项防护拦住,却又因为另一项配置或可用泄漏而绕过。更麻烦的是组合效应:例如 NX 会逼你转向 ROP 或 ret2libc,ASLR 又要求你先泄漏地址,RELRO 是否完整还会改变 GOT 覆写路线是否可行。

核心能力与工作方式

  • 系统梳理防护项:覆盖 ASLR、PIE、NX、RELRO、canary、FORTIFY_SOURCE、stack clash、CET shadow stack、ARM MTE。
  • 将每类防护与其绕过方法和所需原语对应起来,而不是泛泛罗列编译选项。
  • 强调组合判断:先看某项防护挡住了什么,再看需要什么泄漏或写原语,最后判断多项防护叠加后是否仍存在可走通的路径。
  • 提供路由:需要 ROP / ret2libc 时关联 stack-overflow-and-rop;需要泄漏 canary、PIE 或 libc 地址时关联 format-string-exploitation;RELRO 影响 GOT 时关联 heap-exploitation 与 arbitrary-write-to-rce。
  • 需要完整矩阵时加载 PROTECTION_BYPASS_MATRIX.md,按 protection × bypass × primitive 查看。

适用边界与注意点

它适合 CTF、漏洞研究和二进制利用路径分析,但不能替代对具体目标的动态确认。成功与否取决于编译器、libc、内核、硬件特性、泄漏点、RWX 段、RELRO 是 partial 还是 full、GOT 是否只读、canary 是否可泄漏等因素。使用时应先确认实际启用的 mitigations 和已有原语,再选择绕过路线;不要把矩阵当成万能利用脚本。

使用场景

  • 逆向一个开了 PIE 和 NX 的 ELF 时,需要先确认启用了哪些防护,再选 ROP 或 ret2libc 绕过路线。
  • 挖到格式化字符串漏洞但目标有 canary 时,需要判断能否先泄漏 canary 再走覆写流程。
  • CTF Pwn 题里二进制是 partial RELRO,需要对照 GOT 是否可写来决定覆写目标与后续原语。
  • 面对启用 CET shadow stack 或 ARM MTE 的二进制,需要确认哪些经典栈攻击已失效、该改用什么原语。

适合人员

  • CTF Pwn 参赛者,拿到题目后需要快速确认缓解机制并确定绕过路线
  • 漏洞研究员,分析真实二进制时需要判断多项防护叠加下哪些利用路径仍然可行
  • 逆向工程师,阅读加固后的 ELF 时需要对照防护项与绕过方法解释反汇编结果
  • 二进制安全讲师,备课时需要按 protection × bypass × primitive 组织讲解结构