<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
lielingai/zhishi/pwn
──Details
PublishedOctober 21, 2026 at 11:42 PM
Content Hashsha256:31e25658e062c325...
Git SHA4de972dc2b54
──Files
Files (1 file, 2.5 KB)
SKILL.md2.5 KBactive
SKILL.md · 68 lines · 2.5 KB

version: "1.0.0" name: pwn description: 二进制利用(pwn)研究环境。当任务是 0day 挖掘、1day 复现、漏洞利用开发、二进制逆向分析、exp 编写调试时使用——内置 gdb+pwndbg、pwntools(checksec/cyclic 随附)、ROPgadget、one_gadget、seccomp-tools、patchelf/pwninit + libc-database/glibc-all-in-one(换 libc 调试链)、socat 的完整利用链工具集,目标二进制经工作区挂载进环境分析。 base: docker tools:

  • gdb
  • ROPgadget
  • checksec
  • cyclic
  • pwn
  • patchelf
  • pwninit
  • seccomp-tools
  • one_gadget
  • socat
  • nc
  • python3

pwn —— 二进制利用研究环境

何时用

1day 复现、漏洞利用开发(exp 编写)、二进制保护分析与调试。样本/目标二进制放进工作区即可在环境内分析。

怎么进

zhishi env up pwn
zhishi env open <id> # 或 docker exec -it <container> bash

工作区挂载在 /workspace。

标准工作流

bash
cd /workspace
checksec --file=./vuln # ① 看保护:NX/Canary/PIE/RELRO(pwntools 自带)
gdb ./vuln # ② pwndbg 自动加载:cyclic 200 定偏移、vmmap 看布局
python3 exp.py # ③ pwntools 写 exp

pwntools exp 骨架:

python
from pwn import *
context.log_level = 'debug'
p = process('./vuln') # 本地调试;远程换 remote('host', port)
# p.sendlineafter(b'>', payload)
p.interactive()
  • 找 gadget:ROPgadget --binary ./vuln --ropchain;glibc 场景 one_gadget /opt/libc-database/db/libc6_*.so(one_gadget 仅支持 glibc ≤ 2.35,更高版本用 ROPgadget 凑链)
  • seccomp 沙箱分析:seccomp-tools dump ./vuln
  • 换 libc 调试:pwninit --bin ./vuln --libc ./libc.so.6 --ld ./ld-linux-x86-64.so.2(自动 patchelf + 补符号);缺对应版本 libc 去 /opt/libc-database(./get 按需下载)或 /opt/glibc-all-in-one 取
  • 起服务给 exp 打:socat TCP-LISTEN:1337,reuseaddr,fork EXEC:./vuln
  • 远程靶机:nc host port 或 exp 里 remote()——出向网络按任务授权来

结果怎么采

exp 脚本、cyclic pattern 分析、崩溃现场(core/寄存器快照)都落 /workspace——gdb 里 generate-core-file 直接把 core 留在工作区。

怎么收尾

zhishi env down <id>。调试中想保现场:docker commit <container> zhishi-pwn-snapshot 后再 down;下轮 docker run 从快照镜像起。有效的工具组合/套路用 zhishi research log 记下来,蒸馏弧会沉淀。

All versions