
루트 셸을 획득하기 위한 Python 기반 DirtyPipe(CVE-2022-0847) POC
이것은 Max Kellerman이 발견한 Linux 커널 취약점 CVE-2022-0847(DirtyPipe)에 대한 익스플로잇입니다.
이 코드는 기존의 두 DirtyPipe POC를 하나로 결합합니다:
이 코드는 다음 사항을 확인합니다:
그런 다음 해당 순서대로 가능한 첫 번째 옵션을 실행하고 사용자를 바로 루트 셸로 접속시킵니다.
취약점 자체에 대한 훌륭한 설명은 Kellerman의 글을 참조하세요.
os.splice를 사용하려면 python 10.X가 필요합니다.
usage: dirty.py [-h] [--target {passwd,group,sudo,su}]
Use dirty pipe vulnerability to pop root shell
options:
-h, --help show this help message and exit
--target {passwd,group,sudo,su}
The target read-only file to overwrite
vulnerable@kali:~$ python dirty.py
vulnerable@kali:~$ python dirty.py --target passwd
이 스크립트는 /tmp에 여러 파일을 쓸 수 있습니다:
생성된 파일은 실행 후 제거해야 하지만, 제거하려면 루트 권한이 필요할 수 있습니다.
이 익스플로잇은 페이지 캐시에 있는 파일의 페이지를 덮어씁니다. 실제 파일이 손상될 가능성은 낮습니다. 손상이나 오류가 발생하면 페이지가 캐시에서 덮어써질 때까지 기다리거나 컴퓨터를 다시 시작하면 문제가 해결될 것입니다. 그렇긴 하지만, 이 코드로 인한 손상에 대해 저는 책임지지 않으므로 주의 깊게 읽고 책임감 있게 해킹하시기 바랍니다. cm4all.com에서 Max Kellerman의 글도 꼭 확인해 보세요.