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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2022-0847 — CVE-2022-0847(Dirty Pipe)에 대한 개념 증명 익스플로잇으로, 읽기 전용 파일에 대한 비권한 쓰기와 권한 상승을 가능하게 하는 Linux 커널 경쟁 조건입니다. | Kitploit
도구/GitHubGitHub/vudangducminh/cve-2022-0847
Privilege EscalationVulnerability AnalysisExploitationPapers & ResearchLearning & EducationBinary Exploitation
GitHubvudangducminh/cve-2022-0847

CVE-2022-0847

CVE-2022-0847(Dirty Pipe)에 대한 개념 증명 익스플로잇으로, 읽기 전용 파일에 대한 비권한 쓰기와 권한 상승을 가능하게 하는 Linux 커널 경쟁 조건입니다.

저장소 보기
1일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2022-0847 - Dirty Pipe 익스플로잇

CVE-2022-0847(Dirty Pipe)에 대한 개념 증명 익스플로잇으로, 권한이 없는 사용자가 읽기 전용 파일에 쓸 수 있게 해주는 Linux 커널 취약점입니다.

취약점 세부 정보

CVE-2022-0847은 Linux 커널 5.8부터 5.16까지에 영향을 미칩니다. Linux 커널의 pipe 구현에서 발생하는 경쟁 조건(race condition)을 악용하여 메모리에 캐시된 읽기 전용 파일 페이지에 임의의 데이터를 씁니다.

영향

  • 권한 상승 (/etc/passwd 수정)
  • 시스템 파일 덮어쓰기
  • 읽기 전용 실행 파일에 악성 코드 주입
  • 취약한 커널에서의 완전한 시스템 장악

프로젝트 구조

root@kitploit:~
.
├── src/
│   └── exploit.c          # Dirty Pipe exploit source code
├── run.sh                  # QEMU test environment launcher
├── initramfs/              # Root filesystem for testing
├── debugfs.cpio            # Compressed initramfs
└── README.md               # This file

익스플로잇 빌드

사전 요구 사항

  • GCC 컴파일러
  • libelf-dev (커널 빌드용)
  • QEMU (선택 사항, 테스트용)
  • Linux 5.10.1 커널 소스 (설정에 포함됨)

컴파일

root@kitploit:~
gcc ./src/exploit.c -o ./src/exploit -static -pthread

익스플로잇 실행

QEMU 테스트 환경에서

root@kitploit:~
./run.sh
# Inside QEMU shell:
/home/exploit
cat /etc/passwd  # Verify password hash was written
su root          # Switch to root (no password needed after exploit)

취약한 시스템에서 (Linux 5.8-5.16)

root@kitploit:~
./src/exploit

이 익스플로잇은 /etc/passwd를 수정하여 알려진 비밀번호 해시를 가진 root 사용자를 주입합니다.

기술적 세부 사항

이 익스플로잇은 다음과 같이 동작합니다:

  1. pipe 생성 후 데이터로 채워 PIPE_BUF_FLAG_CAN_MERGE 플래그를 설정
  2. splice() 사용하여 파일 페이지를 pipe 버퍼에 연결
  3. pipe에 쓰기하여 데이터를 파일 페이지에 병합
  4. 경쟁 조건을 악용하여 쓰기 보호 우회

이를 통해 COW(Copy-on-Write)를 트리거하지 않고 읽기 전용 메모리 페이지에 쓸 수 있습니다.

테스트 환경

  • 커널: Linux 5.10.1
  • Busybox: 1.36.0
  • 에뮬레이터: QEMU x86_64

완화 방안

  • Linux 커널을 버전 5.17 이상으로 업데이트
  • 영향을 받는 버전에 백포트 패치 적용
  • 가능한 경우 /proc/self/mem에 대한 접근 제한

참고 자료

  • CVE-2022-0847 NVD
  • Original POC
  • Dirty Pipe Technical Analysis

면책 조항

이 익스플로잇은 교육 및 승인된 보안 테스트 목적으로만 사용됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다.

작성자

Minh Vu ([email protected])

도구 다운로드