这是针对 Linux 内核漏洞 CVE-2022-0847(DirtyPipe)的漏洞利用代码,该漏洞由 Max Kellerman 发现。
此代码将两个现有的 DirtyPipe POC 合并为一个:
此代码检查以下内容:
然后,它按上述顺序执行第一个可行的选项,并将用户直接带入 root shell。
关于该漏洞本身的精彩解释,请参阅 Kellerman 的分析文章。
需要 python 10.X 以使用 os.splice
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 写入多个文件:
生成的文件应在执行后删除,但可能需要 root 权限才能执行此操作。
此漏洞利用将覆写驻留在页缓存中的文件页面。它不太可能损坏实际文件。如果出现损坏或错误,您可能只需要等待页面在缓存中被覆写,或者重新启动计算机来修复任何问题。话虽如此,我对由此代码造成的损害不承担任何责任,请仔细阅读并负责任地进行黑客行为。也请务必查看 Max Kellerman 在 cm4all.com 上的分析文章。