{"id":13846090,"url":"https://github.com/nankeen/pwndocker","last_synced_at":"2026-01-16T19:36:22.196Z","repository":{"id":121160482,"uuid":"252719126","full_name":"nankeen/pwndocker","owner":"nankeen","description":"Docker tools for CTF pwning 👩🏻‍💻👨🏻‍💻🚩","archived":false,"fork":false,"pushed_at":"2024-09-09T21:00:15.000Z","size":2756,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-09-10T01:47:33.823Z","etag":null,"topics":["ctf","docker","exploit-developers","gadget","gdb","libc","linux","pwn","seccomp"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nankeen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-03T11:57:44.000Z","updated_at":"2024-09-09T21:00:18.000Z","dependencies_parsed_at":"2024-02-21T10:58:40.679Z","dependency_job_id":null,"html_url":"https://github.com/nankeen/pwndocker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nankeen%2Fpwndocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nankeen%2Fpwndocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nankeen%2Fpwndocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nankeen%2Fpwndocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nankeen","download_url":"https://codeload.github.com/nankeen/pwndocker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225791548,"owners_count":17524804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ctf","docker","exploit-developers","gadget","gdb","libc","linux","pwn","seccomp"],"created_at":"2024-08-04T17:04:20.077Z","updated_at":"2026-01-16T19:36:22.154Z","avatar_url":"https://github.com/nankeen.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"Pwndocker\n=========\n\nA Docker environment for CTF pwning based on a modified Ubuntu 20.04 `phusion/baseimage:master-amd64`.\n\nForked from [skysider/pwndocker](https://github.com/skysider/pwndocker).\n\n![Screenshot](screenshot.png \"Example of it in action\")\n\n## Usage\n\n```shell\n$ docker run --rm -v \"$PWD\":/ctf/work \\\n  --cap-add=SYS_PTRACE -it pwndocker:latest\n```\n\n### Included software\n\n- [pwntools](https://github.com/Gallopsled/pwntools) —— CTF framework and exploit development library\n- [pwndbg](https://github.com/pwndbg/pwndbg) —— A GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers\n- [pwngdb](https://github.com/scwuaptx/Pwngdb) —— GDB for pwn\n- [ROPgadget](https://github.com/JonathanSalwan/ROPgadget) —— Facilitate ROP exploitation tool\n- [roputils](https://github.com/inaz2/roputils)\t—— A Return-oriented Programming toolkit\n- [one_gadget](https://github.com/david942j/one_gadget) —— A searching one-gadget of execve('/bin/sh', NULL, NULL) tool for amd64 and i386\n- [z3](https://github.com/Z3Prover/z3) —— The Z3 Theorem Prover\n- [angr](https://github.com/angr/angr) ——  A platform-agnostic binary analysis framework\n- [radare2](https://github.com/radare/radare2) ——  A rewrite from scratch of radare in order to provide a set of libraries and tools to work with binary files\n- [seccomp-tools](https://github.com/david942j/seccomp-tools) —— Provide powerful tools for seccomp analysis\n- [tmux](https://tmux.github.io/)\t—— A terminal multiplexer\n- [ltrace](https://linux.die.net/man/1/ltrace) —— Trace library function call\n- [strace](https://linux.die.net/man/1/strace) —— Trace system call\n- [qemu](https://www.qemu.org/) —— A generic and open source machine emulator and virtualizer\n\n### Included glibc\n\nDefault compiled glibc path is `/glibc`.\n\n- 2.19 —— Ubuntu 12.04 default libc version\n- 2.23 —— Ubuntu 16.04 default libc version\n- 2.24 —— Introduce vtable check in file struct\n- 2.27 —— Pwndocker default glibc version\n- 2.28~2.31 —— Latest libc versions\n\n#### Running custom libc versions\n\n`ld.so` files for each libc version can be found in their respective folders under `/glibc/\u003cversion\u003e/\u003carch\u003e/lib/ld-\u003cversion\u003e.so`.\n\n```shell\n$ cp /glibc/2.27/64/lib/ld-2.27.so /tmp/ld-2.27.so\n$ patchelf --set-interpreter /tmp/ld-2.27.so ./test\n$ LD_PRELOAD=./libc.so.6 ./test\n```\n\nor\n\n```python\nfrom pwn import *\np = process([\"/path/to/ld.so\", \"./test\"], env={\"LD_PRELOAD\":\"/path/to/libc.so.6\"})\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnankeen%2Fpwndocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnankeen%2Fpwndocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnankeen%2Fpwndocker/lists"}