Linux suid 提權


  SUID (Set owner User ID up on execution) 是給予文件的一個特殊類型的文件權限。在 Linux/Unix中,當一個程序運行的時候, 程序將從登錄用戶處繼承權限。SUID被定義為給予一個用戶臨時的(程序/文件)所有者的權限來運行一個程序/文件。用戶在執行程序/文件/命令的時候,將獲取文件所有者的權限以及所有者的UID和GID。

查找suid文件

find / -perm -u=s -type f 2>/dev/null
/表示從文件系統的頂部(根)開始並找到每個目錄
-perm 表示搜索隨后的權限
-u = s表示查找root用戶擁有的文件
-type表示我們正在尋找的文件類型
f 表示常規文件,而不是目錄或特殊文件
2表示該進程的第二個文件描述符,即stderr(標准錯誤)
>表示重定向
/ dev / null是一個特殊的文件系統對象,它將丟棄寫入其中的所有內容。

  

利用方式:

find命令

sudo find . -exec /bin/sh \; -quit

  

chmod命令

sudo sh -c 'cp $(which chmod) .; chmod +s ./chmod'

  

ash,linux shell

sudo ash

  

cp命令

sudo sh -c 'cp $(which cp) .; chmod +s ./cp'

  

 

更多suid利用方式:https://gtfobins.github.io/gtfobins

 

 

轉載一個白帽匯的文章

因此對於sudo命令來說,通過向/etc/sudoers配置文件添加特殊的指令,就可以讓某個用戶以另一個用戶的身份運行命令。

例如,下面的命令可讓用戶test以任意非root身份運行/usr/bin/vim/usr/bin/id命令。

test ALL = (ALL, !root) /usr/bin/vim
test ALL = (ALL, !root) /usr/bin/id

對於test用戶,他可以使用一個帶-u參數的sudo命令來指定運行命令的身份。例如,下面的命令將以用戶bleep-test的身份啟動vim。

sudo -u bleeping-test vim

在Linux中創建用戶時,每個用戶都有一個UID。如下所示,用戶test的UID為1001,用戶bleep -test的UID為1002。

33.jpg

而在使用sudo命令時,你也可以直接指定用戶的UID來代替用戶名。例如,下面的命令將再次以bleep-test身份啟動vim,只不過這一次是通過指定用戶的UID。

sudo -u#1002 vim

sudo漏洞

蘋果安全研究員Joe Vennix就在sudo上發現了一個漏洞,只要用戶在使用sudo命令時指定UID為-14294967295,就可以以root身份執行命令。

這是因為命令在將UID轉換為對應用戶時,會將-14294967295這兩個異常數字視為0,而0root用戶的UID

例如,下面的命令就可以利用這個漏洞以root身份運行/usr/bin/id,即使/etc/sudoers文件明確拒絕用戶test這樣做。

sudo -u#-1 id

此時通過/usr/bin/id命令可以清楚看到權限得到了提升。

44.jpg

雖然這個漏洞看似非常強大,但是必須記住,它只能在某個用戶通過sudoers文件的配置訪問某個命令的權限時才能生效。如果不是這種設置——大多數Linux發行版默認都不是——那么這個漏洞將不會產生任何影響。

利用漏洞

為了真正利用這個漏洞,用戶首先需要為某個能執行其他命令的命令配置好sudoer文件。

例如,我們可以針對vim命令做如下配置:

test ALL = (ALL, !root) /usr/bin/vim

在vim編輯文件時,用戶可以使用:!符號啟動另一個命令。例如,你可以輸入!ls以當前文件夾為目標執行ls命令。

如果我們利用sudo -u#-1 vim命令來利用這個漏洞,vim將以root身份啟動。你可以通過執行!whoami命令來確認這一點。

55.jpg

現在,我們可以確認vim以root身份啟動,而它執行的任何命令也是以root身份運行。

因此,我們可以很輕易地用它來啟動一個root權限的shell,執行任何命令。下面就演示了這種攻擊。

66.png

77.png

綜上所述,這個漏洞影響范圍非常有限,它只能影響小部分非標准配置的Linux服務器。

對於那些為經常使用sudoers文件的用戶,應盡快將軟件升級到sudo 1.8.28或更高版本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM