
CVE-2022-0847-DirtyPipe-Exploits
침투 테스터와 레드 팀을 위한 익스플로잇 및 문서 모음으로, Linux Dirty Pipe 취약점 악용을 지원하는 데 사용할 수 있습니다.
취약점 소개
- Dirty Pipe (CVE-2022-0847)는 Linux 커널의 로컬 권한 상승 취약점으로, 권한이 없는 사용자가 다음과 같은 작업을 잠재적으로 수행할 수 있습니다:
- /etc/passwd와 같은 임의의 읽기 전용 파일 수정/덮어쓰기.
- 상승된 셸 획득.
영향을 받는 버전
DirtyPipe 취약점 스캐너
익스플로잇 컴파일
- 두 익스플로잇의 컴파일을 자동화하는 자동 컴파일러 bash 스크립트가 제공되었습니다.
- 익스플로잇을 성공적으로 컴파일하려면 GCC가 설치되어 있어야 합니다.
- GCC를 설치한 후, 다음과 같이 'compile.sh" 스크립트를 실행할 수 있습니다:
익스플로잇-1 - 읽기 전용 파일 수정/덮어쓰기
- 이 저장소에는 2개의 익스플로잇이 포함되어 있으며, 'exploit-1.c' 익스플로잇은 임의의 읽기 전용 파일을 수정하거나 덮어쓰는 데 사용할 수 있습니다.
- 이 익스플로잇은 Max Kellermann이 개발한 개념 증명이며, /etc/passwd 파일에서 root 비밀번호를 변경하도록 수정되어 결과적으로 상승된 셸에 액세스할 수 있게 해줍니다.
익스플로잇 바이너리 실행
- 익스플로잇 코드는 이미 root 비밀번호를 "piped" 비밀번호로 바꾸고 /etc/passwd 파일의 백업을 /tmp/passwd.bak에 저장하도록 구성되어 있습니다. 또한 익스플로잇은 상승된 root 셸을 제공하고 완료되면 원래 passwd 파일을 복원합니다.
익스플로잇-2 - SUID 바이너리 하이재킹
- 이 익스플로잇은 root로 실행되는 읽기 전용 SUID 프로세스 메모리에 데이터를 주입하고 덮어쓰는 데 사용할 수 있습니다.
SUID 바이너리 찾기
find / -perm -4000 2>/dev/null
익스플로잇 바이너리 실행
./exploit-2 /usr/bin/sudo
중요 참고사항
- 저는 이 GitHub 저장소에 호스팅된 취약점 및 모든 해당 익스플로잇에 대한 크레딧/소유권/공개를 주장하지 않습니다.
- 모든 크레딧은 훌륭한 Max Kellermann에게 있습니다. 공식 공개 내용은 여기에서 확인할 수 있습니다: https://dirtypipe.cm4all.com/
크레딧