
CTF 프레임워크 및 익스플로잇 개발 라이브러리

Pwntools는 CTF 프레임워크이자 익스플로잇 개발 라이브러리입니다. Python으로 작성되었으며, 빠른 프로토타이핑과 개발을 위해 설계되었고 익스플로잇 작성은 가능한 한 간단하게 만드는 것을 목표로 합니다.
from pwn import *
context(arch = 'i386', os = 'linux')
r = remote('exploitme.example.com', 31337)
# EXPLOIT CODE GOES HERE
r.send(asm(shellcraft.sh()))
r.interactive()
문서는 docs.pwntools.com에서 확인할 수 있습니다.
일련의 튜토리얼도 온라인으로 제공됩니다.
시작을 돕기 위해, 과거 CTF 도전 과제에 대한 몇 가지 예제 솔루션을 write-up 저장소에 제공했습니다.
Pwntools는 64비트 Ubuntu LTS 릴리스(22.04 및 24.04)에서 가장 잘 지원됩니다. 대부분의 기능은 모든 Posix 계열 배포판(Debian, Arch, FreeBSD, OSX 등)에서 작동합니다.
Pwntools는 버전 5.0.0부터 Python 3.10+를 지원합니다. 이전 버전 및 Python 2.7에는 Pwntools 4.x를 사용하세요. pwntools의 대부분의 기능은 자체 포함되어 있으며 Python 전용입니다. 다음 명령으로 빠르게 실행할 수 있습니다.
sudo apt-get update
sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools
그러나 일부 기능(외부 아키텍처의 어셈블/디스어셈블)은 Python이 아닌 종속성이 필요합니다. 자세한 내용은 전체 설치 지침을 여기에서 확인하세요.
CONTRIBUTING.md를 참조하세요.
버그 리포트를 작성할 만큼 중요하지 않은 질문이 있다면 https://discord.gg/96VA2zvjCB의 Discord 서버에 참여하세요.