-
1 # cnBeta
-
2 # IT大叔Cc
sudo的全稱是“superuserdo”,它是linux系統的管理指令,允許使用者在不切換環境的前提下以root身份執行命令。對於編號是CVE-2019-14287的sudo漏洞,其實威脅還是挺大的。
當然這個漏洞也是有前提,首先你的具有sudo許可權,並且可以執行所有命令或者vi命令,這樣就可以繞過安全策略,直接使用root許可權修改系統檔案。
影響sudo版本1.8.28以前的所有版本,也就是10月16日剛剛更新,我使用Centos7 yum更新,暫未發現升級包,後面進行原始碼編譯安裝。
比如/etc/hosts檔案。這真的是一件非常危險的事情,如果駭客獲取了普通帳號,同時具下圖的sudo許可權,就可以把hosts檔案篡改掉,十分建議更新這個漏洞,下面以這個例項演示下。
linux sudo版本1.8.27從下圖可以看出目前的sudo版本是1.8.27,使用普通使用者test執行sudo命令,前面已經將test使用者新增到sudoers配置中,輸入如下命令,直接就開啟/etc/hosts配置檔案,並配置了baidu的域名對映到8.8.8.8 IP。
#sudo -u#-1 vi /etc/hosts或者#sudo -u#4294967295 vi /etc/hosts這是一個非常嚴重的事情,比如駭客或普通使用者,惡意篡改hosts檔案,將伺服器經常訪問的域名,對映到駭客伺服器上,後果相當嚴重。再來ping一下baidu看一下,可以看到baidu的域名已經對映到谷歌的DNS服務上了。
linux sudo版本升級到1.8.28p1在網上找了半天沒找到sudo的原始碼,sudo網站一直打不開,換了個網路才下載到了sudo 1.8.28p1得原始碼版本,下面我們編譯安裝一下。
#wget https://www.sudo.ws/dist/sudo-1.8.28p1.tar.gz可以從這裡下載sudo最新版本。
#tar -zxvf sudo-1.8.28p1.tar.gz解壓後進入sudo-1.8.28p1目錄,進行編譯安裝,請自行安裝gcc
#./configure;make;make install安裝成功後,再來執行下sudo看是否還有能提升到root許可權,從圖可以看出sudo升級到1.8.28p1後,已經不能執行root許可權了。
總結,安全問題總是在不經意間出現,出現了就要重視起來,這個sudo漏洞還是挺重要的,建議大家把伺服器sudo更新到1.8.28p1版本以上。
回覆列表
作為 Linux 中最常使用的重要實用程式之一,Sudo 幾乎安裝在每一款 UNIX 和 Linux 發行版上,以便使用者呼叫和實施核心命令。
然而近期曝出的一個提權漏洞,卻直指 sudo 的一個安全策略隱患 —— 即便配置中明確不允許 root 使用者訪問,該漏洞仍可允許惡意使用者或程式,在目標 Linux 系統上以 root 使用者身份執行任意命令。
(題圖 via Hacker News)
據悉,Sudo 特指“超級使用者”。作為一個系統命令,其允許使用者以特殊許可權來執行程式或命令,而無需切換使用環境(通常以 root 使用者身份執行命令)。
預設情況下,在大多數 Linux 發行版中(如螢幕快照所示),/ etc / sudoers 的 RunAs 規範檔案中的 ALL 關鍵字,允許 admin 或 sudo 分組中的所有使用者,以系統上任何有效使用者的身份執行任何命令。
然而由於特權分離是 Linux 中最基本的安全範例之一,因此管理員可以配置 sudoers 檔案,來定義哪些使用者可以執行哪些命令。
這樣一來,基板限制了使用者以 root 身份執行特定或任何命令,該漏洞也可允許使用者繞過此安全策略,並完全控制系統。
Sudo 開發者稱: “只要 Runas 規範明確禁止 root 訪問、首先列出 ALL 關鍵字,具有足夠 sudo 許可權的使用者就可以使用它來以 root 身份執行命令。”
據悉,該漏洞由蘋果資訊保安部門的 Joe Vennix 追蹤發現(CVE-2019-14287)。且想要利用這個 bug,只需 Sudo User ID -1 或 4294967295 。
這是因為將使用者 ID 轉換為使用者名稱的函式,會將 -1(或無效等效的 4294967295)誤認為 0,而這正好是 root 使用者 User ID 。
此外,由於透過 -u 選項指定的 User ID 在密碼資料庫中不存在,因此不會執行任何 PAM 會話模組。
綜上所述,該漏洞影響最新版本 1.8.28 之前的所有 Sudo 版本。慶幸的是,幾個小時前,各大 Linux 發行版都已經在向用戶推送新版本了。