kali 切換root權限_Ubuntu 被曝嚴重漏洞:切換系統語言 + 輸入幾行命令,就能獲取 root 權限...

公眾號關注?“GitHubDaily”

設為 “星標”,帶你了解技術圈內新鮮事!

e991015e24b2d8bbec2bb854d3789b1d.png

來自量子位

無需系統密碼,就能添加新的 sudo 用戶、獲取 root 權限,事后還能刪除不留痕跡。

這是 GitHub 安全研究員 Kevin Backhouse 發現的一個?Ubuntu?系統大漏洞。

f2ca0b559063a15c4df4db9edaf94e54.png

這種攻擊方法非常簡單,Backhouse 在官方博客中寫道:“使用終端中的一些簡單命令,并單擊幾次鼠標,標準用戶就可以為自己創建一個管理員帳戶。”

目前還在維護的 Ubuntu 操作系統均受到影響,包括?20.10?以及?20.0418.0416.04?三個 LTS 版。

0042e01035e322668fb83ee260933c0e.png

Backhouse 是如何操作的?我們接著往下看。

攻擊方法

首先打開終端,在你的主目錄下創建一個軟鏈接:

ln?-s?/dev/zero?.pam_environment

(注:如果以上命令無法運行,說明已經存在名為.pam_environment 的文件,請把這個文件重命名做好備份!)

接下來,在系統設置中打開?“區域和語言”,然后嘗試更改語言。

4455aba500e8335dc0bd540d5cbf4e52.png

該對話框會凍結,只需忽略它,然后返回到終端即可。

此時,一個名為?accounts-daemon?的程序正在消耗 100%的 CPU 內核,因此你的計算機可能會變慢并開始變熱。

在終端中,刪除軟鏈接。否則,你可能無法使用自己的帳戶!

rm?.pam_environment

下一步是將?SIGSTOP?信號發送到 accounts-daemon,阻止它破壞該 CPU 內核。但是要做到這一點,首先需要知道 accounts-daemon 的 PID。

你可以通過運行?top?來找到 PID。由于 accounts-daemon 被卡在一個無限循環中,因此它很快進入 top 列表的頂部。

7ac69c8c7355da32b8c70512da869575.png

或者使用 pidof 命令來查找 PID:

$?pidof?accounts-daemon
597

接著用 kill 命令殺死 SIGSTOP 信號:

kill?-SIGSTOP?597

然后注銷帳戶,但首先需要設置一個計時器,保證在注銷后重置 accounts-daemon。否則,前面的努力都將白費。

nohup?bash?-c?“sleep?30s;?kill?-SIGSEGV?597;?kill?-SIGCONT?597”

注銷后等待幾秒鐘,讓 SIGSEGV 起效。如果漏洞利用成功,則會顯示一系列對話框,讓你創建一個新的用戶帳戶。這個新帳戶具有管理員權限,可以運行 sudo 命令。

69b803fd81dcc0fbddc48356a9b885d2.png

Backhouse 將整個過程錄成了 2 分多鐘的視頻,不明白操作方法的可以前去觀看:

攻擊原理

該漏洞利用了 Ubuntu 系統中的兩個錯誤:

  • 第一個是?accountservice,它是管理計算機上用戶帳戶的服務。

  • 第二個是?GNOME 顯示管理器(gdm3),它可以處理登錄屏幕。

accounts-daemon 漏洞

accountsservice 守護程序(accounts-daemon)是一項系統服務,可以執行諸如創建新用戶帳戶或更改用戶密碼的操作,但也可以執行對安全性較不敏感的操作,例如更改用戶的圖標或首選語言。

bffe8f3a1fa705150c66316c494710ae.png

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。

32fcb2a3e3782918c125a313997a2a21.png

當 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

e5b30fc3dd024ae53c2372ca5992ccd7.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534962.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534962.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534962.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oracle定義變量sql賦值_ORACLE獲取SQL綁定變量值的方法總結

本文總結一下ORACLE數據庫中如何獲取SQL綁定變量值的方法,在SQL優化調優過程中,經常會用到這方面的知識點。在此梳理、總結一下這方面的知識點,方面日后查找、翻閱。方法1:查詢V$SQLV$SQL視圖中的BIND_DATA字段用來存儲綁定變量的…

transition css_Transition 過渡

1:基本概念在一定時間內平滑的過渡,也就是圓滑的以動畫效果改變css的屬性值。它的過渡可以由鼠標點擊、焦點獲取或者失去、被點擊事件或對元素的改變中觸發;不能主動觸發,只能被動觸發。常用的基本屬性有:Transition-d…

jdbc mysql分頁_JDBC【數據庫連接池、DbUtils框架、分頁】

1.數據庫連接池什么是數據庫連接池簡單來說:數據庫連接池就是提供連接的。。。為什么我們要使用數據庫連接池數據庫的連接的建立和關閉是非常消耗資源的頻繁地打開、關閉連接造成系統性能低下編寫連接池編寫連接池需實現java.sql.DataSource接口創建批量的Connectio…

python讀寫文件操作_詳解Python文件讀寫操作

讀文件 打開文件(文件需要存在)#打開文件 f open("data.txt","r") #設置文件對象 print(f)#文件句柄 f.close() #關閉文件 #為了方便,避免忘記close掉這個文件對象,可以用下面這種方式替代 with open(data.t…

keyloadtool_phoenix 利用CsvBulkLoadTool 批量帶入數據并自動創建索引

需要先創建表:CREATE TABLE IF NOT EXISTS population (state CHAR(2) NOT NULL, city VARCHAR NOT NULL, population BIGINTCONSTRAINT my_pk PRIMARY KEY (state, city));在phoenix 目錄下執行hadoop jar /home/phoenix-4.6.0-HBase-1.0-bin/phoenix-4.6.0-HBase-…

