您好,登錄后才能下訂單哦!
這篇文章主要介紹“Linux sudo權限提升的漏洞”,在日常操作中,相信很多人在Linux sudo權限提升的漏洞問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux sudo權限提升的漏洞”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
目錄
0x01 漏洞介紹
0x02 漏洞影響
0x03 漏洞復現
0x04 漏洞細節
0x05 參考
0x01 漏洞介紹
此漏洞可以使受限制的用戶運行root命令
0x02 漏洞影響
1.8.28之前的sudo版本均會受到影響
此漏洞的利用需要使用戶具有sudo的權限
0x03 漏洞復現
0x04 漏洞細節
因為需要用戶擁有root權限,這也意味著用戶的sudoers中的runas說明符中具有特殊值ALL
我們這里來查看一下/etc/sudoers
我們可以看到下面幾個用戶權限的配置信息,它們的含義是這樣的
授權用戶/組 主機=[(切換到哪些用戶或組)][是否需要輸入密碼驗證] 命令1,命令2
第一個字段中,不以%開頭的,代表“將要授權的用戶”,例如其中的root;以%開頭的表示“將要授權的組”,比如其中的%admin、%sudo
第二個字段表示允許登陸的主機,ALL表示所有,這里指明的是用戶可以在哪些服務器上登陸本服務器來執行sudo命令,比如
wuxin ALL=/usr/sbin/reboot,/usr/sbin/shutdown
表示的是普通用戶wuxin在所有主機上,都可以通過sudo運行reboot和shutdown兩個命令
第三個字段如果省略的話,表示切換到root用戶,如果為ALL,則表示可以切換到任何用戶,里面的(ALL:ALL)表示的是允許切換到任何(用戶:組)
PS:如果沒有省略,必須使用括號將兩個值括起來
第四個參數為NOPASSWD,這個文件中的這個省略掉了,意味著都是需要密碼來進行操作的,如果為下面這個樣子就不需要輸入密碼了
wuxin ALL=(ALL:ALL) NOPASSWD:ALL
第五個參數為授權操作的命令,如果值為ALL的話,就可以執行任意的命令了
這里解釋了這么多,也就是說明了我們這個環境下的所有的用戶都是可以執行sudo的。
在這種情況下,我們就可以使用#uid語法以任意用戶ID來運行它
例如執行
sudo -u#1234 id -u
將會返回1234
但是sudo執行前用于更改用戶ID的setresuid(2)和setreuid(2),特別對待用戶ID-1(或其等效的4294967295),不會更改此用戶的ID值,實際上他們返回的值為0
這是因為sudo本身已經用用戶ID 0運行,因此在嘗試更改用戶ID為-1時,是不會發生任何更改的,另外由于通過-u指定的用戶ID在密碼數據庫是不存在的,因此不會允許任何PAM會話模塊
到此,關于“Linux sudo權限提升的漏洞”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。