溫馨提示×

溫馨提示×

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

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

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

發(fā)布時(shí)間:2020-10-25 04:22:29 來源:腳本之家 閱讀:166 作者:secist 欄目:服務(wù)器

前言

本文我將為大家介紹一個(gè)面向行的文本編輯器命令“ed”,它主要用于生成,顯示,更改和操作文本文件。所有ed命令都在行或行范圍內(nèi)執(zhí)行操作;例如,“d”命令刪除行;“m”命令移動行,“t”命令復(fù)制行等等。現(xiàn)在,我們要做的就是利用這些“ed”命令,來提升我們在Linux系統(tǒng)上的用戶權(quán)限。

ed 概要

Linux中的ed命令用于啟動“ed文本編輯器”,這是一個(gè)基于行的文本編輯器。它是Linux中功能最簡單的文本編輯程序,一次僅能編輯一行而非全屏幕方式的操作。它可以幫助用戶執(zhí)行許多操作,如創(chuàng)建,編輯,顯示和操作文件。

它有兩種不同的工作模式,命令模式(command mode)和輸入模式(input mode)。在命令模式下,“ed”從標(biāo)準(zhǔn)輸入讀取命令并執(zhí)行,以操作編輯器緩沖區(qū)的內(nèi)容,而在輸入,如“m”(移動),“d”(刪除),“t” (復(fù)制)或“c”(更改)命令時(shí),ed就會進(jìn)入其輸入模式。

鍵入help命令以了解有關(guān)“ed”的更多信息。

ed --help 

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

使用ed初始化文件:在初始階段運(yùn)行命令時(shí)終端空間如下圖所示。默認(rèn)情況下,編輯器創(chuàng)建一個(gè)要寫入的空緩沖區(qū),類似于其他基于命令行的編輯器,在沒有文件名的情況下調(diào)用時(shí)的工作方式。

ed

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

現(xiàn)在,讓我們來創(chuàng)建一個(gè)包含文本內(nèi)容的文本文件。首先,我們輸入a進(jìn)入輸入模式,完成編輯后輸入一個(gè)點(diǎn)(.)然后回車回到命令模式。按wq文件名保存新文件,再按q退出編輯器。

ed
a
.
w info.txt
q
cat info.txt

你可以使用“cat”命令確認(rèn)文件是否已被成功創(chuàng)建。

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

使用ed編輯文件:如果現(xiàn)在你想要再次編輯同一文件,你可以通過將文件名作為參數(shù)傳遞給ed命令,然后按照以上相同過程操作即可。

在下圖中,我在我的文件“info.txt”中添加了一行,并通過相同的方式創(chuàng)建了它。

ed info.txt

注:無論何時(shí)使用ed命令的任何選項(xiàng)你都需要使用 ‘a(chǎn)', ‘.', ‘w', ‘q'命令 。

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

現(xiàn)在,我們已經(jīng)學(xué)習(xí)了使用ed的基本編輯方法。那么如果我們想要更改特定行,該如何使用ed來實(shí)現(xiàn)該操作呢?

在下圖中,我為大家展示了如何使用'p'和'n'參數(shù)打印任何的特定行

當(dāng)我們輸入'p'(小寫) 打印當(dāng)前行,如輸入 ‘,p'(不含引號) 則顯示全文;'n'用于顯示最后一行的行號和內(nèi)容,輸入數(shù)字來選擇要編輯行;

ed info.txt
p

因此,我們只需輸入相應(yīng)的行號即可。

n
2
5

定位到相應(yīng)的行后,你可以通過輸入“c”命令來更改行。例如,這里我更改了第5行,這是我文件中的最后一行,我添加了一些額外的內(nèi)容在其中,并使用'cat'命令查看我的內(nèi)容是否已成功被添加,最后按照上述相同的過程保存文件即可。

c
cat info.txt

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

通過使用ed顯示錯(cuò)誤消息:當(dāng)你鍵入ed無法理解的內(nèi)容時(shí)會顯示問號 (?)。了解更多有關(guān)錯(cuò)誤編輯的信息,只需鍵入'h'即可。

ed info.txt
b
h

從以下截圖中可以看到,當(dāng)我輸入了一個(gè)'b'選項(xiàng)時(shí)它返回了(?),這是表示錯(cuò)誤的符號。而我輸入'h' ed則更進(jìn)一步的向我說明了錯(cuò)誤的原因,即選項(xiàng)b為未知命令。

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

ed復(fù)制和移動操作:除了上面討論的功能之外,ed還提供了在其他位置復(fù)制和粘貼行的選項(xiàng),在這種情況下,我們使用't'命令復(fù)制行,'m'命令移動行。你需要在t命令前添加你想要復(fù)制和添加行的行號。例如,如下所示,我已將第5行復(fù)制到位置0并進(jìn)行了保存。

ed info.txt
5t0
cat info.txt

在上述命令中,5表示要復(fù)制的行,0表示粘貼位置的行號。

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

ed搜索操作:我們也可以按關(guān)鍵字搜索任意的行。首先,我們在ed后使用“-p%”選項(xiàng),這將進(jìn)一步的提示你搜索任務(wù)。我們只需在%后跟搜索關(guān)鍵字,按Enter鍵即可。

ed -p% info.txt
%/misconfiguration
%/Linux

在下圖中,ed僅打印了那些包括搜索關(guān)鍵字misconfiguration和Linux的行。

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

濫用 ed 命令

現(xiàn)在,我們將利用ed命令執(zhí)行提權(quán)操作。為此,我們需要設(shè)置具有管理權(quán)限的ed command lab。然后,我們將查看獲取sudo權(quán)限后對它的影響,以及我們?nèi)绾胃嗟貙⑵溆糜谔釞?quán)。

如下圖所示,我創(chuàng)建了一個(gè)擁有所有sudo權(quán)限的本地用戶(test)。

要添加sudo權(quán)限請打開/sudoers文件,并輸入以下行作為用戶權(quán)限規(guī)范。

test All=(root) NOPASSWD: /bin/ed

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

利用 Sudo 權(quán)限

我們需要受害者機(jī)器的會話,這將有助于我們讓本地用戶訪問目標(biāo)系統(tǒng),并通過它提升為root用戶權(quán)限。

首先,我們使用ssh連接到目標(biāo)機(jī)器。鍵入以下命令以通過本地用戶登錄獲取訪問權(quán)限。

ssh test@192.168.1.31

然后我們查找具有sudo權(quán)限的“test”用戶,發(fā)現(xiàn)用戶“test”可以在沒有密碼的情況下以“root”權(quán)限執(zhí)行ed命令。

sudo -l

在知道了test用戶擁有sudo權(quán)限的事實(shí)后,我們可以使用ed命令訪問空緩沖區(qū)來調(diào)用bash /sh shell。如下所示,我們的用戶權(quán)限已被提升為了root。

如何使用Linux文本操作命令ed進(jìn)行提權(quán)nov5詳解

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對億速云的支持。

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

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

AI