PwnSandboxForCTF
Yet another sandbox for CTF challenge in AWD mode
This is a ptrace sandbox. (It was a chroot sandbox)
It will send SIG_KILL under certain circumstances:
- Child process attempting to open files with 'flag' in its name by open/openat/name_to_handle_at. (/tmp/asdflagasd etc.)
- Child process attempting to create a symlink or hardlink for file with 'flag' in its name by symlink/symlinkat/link.
- Child process attempting to call illegal syscall. (execve/execveat/stub_execveat)
ELF64 and ELF32 supported, including PIE
Installation
pip install pwnsandbox
or
python setup.py install
It will install a console script 'pwn_sandbox'.
Usage
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
There will be a binary output named binary_sandbox in your binary's folder
Requirement
- python 2.7
- pwntools
liefAlready included in project cause newest lief sucks.
Known issues
Centos NOT supported- Might crash on ELF contains multi loadable segments. (I haven't seen this type of ELF yet)
- Sandbox might be bypassable, but it isn't designed as an impenetrable shield anyway. (issues are welcome.)
- DO NOT use newest lief or you will be fucked when processing non-pie ELF32 file.
TODO
Find a clean method to jump back to oepNew method to support centos
Changelog
[0.3] - 2019-01-08
Added
- Various bug fix.
- Add more syscall in filter scope.
[0.2] - 2019-01-07
Added
- Update project description.
- Revert lief version.
[0.1] - 2019-01-05
Added
- Reconstruct project.
- Initial ptrace sandbox.
Release files for pwnsandbox 0.31
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pwnsandbox-0.31.tar.gz | 1.8 MB | Details |
Release files / pwnsandbox-0.31.tar.gz
| Download URL | pwnsandbox-0.31.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec9fec1de095eaddf985e750dfc2502e9c65cf3d286767633f34e7580f78dbca
|
|
BLAKE2b-256 checksum How to use checksums |
62d53717cf58b58030c9748f71a657a143a67e1e23203cb256e89936b2e1303b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15rc1
|