無需系統密碼,就能添加新的sudo用戶、獲取root權限,事后還能刪除不留痕跡。
這是GitHub安全研究員Kevin Backhouse發現的一個Ubuntu系統大漏洞。
這種攻擊方法非常簡單,Backhouse在官方博客中寫道:“使用終端中的一些簡單命令,并單擊幾次鼠標,標準用戶就可以為自己創建一個管理員帳戶。”
目前還在維護的Ubuntu操作系統均受到影響,包括20.10以及20.04、18.04、16.04三個LTS版。
Backhouse是如何操作的?我們接著往下看。
攻擊方法
首先打開終端,在你的主目錄下創建一個軟鏈接:
ln-s/dev/zero.pam_environment
(注:如果以上命令無法運行,說明已經存在名為.pam_environment的文件,請把這個文件重命名做好備份!)
接下來,在系統設置中打開“區域和語言”,然后嘗試更改語言。
該對話框會凍結,只需忽略它,然后返回到終端即可。
此時,一個名為accounts-daemon的程序正在消耗100%的CPU內核,因此你的計算機可能會變慢并開始變熱。
在終端中,刪除軟鏈接。否則,你可能無法使用自己的帳戶!
rm.pam_environment
下一步是將SIGSTOP信號發送到accounts-daemon,阻止它破壞該CPU內核。但是要做到這一點,首先需要知道accounts-daemon的PID。
你可以通過運行top來找到PID。由于accounts-daemon被卡在一個無限循環中,因此它很快進入top列表的頂部。
或者使用pidof命令來查找PID:
$pidofaccounts-daemon 597
接著用kill命令殺死SIGSTOP信號:
kill-SIGSTOP597
然后注銷帳戶,但首先需要設置一個計時器,保證在注銷后重置accounts-daemon。否則,前面的努力都將白費。
nohupbash-c“sleep30s;kill-SIGSEGV597;kill-SIGCONT597”
注銷后等待幾秒鐘,讓SIGSEGV起效。如果漏洞利用成功,則會顯示一系列對話框,讓你創建一個新的用戶帳戶。這個新帳戶具有管理員權限,可以運行sudo命令。
Backhouse將整個過程錄成了2分多鐘的視頻,不明白操作方法的可以前去觀看:
攻擊原理
該漏洞利用了Ubuntu系統中的兩個錯誤:
第一個是accountservice,它是管理計算機上用戶帳戶的服務。
第二個是GNOME顯示管理器(gdm3),它可以處理登錄屏幕。
accounts-daemon漏洞
accountsservice守護程序(accounts-daemon)是一項系統服務,可以執行諸如創建新用戶帳戶或更改用戶密碼的操作,但也可以執行對安全性較不敏感的操作,例如更改用戶的圖標或首選語言。
Ubuntu使用了經過修改的accountservice服務版本,添加了一個名為is_in_pam_environment的函數,該函數會在用戶的主目錄中查找一個名為.pam_environment的文件并進行讀取。
將.pam_environment鏈接到/dev/zero可以讓accountservice服務被拒絕。
因為/dev/zero實際上是磁盤上不存在的特殊文件。它由操作系統提供,其行為就像一個無限長的文件,其中每個字節均為0。
當is_in_pam_environment嘗試讀取.pam_environment時,它會通過軟鏈接重定向到/dev/zero,然后由于/dev/zero無限長而陷入無限循環。
如此操作會讓accounts-daemon喪失其root權限,轉而采用用戶的較低特權。然后將SIGSEGV發送給帳戶守護程序使其崩潰。
GNOME漏洞
GNOME顯示管理器(gdm3)是Ubuntu用戶界面的基本組件。它可以處理用戶登錄和注銷時啟動和停止用戶會話之類的事情,還管理登錄屏幕。
當用戶進行新系統的初始設置時,會啟動一個對話框,它其實是一個單獨的應用程序,稱為gnome-initial-setup。
當gdm3查詢到用戶數量為0時,會啟動這個程序。那么gdm3如何檢查系統上有多少用戶?通過詢問accounts-daemon!
不幸的是,accounts-daemon已經被我們前面的操作整崩潰了,所以gdm3在檢查超時后認為帳戶數量為0,并啟動gnome-initial-setup。
而初始化設置的用戶必須有管理員權限。
官方緊急修復
Backhouse于10月17日向Ubuntu和GNOME維護人員報告了這些錯誤,官方已經最新代碼中提供了修復程序。建議所有Ubuntu用戶都盡快安裝更新。
不過,該漏洞僅對桌面版Ubuntu有效。如果使用的是命令行界面,或者是GNOME之外的其他桌面環境,則暫時不受影響。
博客地址:
https://securitylab.github.com/research/Ubuntu-gdm3-accountsservice-LPE
網友討論:
https://news.ycombinator.com/item?id=25053238
責任編輯:xj
原文標題:Ubuntu被曝嚴重漏洞:切換系統語言+輸入幾行命令,就能獲取root權限
文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
-
Ubuntu
+關注
關注
5文章
560瀏覽量
29588 -
root
+關注
關注
1文章
85瀏覽量
21376 -
GitHub
+關注
關注
3文章
467瀏覽量
16389
原文標題:Ubuntu被曝嚴重漏洞:切換系統語言+輸入幾行命令,就能獲取root權限
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論