【cloud Alibaba】(三)流量控制、熔斷降級(下)——Sentinel

各位小伙伴們大家好,歡迎來到這個小扎扎的spring cloud專欄,在這個系列專欄中我對B站尚硅谷陽哥的spring cloud教程進行一個總結,鑒于 看到就是學到、學到就是賺到 精神,這波依然是血賺 ┗|`O′|┛ 💡Sen…

python gui入門的例子_Python GUI編程之Tkinter入門之道

相信剛學習使用Python進行GUI編程的時候,肯定都會聽過Tkinter,畢竟是standard Python interface to the Tk GUI toolkit.用來寫一些小程序還是很方便的。但如果是剛接觸GUI編程的話肯定是被官方文檔搞的有些懵,畢竟還沒弄清楚套路。之前使用過…

@async 默認線程池_SpringBoot 線程池的使用

Java大聯盟幫助萬千Java學習者持續成長關注作者|Musclehengblog.csdn.net/Muscleheng/article/details/81409672前言最近在做訂單模塊,用戶購買服務類產品之后,需要進行預約,預約成功之后分別給商家和用戶發送提醒短信。考慮發短信…

mysql 橫向擴展 中間件_mysql-proxy數據庫中間件架構 | 架構師之路

一、mysql-proxy簡介mysql-proxy是mysql官方提供的mysql中間件服務,上游可接入若干個mysql-client,后端可連接若干個mysql-server。它使用mysql協議,任何使用mysql-client的上游無需修改任何代碼,即可遷移至mysql-proxy上。mysql-…

python selenium對象怎么序列化_python selenium爬取斗魚

不加延遲報錯selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:”xpath”,”selector”:”.//span[class”DyListCover-hot”]”}(Session info: chrome80.0.3987.122)最開始以為是版本問題,不…

神經網絡的全連接層_深度神經網絡全連接層

一、概念全連接層一般在網絡的最后部分做分類輸出,全連接層的有m個輸入和n個輸出,每一個輸出都和所有的輸入相連,相連的權重w都是不一樣的,同時每一個輸出還有一個bias。二、前向全連接假設輸入是4,輸出是4&#xff0c…

vs 選定內容沒有屬性頁_從智能單品,到全屋智能:2019中國智能家居發展白皮書【附82頁PPT】...

2019年,智能家居行業在技術、市場和行業的變革中迎接新的挑戰和機遇。一方面,AI、IoT、邊緣計算全面賦能智能家居;另一方面,中國的房地產行業正在從上半場的“增量開發”,切換到下半場的“存量經營”、“樓盤精裝化”政…

python決策樹的應用_機器學習-決策樹實戰應用

1.下載2.安裝:雙擊3.創建桌面快捷方式安裝目錄\bin文件夾\:找到gvedit.exe文件右鍵 發送到桌面快捷方式,如下圖:4.配置環境變量將graphviz安裝目錄下的bin文件夾添加到Path環境變量中:5.驗證是否安裝并配置成功進入win…

【SSM面向CRUD編程專欄 3】關于黑馬程序員最全SSM框架教程視頻,P37集老師跳過的模塊創建以及tomcat下載安裝配置和運行等諸多問題

寫在前面:? 本人是在學習B站黑馬程序員SSM框架教程視頻的時候在P37集遇到了問題,如果不解決還沒辦法往下接著聽,老師跳過的模塊創建以及tomcat下載安裝配置和運行等諸多問題,全在這篇博客中得到了解決 😢解決上…

python人臉識別源碼_Python 抖音機器人,讓你找到漂亮小姐姐

本項目作者沉迷于抖音無法自拔,常常花好幾個小時在抖音漂亮小姐姐身上。本著高效、直接地找到漂亮小姐姐的核心思想,我用 Python ADB 做了一個 Python 抖音機器人 Douyin-Bot。特性自動翻頁顏值檢測人臉識別自動點贊自動關注隨機防 Ban自動評論原理打開…

thinkphp josn mysql_ThinkPHP:JSON字段類型的使用(ORM)

ThinkPHP5.1版本正式發布已經有一段時間了,我會陸續給大家介紹其中的新特性。今天要給大家介紹的是一個可能很多用戶還不了解的一個特性:JSON字段數據支持。不過首先注意一點,本篇內容中描述的JSON字段數據的支持是從V5.1.4版本引入的。由于包…

獲取http地址如何從上面抓取圖片_用 Python 自動抓取妹子圖

目錄前言Media Pipeline啟用Media Pipeline使用 ImgPipeline抓取妹子圖瞎比比與送書后話前言我們在抓取數據的過程中,除了要抓取文本數據之外,當然也會有抓取圖片的需求。那我們的 scrapy 能爬取圖片嗎?答案是,當然的。說來慚愧&a…

MySQL摘要_mysql摘要

2011-04-15(1)mysqld關閉命令:mysqladmin -u root shutdown。注意:windows命令以enter結束不是;,mysql命令行才是(2)mysql終端接入,修改mysql.user表內容,添加授權用戶。insert into mysql.user(Host,User,Password,ss…

錯誤代碼0x800f0950怎么解決_解決win10安裝net framework 3.5失敗(錯誤代碼 0x800F0950)...

視頻教程:Win10教程 安裝net framework 3.5失敗(錯誤代碼 0x800F0950)_嗶哩嗶哩 (゜-゜)つロ 干杯~-bilibili?www.bilibili.com一:出現問題:報錯代碼二:解決步驟1.通過命令提示符明確自己系統版本Windows鍵X ,打開(命…