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