
Linux 커널 5.8+를 대상으로 하는 CVE-2022-0847 (Dirty Pipe)용 개념 증명 익스플로잇. /etc/passwd를 덮어써서 루트로 권한을 상승시키고 악용 후 원래 파일을 복원합니다.
이것은 Max Kellermann의 Dirty Pipe 개념 증명 코드로, 루트 셸을 획득한 후 /etc/passwd의 root 비밀번호 필드를 덮어쓰고 복원하도록 수정된 버전입니다.
참고: 저는 이 취약점을 발견하거나 개념 증명 코드를 작성한 것에 대해 어떤 공로도 주장하지 않습니다. 이 익스플로잇은 빠르고 쉽게 악용할 수 있도록 Kellermann의 개념 증명 코드를 약간 수정한 것에 불과합니다. 시간이 되시면 이 매우 흥미로운 취약점에 대한 원문 기사(@ https://dirtypipe.cm4all.com/)를 꼭 읽어보시기 바랍니다. 정말로 이해하는 데 시간을 투자할 가치가 있습니다.
./compile.sh로 컴파일합니다(gcc가 설치되어 있다고 가정)../exploit을 실행하면 루트 셸이 실행됩니다.이 오류 메시지가 표시되면:
aaron으로 root로 로그인합니다.mv /tmp/passwd.bak /etc/passwd를 실행하여 /etc/passwd를 복원합니다.(죄송합니다. 노트북 배터리가 거의 방전됐고 충전기도 고장 나서 지금 당장 이걸 고칠 시간이 없네요. 죄송합니다.)