自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Pkexec中本地權(quán)限升級漏洞的技術(shù)細(xì)節(jié)分析

安全 漏洞
Polkit(以前是PolicyKit)是一個用于控制類unix操作系統(tǒng)中的系統(tǒng)權(quán)限的組件。它為非權(quán)限進(jìn)程提供了一種有組織的方式來與權(quán)限進(jìn)程進(jìn)行通信。

Qualys研究團(tuán)隊在polkit的pkexec中發(fā)現(xiàn)了一個內(nèi)存破壞漏洞,pkexec是一個SUID-root程序,默認(rèn)安裝在每個主要的Linux發(fā)行版上。這個容易被利用的漏洞允許任何沒有相關(guān)權(quán)限的用戶通過利用默認(rèn)配置中的這個漏洞獲得脆弱主機(jī)上的完全根權(quán)限。

關(guān)于Polkit pkexec for Linux

Polkit(以前是PolicyKit)是一個用于控制類unix操作系統(tǒng)中的系統(tǒng)權(quán)限的組件。它為非權(quán)限進(jìn)程提供了一種有組織的方式來與權(quán)限進(jìn)程進(jìn)行通信。還可以使用polkit來執(zhí)行具有更高權(quán)限的命令,使用命令pkexec,后面跟著要執(zhí)行的命令(具有根權(quán)限)。

PwnKit漏洞的潛在影響

如果有人成功利用該漏洞,任何非權(quán)限用戶都可以獲得該漏洞主機(jī)上的root權(quán)限。Qualys的安全研究人員已經(jīng)能夠獨立驗證該漏洞,并利用該漏洞,進(jìn)而獲得Ubuntu、Debian、Fedora和CentOS默認(rèn)安裝的全部root權(quán)限。其他 Linux 發(fā)行版可能容易受到攻擊并且可能被利用。這個漏洞已經(jīng)隱藏了 12 年多,并影響自 2009 年 5 月第一個版本以來的所有 pkexec 版本(commit c8c3d83, “Add a pkexec(1) command”)。

在我們的研究團(tuán)隊確認(rèn)該漏洞后,Qualys負(fù)責(zé)漏洞的披露,并與供應(yīng)商和開源發(fā)行方協(xié)調(diào),公布了該漏洞。

