Linux

下次入侵帳戶時,攻擊者如何獲得 root 權限?

  • July 18, 2009

當我遇到以下內容時,我正在閱讀有關 root/sudo 的 Ubuntu 文件:

  • sudo 不比 su 安全嗎?

基本的安全模型是相同的,因此這兩個系統有共同的主要弱點。任何使用 su 或 sudo 的使用者都必須被視為特權使用者。如果該使用者的帳戶被攻擊者入侵,攻擊者還可以在使用者下次這樣做時獲得 root 權限。

攻擊者如何在使用者下一次獲得 root 權限?假設 sudo 被禁用。

雖然 sudo 通常與 su 命令一起使用,但認為 sudo su 是唯一的做法是錯誤的。

sudo 有許多選項可以設置由誰(使用者組的乙太使用者)在哪個主機上執行什麼。細粒度的 sudoers 文件(或 LDAP 條目,如果涉及 sudo-ldap)與系統管理員的聰明頭腦一起最終可能會形成即使使用者帳戶已被破壞也不會危及系統安全的規則。

讓我們看一個真實的例子:

$須藤-l
使用者 exampleuser 可以在此主機上執行以下命令:
(根) /opt/xmldns/gen.sh
(根) /usr/bin/make -C /root/admin
(根) /usr/sbin/xm 列表,/usr/sbin/xm dmesg
(root) /usr/sbin/zorpctl 停止,/usr/sbin/zorpctl 啟動,/usr/sbin/zorpctl 狀態
(root) /etc/init.d/apache 狀態、/etc/init.d/apache 停止、/etc/init.d/apache 啟動
(根) /usr/local/bin/protodump.sh httpreq
(根) /usr/sbin/xm 控制台
$

如果不讓使用者 sudo-exec su/bash 或其他 shell 既不直接 (sudo su) 也不間接(讓編輯器使用 root 生成,這可用於生成 shell - 在本例中為 root),sudo 是朋友系統管理員和使用者。

回到主題中的問題,如果 sudo 被禁用並且 su 是在系統上成為 root 的唯一方法,人們會植入一個假的 su 命令(例如在 ~/…/fakesu 中)和一個別名,如 alias su=’ ~/…/fakesu’ 在使用者登錄 shell 的 rc 文件中。

在這種情況下,一個簡單的 su 命令(舉手,使用 /bin/su 進行呼叫)最終會呼叫 fakesu 命令,這可能會擷取密碼。

引用自:https://serverfault.com/questions/42173