heimao-box/pwnpasi
GitHub: heimao-box/pwnpasi
PwnPasi 是一个专为 CTF 竞赛和安全研究设计的自动化二进制漏洞利用框架,支持对 32/64 位程序进行智能漏洞检测并自动生成绕过多种安全防护机制的利用代码。
Stars: 361 | Forks: 31
# 🚀 PwnPasi 3.1
**专业自动化二进制漏洞利用框架**
[](https://github.com/heimao-box/pwnpasi)
[](https://www.python.org/)
[](LICENSE)
[](https://github.com/heimao-box/pwnpasi)
## 🎯 什么是 PwnPasi?
PwnPasi 是一个**前沿的自动化二进制漏洞利用框架**,专为 CTF 竞赛和安全研究而设计,PwnPasi 将复杂的二进制漏洞利用转变为自动化、精简的流程。
### ✨ 主要特性
🔍 **智能漏洞检测**
- 自动栈溢出检测,具备动态 padding 计算
- 格式化字符串漏洞识别与利用
- 二进制保护分析(RELRO, Stack Canary, NX, PIE)
- 针对漏洞函数的汇编代码分析
- 自动生成报告
⚡ **高级漏洞利用技术**
- **ret2system**:直接 system 函数调用
- **ret2libc**:通过 libc 地址泄露绕过 ASLR
- **ROP Chain Construction**:自动化 gadget 发现与链接
- **Syscall Exploitation**:execve 系统调用链
- **Shellcode Injection**:RWX 段利用
- **Stack Canary Bypass**:格式化字符串 canary 泄露
- **PIE Bypass**:位置无关可执行文件绕过
🏗️ **多架构支持**
- **x86 (32-bit)**:完整的 32 位利用链
- **x86_64 (64-bit)**:全面的 64 位利用支持
- **Auto-detection**:智能架构识别
🌐 **灵活部署**
- **Local Mode**:直接二进制文件利用
- **Remote Mode**:网络服务目标
- **Hybrid Approach**:无缝的本地到远程切换
## 🚀 快速开始
### 安装
```
# Clone the repository
git clone https://github.com/heimao-box/pwnpasi.git
cd pwnpasi
# Run the automated setup
python setup.py
```
安装脚本将自动:
- 安装系统依赖(Kali/Debian)
- 设置 Python 包(pwntools, LibcSearcher, ropper)
- 配置环境
- 将 pwnpasi 添加到系统 PATH(可选)
### 基本用法
```
# Analyze local binary
python pwnpasi.py -l ./target_binary
# Remote exploitation
python pwnpasi.py -l ./binary -ip 192.168.1.100 -p 9999
# Custom libc and padding
python pwnpasi.py -l ./binary -libc ./libc-2.19.so -f 112
```
## 💡 使用示例
### 🎪 本地二进制分析
```
# Comprehensive local analysis
python pwnpasi.py -l ./vuln_binary
```
### 🌍 远程服务利用
```
# Target remote CTF service
python pwnpasi.py -l ./local_binary -ip ctf.example.com -p 31337
```
### 🔧 高级配置
```
# Specify custom libc and manual padding
python pwnpasi.py -l ./binary -libc /lib/x86_64-linux-gnu/libc.so.6 -f 88 -v
```
## 📋 命令行选项
| 选项 | 描述 | 示例 |
|--------|-------------|----------|
| `-l, --local` | 目标二进制文件(必需) | `-l ./vuln_app` |
| `-ip, --ip` | 远程目标 IP 地址 | `-ip 192.168.1.100` |
| `-p, --port` | 远程目标端口 | `-p 9999` |
| `-libc, --libc` | 自定义 libc 文件路径 | `-libc ./libc-2.27.so` |
| `-f, --fill` | 手动溢出 padding 大小 | `-f 112` |
| `-v, --verbose` | 启用详细输出 | `-v` |
## 🛠️ 技术库
### 核心依赖
- **pwntools** - 终极 CTF 框架
- **LibcSearcher** - Libc 数据库和版本检测
- **ropper** - 高级 ROP gadget 发现
- **checksec** - 二进制安全特性分析
### 系统工具集成
- **objdump** - 汇编分析与反汇编
- **strings** - 字符串提取与分析
- **ldd** - 动态库依赖映射
- **gdb** - 高级调试功能
## 🎨 输出预览
https://github.com/user-attachments/assets/1395d646-eeeb-4342-8b93-e05eed282b92
## 🏆 为什么选择 PwnPasi?
### 🎯 **精准与自动化**
不再需要手动寻找 gadget 或计算地址。PwnPasi 以手术般的精准度自动化整个利用流程。
### 🚀 **速度与效率**
从漏洞检测到获取 shell 只需几秒,而非几小时。非常适合时间紧迫的 CTF 场景。
### 🧠 **智能与适应性**
智能回退机制确保在不同二进制配置和保护方案下实现最大成功率。
## 🤝 贡献
我们欢迎贡献!无论是:
- 🐛 错误报告与修复
- ✨ 新的利用技术
- 📚 文档改进
- 🔧 性能优化
## 📜 许可证
本项目采用 MIT 许可证 - 详情请参阅 [LICENSE](LICENSE) 文件。
## ⚠️ 免责声明
PwnPasi 仅供**教育目的**和**授权安全测试**使用。用户有责任确保遵守适用的法律法规。开发者不对滥用本工具承担任何责任。
**由 Ba1_Ma0 用 ❤️ 制作**
*如果 PwnPasi 帮助你 pwn 掉了一些二进制文件,请给这个仓库点个星 ⭐!*
标签:ASLR绕过, Hakrawler, NX绕过, PIE绕过, PWN, ret2libc, ret2system, ROP链, Shellcode, Stack Canary, 二进制漏洞利用, 技术调研, 栈溢出, 格式化字符串, 网络安全, 自动化框架, 逆向工具, 隐私保护