潛在漏洞利用路徑的視頻可以點此查看。(https://player.vimeo.com/video/669715589)

另外可以查看本視頻(https://player.vimeo.com/video/670582239),了解如何使用Qualys VMDR查看PwnKit漏洞。

PwnKit漏洞的技術(shù)細(xì)節(jié)介紹

pkexec的main()函數(shù)的開頭處理命令行參數(shù)(第534-568行),如果它的路徑不是絕對的,則在path環(huán)境變量的目錄中搜索要執(zhí)行的程序(第610-640行):

不幸的是,如果命令行參數(shù)argc的數(shù)量是0,這意味著如果我們傳遞給execve()的參數(shù)列表argv是空的,即{NULL},那么argv[0]就是NULL。這是參數(shù)列表的終止符。所以:

在第534行,整數(shù)n被永久地設(shè)置為1;

在第610行,從argv[1]越界讀取指針路徑;

在第639行,指針s被越界寫入argv[1];

但是,這個越界的argv[1]到底要讀寫什么呢?

要回答這個問題,我們必須稍微離題一下。當(dāng)execve()一個新程序時,內(nèi)核將我們的參數(shù)、環(huán)境字符串和指針(argv和envp)復(fù)制到新程序堆棧的末尾,例如:

顯然,因為argv和envp指針在內(nèi)存中是連續(xù)的,如果argc是0,那么越界的argv[1]實際上是envp[0],指向我們的第一個環(huán)境變量value的指針。結(jié)果:

在第 610 行,要執(zhí)行的程序的路徑從 argv[1](即 envp[0])越界讀取,并指向“value”;

在第 632 行,這個路徑“value”被傳遞給 g_find_program_in_path()(因為“value”在第629行不是以斜杠開頭的);

然后,g_find_program_in_path() 在我們的 PATH 環(huán)境變量的目錄中搜索一個名為“value”的可執(zhí)行文件;

如果找到這樣的可執(zhí)行文件,則將其完整路徑返回給 pkexec 的 main() 函數(shù)(在第 632 行);

最后,在第 639 行,這個完整路徑被越界寫入 argv[1](即 envp[0]),從而覆蓋了我們的第一個環(huán)境變量。

所以,更準(zhǔn)確地說:

如果我們的PATH環(huán)境變量是" PATH=name ",并且目錄" name "存在(在當(dāng)前工作目錄中)并且包含一個名為" value "的可執(zhí)行文件,那么一個指向字符串" name/value "的指針將被寫入envp[0]。

如果我們的 PATH 是“PATH=name=.”,并且目錄是“name=.”存在并包含一個名為“value”的可執(zhí)行文件,然后將指向字符串“name=./value”的指針越界寫入 envp[0]。

換句話說,這種越界寫入允許我們將“不安全的”環(huán)境變量(例如,LD_PRELOAD)重新引入到pkexec的環(huán)境中。在調(diào)用main()函數(shù)之前,這些“不安全的”變量通常會(通過ld.so)從SUID程序的環(huán)境中刪除。我們將在下一節(jié)中使用這個強(qiáng)大的原語。

不過要注意的是,polkit也支持非linux操作系統(tǒng),如Solaris和*BSD,但我們尚未調(diào)查它們的可利用性。然而,我們注意到OpenBSD是不可利用的,因為如果argc為0,它的內(nèi)核拒絕execve()一個程序。

如何修復(fù)PwnKit漏洞

考慮到該漏洞在Linux和非Linux操作系統(tǒng)中的攻擊范圍,Qualys建議用戶立即更新此應(yīng)用。

目前Qualys客戶可以搜索CVE-2021-4034的相關(guān)新聞,以識別該漏洞的所有QID 和設(shè)備。

現(xiàn)在可以開始免費的 Qualys VMDR 試用,以獲得對 CVE-2021-4034 的 QID(檢測)的完全訪問權(quán)限,其中可以識別所有易受攻擊的設(shè)備。

Qualys研究團(tuán)隊在polkit的pkexec中發(fā)現(xiàn)了一個內(nèi)存破壞漏洞,pkexec是一個SUID-root程序,默認(rèn)安裝在每個主要的Linux發(fā)行版上。這個容易被利用的漏洞允許任何沒有權(quán)限的用戶通過利用默認(rèn)配置中的這個漏洞獲得脆弱主機(jī)上的完全根權(quán)限。

關(guān)于Linux的Polkit pkexec

Qualys QID 覆蓋范圍

Qualys 將發(fā)布下表中的 QID,因為它們從 vulnsigs 版本 VULNSIGS-2.5.387-2 和 Linux 云代理清單版本 lx_manifest-2.5.387.2-1 開始可用。

使用 Qualys VMDR 發(fā)現(xiàn)易受攻擊的 Linux 服務(wù)器

識別運行 Linux 內(nèi)核的設(shè)備

接下來會介紹當(dāng)前 Qualys 客戶如何在他們的環(huán)境中檢測 PwnKit。

管理這一關(guān)鍵漏洞和降低風(fēng)險的第一步是識別運行Linux操作系統(tǒng)的所有設(shè)備。Qualys VMDR使得識別此類設(shè)備變得很容易。

Query: operatingSystem.category1:`Linux`

一旦主機(jī)被識別出來,就可以將它們與“動態(tài)標(biāo)簽”組合在一起,比如說:“Linux 服務(wù)器”。這有助于自動對具有上述漏洞的現(xiàn)有主機(jī)以及在你的環(huán)境中啟動的任何新 Linux 設(shè)備進(jìn)行分組。標(biāo)簽使得這些分組設(shè)備可以在整個Qualys云平臺上進(jìn)行查詢、報告和管理。

基于 RTI 的優(yōu)先級

使用 Qualys VMDR,可以使用以下實時威脅指標(biāo) (RTI) 確定 PwnKit 漏洞的優(yōu)先級:

  • Predicted_High_Risk
  • Privilege_Escalation
  • Easy_Exploit
  • High_Lateral_Movement

使用Qualys VMDR修復(fù)

我們預(yù)計供應(yīng)商將在短期內(nèi)發(fā)布針對該漏洞的修復(fù)。當(dāng)修復(fù)可用時,Qualys Patch Management可用于將這些修復(fù)部署到易受攻擊的設(shè)備中。

使用基于上述 RTI 方法的相同優(yōu)先級,客戶可以使用漏洞右側(cè)的“立即修復(fù)”按鈕將 PwnKit 添加到修復(fù)作業(yè)中。一旦修復(fù)發(fā)布,Qualys將找到該漏洞的相關(guān)修復(fù),并自動將這些修復(fù)添加到修復(fù)作業(yè)中。這將允許客戶將這些修復(fù)部署到易受攻擊的設(shè)備上,所有這些修復(fù)都來自Qualys云平臺。

使用威脅防護(hù)檢測受影響的設(shè)備

VMDR還允許你使用威脅保護(hù)自動映射易受PwnKit漏洞攻擊的設(shè)備。

使用 VMDR 儀表板跟蹤漏洞

使用 VMDR 儀表板,你可以實時跟蹤此漏洞、受影響的主機(jī)、狀態(tài)和整體管理。為儀表板小部件啟用趨勢分析后,你可以使用“PwnKit”儀表板跟蹤環(huán)境中的這些漏洞發(fā)展趨勢。


利用 Qualys XDR 識別漏洞利用嘗試

Qualys XDR 客戶可以使用標(biāo)題為“T1068 – Linux:檢測到 Polkit pkexec 本地特權(quán)升級漏洞 (CVE-2021-4034)”的規(guī)則名稱來檢測受影響系統(tǒng)上的利用后活動。啟用后,客戶還可以使用以下 QQL 查詢搜索易受攻擊的系統(tǒng):

  • eventName:” The value for the SHELL variable was not found the /etc/shells file“ or “contains suspicious content“

客戶將能夠看到類似以下截圖的輸出:

常見問題

哪些版本易受攻擊?

從2009年開始的所有Polkit版本都很脆弱。

Qualys研究團(tuán)隊是否會發(fā)布此漏洞的利用代碼?

不會。但鑒于利用該漏洞非常容易,我們預(yù)計在本博客發(fā)布日期后的幾天內(nèi),公開的漏洞利用將變得可用。

是否有緩解措施?

如果你的操作系統(tǒng)沒有可用的補(bǔ)丁,你可以從 pkexec 中刪除 SUID 位作為臨時緩解措施;例如:

# chmod 0755 /usr/bin/pkexec

這個漏洞可以遠(yuǎn)程利用嗎?

不可以,但是如果攻擊者可以以任何非特權(quán)用戶身份登錄,則可以快速利用該漏洞來獲得 root 特權(quán)。

能不能查到被攻擊的證據(jù)?

是的,這種利用技術(shù)會在日志中留下痕跡,比如“在/etc/ SHELL文件中找不到SHELL變量的值”或者“環(huán)境變量的值[……]包含可疑內(nèi)容”。但是,請注意,這個漏洞也可以被利用,不會在日志中留下任何痕跡。

本文翻譯自:https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034

責(zé)任編輯:武曉燕 來源: 嘶吼網(wǎng)
相關(guān)推薦

2021-06-11 21:46:31

RocketMQ數(shù)據(jù)JSON

2023-05-08 07:20:22

Doris分析型數(shù)據(jù)庫

2024-04-25 17:07:33

無源光網(wǎng)絡(luò)PON接入網(wǎng)技術(shù)

2015-04-13 10:12:08

Windows容器技術(shù)Nano Server

2023-06-06 18:55:45

2017-11-10 08:35:06

存儲FCoE網(wǎng)絡(luò)

2014-05-29 09:34:25

2019-05-13 08:51:53

總監(jiān)技術(shù)CTO

2019-05-06 10:51:49

總監(jiān)技術(shù)場景

2020-04-03 09:05:43

麻將 AI Suphx神經(jīng)網(wǎng)絡(luò)

2013-06-26 09:42:25

技術(shù)服務(wù)器內(nèi)存虛擬化

2018-07-17 09:34:15

Service Mes技術(shù)Kubernetes

2015-07-27 09:44:38

Amazon EC2云平臺CoreOS容器

2022-02-10 11:52:10

Windows漏洞Windows 10

2009-12-02 11:03:29

AMD

2021-03-16 15:49:30

架構(gòu)運維技術(shù)

2018-04-20 14:37:43

互聯(lián)網(wǎng)技術(shù)細(xì)節(jié)

2020-09-21 05:58:40

深度學(xué)習(xí)算法目標(biāo)檢測

2016-03-31 15:11:47

2021-10-15 11:33:11

蘋果 iOS 漏洞
點贊
收藏

51CTO技術(shù)棧公眾號