又一个普华永道沙箱在CTF!
pwnsandbox的Python项目详细描述
pwnsandboxforctf
在awd模式下,ctf挑战的又一个沙盒
这是一个ptrace沙盒。(这是一个chroot沙箱)
它会在某些情况下发送sig_kill:
- 子进程试图通过open/open at/name_to_handle_at打开名为“flag”的文件。(/tmp/asdflagasd等)
- 子进程试图通过symlink/symlinkat/link为名称中带有“flag”的文件创建symlink或硬链接。
- 子进程试图调用非法的系统调用。(执行/执行/存根执行)
支持elf64和elf32,包括pie
安装
pip install pwnsandbox
或
python setup.py install
它将安装控制台脚本“pwn_sandbox”。
用法
usage: pwn_sandbox [-h] input_bin Yet another pwn sandbox for CTF by @unamer(https://github.com/unamer) positional arguments: input_bin /path/to/your/input binary optional arguments: -h, --help show this help message and exit
二进制文件的文件夹中将有一个名为binary_sandbox的二进制输出
要求
- python 2.7版
- pwntools
lief已包含在项目中,原因是最新的liefsucks。
已知问题
不支持centos- 可能在包含多个可加载段的elf上崩溃。(我还没见过这种精灵)
- 沙盒可能是可以绕过的,但它并不是设计成一个不可穿透的盾牌。(欢迎发表。)
- 不要使用最新的lief,否则在处理非pie elf32文件时,你会被搞砸的。
待办事项
找到一个干净的方法跳回oep支持centos的新方法
更改日志
[0.3]-2019-01-08
已添加
- 各种错误修复。
- 在筛选器作用域中添加更多系统调用。
[0.2]-2019-01-07
已添加
- 更新项目说明。
- 还原LIEF版本。
[0.1]-2019-01-05
已添加
- 重建项目。
- 初始ptrace沙盒。