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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
dirtypipe — Rust로 작성된 DirtyPipe (CVE-2022-0847) 익스플로잇 | Kitploit
도구/GitHubGitHub/morgenm/dirtypipe
Privilege EscalationExploitationShellcodeLearning & EducationPayload DevelopmentBinary Exploitation
GitHubmorgenm/dirtypipe

dirtypipe

Rust로 작성된 DirtyPipe (CVE-2022-0847) 익스플로잇

저장소 보기
11년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

면책 조항

이 코드는 교육 및 연구 목적으로만 사용됩니다.

소유 권한이 없거나 테스트 허가를 받지 않은 시스템에는 사용하지 마십시오.

저자는 이 코드의 사용으로 인한 어떠한 오용, 손해 또는 법적 책임도 지지 않습니다.

DirtyPipe (CVE-2022-0847)

이 익스플로잇에 대한 분석 글은 블로그에서 확인하세요. 이는 Rust로 작성된 DirtyPipe (CVE-2022-0847) 익스플로잇 구현체로, Max Kellermann의 분석 글을 기반으로 합니다. 이 프로그램은 특정 파일을 덮어쓰거나 SUID 바이너리를 덮어써서 권한을 상승시킬 수 있습니다.

특징

  • 커널 버전이 취약한지 확인
  • 지정된 입력 파일의 데이터로 모든 파일을 덮어쓰기
  • SUID 바이너리(기본값 passwd)를 덮어써서 root 권한 획득
  • 공격 전 대상 파일을 /tmp에 백업

사용법

파일 덮어쓰기

먼저 입력 파일을 만듭니다. 이 파일의 데이터를 사용하여 대상을 덮어씁니다. 그런 다음 다음 명령을 실행하세요:

root@kitploit:~
./dirtypipe_exploit -m overwrite -i input.txt -o target_file -b offset

여기서 offset은 파일에서 쓰기를 시작할 바이트 오프셋입니다. 취약점의 특성상 오프셋이 페이지 경계에 있으면 안 되며, 쓰기가 페이지 경계를 넘을 수 없습니다.

권한 상승을 위한 SUID

SUID 모드는 지정된 SUID 바이너리를 주어진 ELF 페이로드로 교체합니다. suid ELF는 이 저장소의 릴리스에 포함되어 있으며, 옵션에서 따로 지정하지 않으면 익스플로잇이 이를 사용합니다. 또한, 직접 생성하거나 gen_suid.py pwntools 스크립트와 loader.asm 파일을 사용하여 페이로드를 수정할 수도 있습니다. 이 옵션은 아래에서 설명합니다. 익스플로잇은 기본적으로 대상을 /usr/bin/passwd로 설정합니다.

다음 명령을 실행하여 /usr/bin/passwd를 제공된 페이로드(root 셸을 생성)로 교체하세요:

root@kitploit:~
./dirtypipe_exploit -m suid

그런 다음 /usr/bin/passwd를 실행하면 root 셸을 얻을 수 있습니다.

자체 페이로드를 생성하려면 다음 단계를 따르세요:

  1. gen_suid.py 스크립트를 실행합니다. 이 스크립트는 pwntools를 사용하여 root 셸을 생성하는 페이로드(shellcode.bin)를 만듭니다. 필요에 따라 수정하세요.
  2. nasm -f bin -o [PAYLOAD_NAME] loader.asm을 실행하여 ELF 바이너리 페이로드를 생성합니다. 이 명령은 shellcode.bin 파일을 실행 파일로 변환합니다.
  3. ./dirtypipe_exploit -m suid -i [PAYLOAD_NAME] -o [TARGET_FILE]을 실행합니다.
  4. 대상을 실행하여 root 권한을 얻습니다.

64비트 Tiny ELF 헤더(여기)를 제공해 주신 STALKR's BLOG의 저자께 감사드립니다.

도구 다운로드