Linux包管理器snap本地提權(quán)漏洞分析

本篇內(nèi)容主要講解“Linux包管理器snap本地提權(quán)漏洞分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Linux包管理器snap本地提權(quán)漏洞分析”吧!

成都創(chuàng)新互聯(lián)公司專注于紹興企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站定制開發(fā)。紹興網(wǎng)站建設(shè)公司,為紹興等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

0x00 漏洞背景

snap是一個Linux系統(tǒng)上的包管理軟件。在Ubuntu18.04后默認(rèn)預(yù)安裝到了系統(tǒng)中。2019年2月13日,Chris Moberly公開了利用snap包管理工具的服務(wù)進(jìn)程snapd中提供的REST API服務(wù)因?qū)φ埱罂蛻舳松矸蓁b別存在問題從而提權(quán)的漏洞細(xì)節(jié)。下面是利用已公開的exp進(jìn)行提權(quán)成功后的截圖。

Linux包管理器snap本地提權(quán)漏洞分析

Linux包管理器snap本地提權(quán)漏洞分析

0x01 漏洞影響

利用該漏洞可以讓普通用戶偽裝成root用戶向snapd提供的REST API發(fā)送請求。攻擊者利用精心構(gòu)造的安裝腳本或Ubuntu SSO可以讓并不具有sudo權(quán)限的普通用戶獲得執(zhí)行sudo的權(quán)限,從而獲得提升到root用戶權(quán)限的能力,達(dá)到本地提權(quán)的效果。

0x02 漏洞細(xì)節(jié)

snapd是snap包管理器的一個服務(wù)進(jìn)程。它以root用戶權(quán)限在后臺運(yùn)行,并允許普通用戶以UNIX套接字的方式與其進(jìn)行通信,并提供服務(wù),其中一些特權(quán)操作需要鑒別用戶身份(uid)才能執(zhí)行。其中獲取客戶端信息的代碼最終會使用ucrednetGet(如下)函數(shù)來獲取客戶端用戶id,在該函數(shù)中會把字符串remoteAddr按";"分割后尋找"uid="字符串來判斷當(dāng)前用戶的uid,通常情況下,remoteAddr大致為“ pid=5100;uid=1002;socket=/run/snapd.socket;@”這樣的格式。從代碼邏輯可以看出,后面出現(xiàn)的"uid="結(jié)果會覆蓋前面得到的uid。攻擊者利用這一點即可通過構(gòu)造UNIX socket綁定地址,例如"/tmp/sock;uid=0;"。達(dá)到偽裝root用戶發(fā)出請求的目的。進(jìn)而通過snapd執(zhí)行一些特權(quán)操作達(dá)到提權(quán)的目的。

func ucrednetGet(remoteAddr string) (pid uint32, uid uint32, socket string, err error) {
...
   for _, token := range strings.Split(remoteAddr, ";") {
       var v uint64
...
       } else if strings.HasPrefix(token, "uid=") {
           if v, err = strconv.ParseUint(token[4:], 10, 32); err == nil {
               uid = uint32(v)
           } else {
               break
}

0x03 修復(fù)建議

目前漏洞細(xì)節(jié)已經(jīng)披露,官方也在2.37.1中予以修復(fù)。Ubuntu用戶可以通過apt update && apt-get install snap ,將snap升級至最新版本予以修復(fù)。

到此,相信大家對“Linux包管理器snap本地提權(quán)漏洞分析”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁名稱:Linux包管理器snap本地提權(quán)漏洞分析
轉(zhuǎn)載注明:http://bm7419.com/article34/goshpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站策劃、標(biāo)簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、做網(wǎng)站、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)