
A “Dirty Pipe” 취약점(CVE-2022-0847, CVSS 점수 7.8)이 확인되었으며, 이는 Linux Kernel 5.8 이상 버전에 영향을 미칩니다. 이 취약점으로 인해 공격자는 읽기 전용 파일의 데이터를 덮어쓸 수 있습니다. 위협 행위자는 이 취약점을 악용하여 코드 삽입을 통한 권한 상승을 수행할 수 있습니다.
이것은 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를 복원합니다.(죄송합니다. 노트북 배터리가 거의 방전됐고 충전기도 고장 나서 지금 당장 이걸 고칠 시간이 없네요. 죄송합니다.)