Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pwninit — ELF 바이너리를 패치하고, 일치하는 링커를 가져오고, libc를 언스트리핑하고, pwntools 솔버 스크립트를 생성하여 바이너리 익스플로잇 챌린지 설정을 자동화합니다. | Kitploit
도구/GitHubGitHub/io12/pwninit
ExploitationReverse EngineeringScripting & AutomationCTFBinary Exploitation
GitHubio12/pwninit

pwninit

ELF 바이너리를 패치하고, 일치하는 링커를 가져오고, libc를 언스트리핑하고, pwntools 솔버 스크립트를 생성하여 바이너리 익스플로잇 챌린지 설정을 자동화합니다.

저장소 보기
1.1k7927일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Checks Status Deploy Status

pwninit

바이너리 익스플로잇 챌린지 시작을 자동화하는 도구

기능

  • 챌린지 바이너리를 실행 가능하게 설정
  • 제공된 libc를 세그폴트 없이 로드할 수 있는 링커(ld-linux.so.*) 다운로드
  • 디버그 심볼을 다운로드하고 libc 언스트립
  • 제공된 libc에 맞는 올바른 RPATH와 인터프리터를 사용하도록 patchelf로 바이너리 패치
  • 템플릿 pwntools solve 스크립트 작성

사용법

간단한 버전

pwninit 실행

자세한 버전

관련 파일이 있는 디렉터리에서 pwninit을 실행하면 어떤 파일이 바이너리, libc, 링커인지 감지합니다. 감지가 잘못된 경우 --bin, --libc, --ld로 위치를 지정할 수 있습니다.

사용자 지정 solve.py 템플릿

기본 템플릿이 마음에 들지 않으면 직접 만든 템플릿을 사용할 수 있습니다. --template-path <path>를 지정하기만 하면 됩니다. 템플릿 형식은 template.py를 확인하세요. exe, libc, ld 바인딩의 이름은 --template-bin-name, --template-libc-name, --template-ld-name으로 사용자 지정할 수 있습니다.

사용자 지정 solve.py 영구 적용

~/.bashrc에 별칭을 추가하면 pwninit이 사용자 지정 템플릿을 자동으로 로드하게 할 수 있습니다.

예시
root@kitploit:~
alias pwninit='pwninit --template-path ~/.config/pwninit-template.py --template-bin-name e'

설치

Arch Linux

AUR에서 pwninit 또는 pwninit-bin을 설치하세요.

다운로드

정적으로 링크된 musl 바이너리를 릴리스 페이지에서 다운로드할 수 있습니다.

cargo 사용

root@kitploit:~
cargo install pwninit

이렇게 하면 바이너리가 ~/.cargo/bin에 설치됩니다.

빌드에는 openssl, liblzma, pkg-config가 필요합니다.

예시

root@kitploit:~
$ ls
hunter  libc.so.6  readme

$ pwninit
bin: ./hunter
libc: ./libc.so.6

setting ./hunter executable
fetching linker
https://launchpad.net/ubuntu/+archive/primary/+files//libc6_2.23-0ubuntu10_i386.deb
unstripping libc
https://launchpad.net/ubuntu/+archive/primary/+files//libc6-dbg_2.23-0ubuntu10_i386.deb
setting ./ld-2.23.so executable
copying ./hunter to ./hunter_patched
running patchelf on ./hunter_patched
writing solve.py stub

$ ls
hunter	hunter_patched	ld-2.23.so  libc.so.6  readme  solve.py

solve.py:

root@kitploit:~
#!/usr/bin/env python3

from pwn import *

exe = ELF("./hunter_patched")
libc = ELF("./libc.so.6")
ld = ELF("./ld-2.23.so")

context.binary = exe


def conn():
    if args.LOCAL:
        r = process([exe.path])
        if args.GDB:
            gdb.attach(r)
    else:
        r = remote("addr", 1337)

    return r


def main():
    r = conn()

    # good luck pwning :)

    r.interactive()


if __name__ == "__main__":
    main()
도구 다운로드