如何實(shí)現(xiàn)sudo權(quán)限繞過漏洞分析與復(fù)現(xiàn)

如何實(shí)現(xiàn)sudo權(quán)限繞過漏洞分析與復(fù)現(xiàn),針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、陽東網(wǎng)絡(luò)推廣、小程序開發(fā)、陽東網(wǎng)絡(luò)營銷、陽東企業(yè)策劃、陽東品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供陽東建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:muchs.cn

漏洞概述

有的用戶可能知道,如果將sudo配置為允許用戶通過Runas規(guī)范中定義的ALL關(guān)鍵字來以任意用戶身份運(yùn)行命令的話,那么攻擊者將有可能通過制定用戶ID -1或4294967295來以root權(quán)限執(zhí)行惡意命令。

實(shí)際上,只要用戶的權(quán)限足夠高,即擁有最高sudo權(quán)限的用戶,并且在Runas規(guī)范中定義了ALL關(guān)鍵字的話,他們就可以運(yùn)行Runas規(guī)范中明確禁止使用的那些root命令,而且以這種方式運(yùn)行的命令其日志項(xiàng)所顯示的目標(biāo)用戶為4294967295,而不是root。與此同時(shí),在執(zhí)行相應(yīng)命令的過程中,PAM會(huì)話模塊將不會(huì)運(yùn)行。

Sudo 的全稱是“superuserdo”,它是Linux系統(tǒng)管理指令,允許用戶在不需要切換環(huán)境的前提下以其它用戶的權(quán)限運(yùn)行應(yīng)用程序或命令。通常以 root 用戶身份運(yùn)行命令,是為了減少 root 用戶的登錄和管理時(shí)間,同時(shí)提高安全性。

2019年10月14日,Sudo官方發(fā)布了Sudo 1.8.28版本,其中包含sudo root權(quán)限繞過漏洞(CVE-2019-14287)的補(bǔ)丁修復(fù)。

CVE ID

CVE為該漏洞分配的漏洞CVE編號(hào)為CVE-2019-14287。

漏洞細(xì)節(jié)分析

一般情況下,大多數(shù)Linux發(fā)行版的Runas規(guī)范(/etc /sudoers)都如下圖所示,其中定義的ALL關(guān)鍵字將允許admin或sudo組中的用戶以目標(biāo)系統(tǒng)中的任意用戶身份來運(yùn)行命令:

如何實(shí)現(xiàn)sudo權(quán)限繞過漏洞分析與復(fù)現(xiàn)

如果想利用該漏洞來實(shí)施攻擊,用戶需要擁有sudo權(quán)限,并允許用戶使用任意用戶ID來運(yùn)行命令。通常來說,這意味著用戶的sudoer項(xiàng)在Runas規(guī)范中定義了特殊的ALL值。

如果sudoer策略允許的話,sudo支持由用戶指定的用戶名或用戶ID來運(yùn)行命令。比如說,下列sudoer項(xiàng)允許我們以任意用戶的身份來運(yùn)行id命令,因?yàn)樵赗unas規(guī)范中它包含了ALL關(guān)鍵字。

alice myhost = (ALL) /usr/bin/id

除了以任意有效用戶的身份運(yùn)行id命令之外,我們還能夠以任意用戶ID來運(yùn)行該命令,此時(shí)需要使用#uid語句:

sudo -u#1234 id -u

該命令將返回“1234”。但是,sudo可以使用setresuid(2)和setreuid(2)這兩個(gè)系統(tǒng)調(diào)用來在命令運(yùn)行之前修改用戶ID,并將用戶ID修改為-1(或未簽名的等價(jià)用戶ID-4294967295):

sudo -u#-1 id -u

或    

sudo -u#4294967295 id -u

上述命令運(yùn)行之后,將返回“0”。這是因?yàn)閟udo命令本身已經(jīng)在以用戶ID“0”運(yùn)行了,所以當(dāng)sudo嘗試將用戶ID修改為“-1”時(shí),不會(huì)發(fā)生任何變化。

但是,sudo日志條目中記錄下的命令運(yùn)行用戶的ID為“4294967295”,而并非root用戶(或用戶ID為“0”),除此之外,因?yàn)橛脩鬒D是通過-u選項(xiàng)指定的,并且不會(huì)在密碼數(shù)據(jù)庫中存儲(chǔ),所以PAM會(huì)話模塊也不會(huì)運(yùn)行。

如果sudoer條目允許用戶以任意用戶身份運(yùn)行命令(非root),那么攻擊者就可以利用該漏洞來繞過這種限制了。比如說,我們有下列sudoer條目:

bob myhost = (ALL, !root) /usr/bin/vi

用戶bob能夠以除了root之外的其他任意用戶身份來運(yùn)行命令vi,但由于該漏洞的存在,bob實(shí)際上能夠通過下列命令來以root權(quán)限運(yùn)行vi命令,并繞過目標(biāo)系統(tǒng)中的安全策略:

sudo -u#-1 vi

只有當(dāng)包含了ALL關(guān)鍵詞的sudoer條目存在于Runas規(guī)范中時(shí),該漏洞才存在。比如說,如果規(guī)范中包含下列sudoer條目的話,目標(biāo)系統(tǒng)是不會(huì)受到該漏洞影響的:

alice myhost = /usr/bin/id

在上述例子中,alice只能夠以root權(quán)限運(yùn)行id命令,任何以不同身份用戶運(yùn)行命令的嘗試都將被拒絕。

攻擊場(chǎng)景截圖:

如何實(shí)現(xiàn)sudo權(quán)限繞過漏洞分析與復(fù)現(xiàn)

漏洞復(fù)現(xiàn)截圖:

如何實(shí)現(xiàn)sudo權(quán)限繞過漏洞分析與復(fù)現(xiàn)

受影響的Sudo版本

版本號(hào) < 1.8.28的Sudo版本均將受到該漏洞的影響。

漏洞修復(fù)

Sudo v1.8.28版本已修復(fù)該漏洞,建議廣大Linux用戶盡快手動(dòng)將sudo包更新至最新版本。

關(guān)于如何實(shí)現(xiàn)sudo權(quán)限繞過漏洞分析與復(fù)現(xiàn)問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

網(wǎng)站欄目:如何實(shí)現(xiàn)sudo權(quán)限繞過漏洞分析與復(fù)現(xiàn)
分享地址:http://muchs.cn/article34/ijdipe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、云服務(wù)器企業(yè)建站、外貿(mào)建站、網(wǎng)站排名、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)