MrEx-Right/exploitlab
GitHub: MrEx-Right/exploitlab
一款轻量级的 Python 漏洞利用开发库,专为 CTF 和二进制漏洞研究设计,提供从 ELF 分析到 exploit 构建的完整工具链。
Stars: 1 | Forks: 0
# ExploitLab 🧪
一个现代、轻量级且强大的漏洞利用开发库,专为漏洞研究、CTF 和漏洞利用工程设计。
为速度和简洁性而生,摒弃了其他库中臃肿的功能,同时保留了获取 shell 所需的核心功能。
## [](https://www.gnu.org/licenses/gpl-3.0)
[](https://pypi.org/project/exploitlab/)
## 🚀 特性
- **通道 (`Process`, `Remote`)** — 与本地二进制文件和远程网络套接字的无缝 I/O 通信。包括非阻塞的 `.interactive()` shell。
- **ELF 分析** — 使用 `pyelftools` 快速解析二进制符号、GOT/PLT 地址以及进行内存搜索。
- **汇编与 Shellcode** — 使用 `keystone-engine` 进行即时汇编编译,并提供现成的 shellcode 模板。
- **内存打包** — 稳健的 `p32`、`p64`、`u32`、`u64` 转换。
- **模式生成** — De Bruijn 循环模式生成器(`cyclic`、`cyclic_find`),可瞬间找到缓冲区溢出偏移量。
- **上下文管理** — 全局架构(`amd64`、`i386`)和彩色日志记录配置。
## 📦 安装
```
pip install exploitlab
```
## 🛠️ 快速入门
以下是如何使用 ExploitLab 解决经典缓冲区溢出挑战的快速示例:
```
from exploitlab import *
# 1. 设置全局上下文 (如果加载了 ELF 则自动调整)
context.arch = 'amd64'
# 2. 分析 binary
e = ELF('./target_binary')
log.info(f"Target 'win' function is at: {hex(e.symbols['win'])}")
# 3. 启动进程 (或使用 Remote('10.10.10.10', 1337))
p = Process('./target_binary')
# 4. 构建 payload
offset = 40
payload = b"A" * offset
payload += p64(e.symbols['win']) # Convert address to bytes
# 5. Exploit!
p.recvuntil(b"Enter payload: ")
p.sendline(payload)
# 6. 享受你的 shell
p.interactive()
```
## 📚 官方文档
需要完整的 API 参考、异常处理和详细示例吗?我们为您准备好了。
完整且官方的 **ExploitLab 文档** 以综合 PDF 文件的形式提供。
### [ExploitLab 文档 (PDF)](https://github.com/MrEx-Right/exploitlab/tree/main/docs/exploitlabdoc_v0.2.0.pdf)
祝您 Hacking 愉快!🧪
标签:ELF解析, exploit-dev, Go语言工具, GPLv3, keystone-engine, Payload生成, Pwn, pyelftools, Python 3.9+, ROP链, Shellcode编写, 二进制分析, 云安全运维, 云资产清单, 内存布局分析, 情报收集, 汇编引擎, 漏洞利用开发, 漏洞利用框架, 漏洞研究, 缓冲区溢出, 网络安全, 逆向工具, 逆向工程, 隐私保护