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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CTF-CVE-2022-0847 — CTF 챌린지: CVE-2022-0847 (Dirty Pipe) 익스플로잇을 배포하여 읽기 전용 파일을 덮어씁니다. 커널 익스플로잇 연습을 위한 설정 스크립트, 힌트 및 검증 기능을 포함합니다. | Kitploit
도구/GitHubGitHub/justinye377/ctf-cve-2022-0847
Privilege EscalationExploitationCTFLearning & EducationBinary ExploitationLabs & Practice
GitHubjustinye377/ctf-cve-2022-0847

CTF-CVE-2022-0847

CTF 챌린지: CVE-2022-0847 (Dirty Pipe) 익스플로잇을 배포하여 읽기 전용 파일을 덮어씁니다. 커널 익스플로잇 연습을 위한 설정 스크립트, 힌트 및 검증 기능을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

더티 파이프 배포

이 챌린지에서는 CVE-2022-0847 취약점을 이용하여 읽기 전용 파일 "cat.txt"를 덮어쓰려고 합니다. 이 취약점을 이용하는 방법은 여러 가지가 있습니다.

의존성

  • Linux Kernel 버전 5.8 이상 (취약)
  • gcc (GNU Compiler Collection): 취약점 코드 컴파일용

첫 설정

  1. 취약한 환경 설정:
  • Linux 사용자:
    • 커널 버전 5.8 이상이면서 패치된 버전 미만의 Linux 배포판을 사용하세요:
    • 패치된 버전은 5.16.11, 5.15.25, 5.10.102를 포함합니다.
    • 다음 명령어로 시스템의 커널 버전을 확인하세요: uname -r
    • 커널이 이미 패치된 경우, 다운그레이드하거나 다른 Linux 설치를 사용하여 취약한 조건을 충족해야 할 수 있습니다.
  • Windows 사용자:
    • 가상 머신 설치:
      • Oracle VM VirtualBox 또는 VMware 같은 가상 머신을 다운로드하여 설치하세요.
    • 취약한 Linux 배포판 다운로드:
      • Kali Linux 아카이브를 방문하여 이전 버전의 Kali Linux를 다운로드하세요.
      • 권장 버전은 5.8~5.15 커널을 포함한 릴리스입니다(예: Kali 2021.1).
    • 또는 일치하는 커널 버전을 가진 다른 Linux 배포판도 작동합니다(예: 이전 버전의 Ubuntu 또는 Debian).
  • VM 설정:
    • VirtualBox에서 새 가상 머신 생성:
    • 최소 2GB RAM과 10GB 디스크 공간 할당.
    • 다운로드한 ISO 파일을 사용하여 Linux 배포판 설치.
    • 설치 후, 다음 명령어로 커널 버전을 확인: uname -r
  • 필요한 도구 설치:
    • 환경 설정 후, 다음 도구가 설치되었는지 확인:
      • gcc: 취약점 코드 컴파일 필수.
      • make: 필요 시 프로젝트 빌드용.
      • 패키지 관리자를 업데이트하고 도구 설치: sudo apt update sudo apt install gcc make -y

챌린지 시작

  1. 시작: 커널 버전을 반드시 확인하세요! 이 GitHub 링크(https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker.git)를 사용하세요.

cat.txt 파일이 읽기 전용 파일인지 확인하세요.

제한 사항: 공격자는 읽기 권한이 있어야 합니다 (splice()로 페이지를 파이프에 넣어야 하므로) 오프셋은 페이지 경계에 있지 않아야 합니다 (해당 페이지의 최소 1바이트가 파이프로 스플라이스되어야 하므로) 쓰기는 페이지 경계를 넘을 수 없습니다 (나머지 부분에 대해 새로운 익명 버퍼가 생성되므로) 파일 크기를 조정할 수 없습니다 (파이프가 자체 페이지 채우기 관리를 가지며 페이지 캐시에 추가된 데이터 양을 알리지 않으므로)

  1. 취약점 배포:
  • 파이프 생성.
  • 파이프를 임의의 데이터로 채웁니다 (모든 링 항목에 PIPE_BUF_FLAG_CAN_MERGE 플래그 설정).
  • 파이프를 비웁니다 (struct pipe_inode_info 링의 모든 struct pipe_buffer 인스턴스에 플래그가 설정된 상태로 남김).
  • 대상 파일(O_RDONLY로 열림)에서 대상 오프셋 바로 직전부터 파이프로 데이터를 스플라이스합니다.
  • 파이프에 임의의 데이터를 씁니다. 이 데이터는 PIPE_BUF_FLAG_CAN_MERGE가 설정되어 있으므로 새로운 익명 struct pipe_buffer를 생성하는 대신 캐시된 파일 페이지를 덮어씁니다.
  • cat.txt를 덮어쓰고, 다음을 변경합니다: I'm a cat 1444 에서 I'm a dog 2025
  • check_cat.sh를 사용하여 작동 여부를 확인하세요. chmod +x check_cat.sh ./check_cat.sh

챌린지 재생성

다음을 사용하세요: chmod +x cat_generate.sh ./cat_generate.sh

챌린지 게시

힌트는 hints.txt에 있습니다.

도구 다운로드