提權學習 Linux中使用環境變數進行提權

2021-09-28 16:15:42 字數 2505 閱讀 6784

在這篇文章中,我將會為大家介紹一些使用環境變數進行linux提權的方法,包括在ctf challenges中使用到一些的技術。話不多說,讓我們進入正題!

path是linux和類unix作業系統中的環境變數,它指定儲存可執行程式的所有bin和sbin目錄。當使用者在終端上執行任何命令時,它會通過path變數來響應使用者執行的命令,並向shell傳送請求以搜尋可執行檔案。超級使用者通常還具有/sbin和/usr/sbin條目,以便於系統管理命令的執行。

使用echo命令顯示當前path環境變數:

echo

$path

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

如果你在path變數中看到『.』,則意味著登入使用者可以從當前目錄執行二進位制檔案/指令碼,這對於攻擊者而言也是乙個提權的絕好機會。這裡之所以沒有指定程式的完整路徑,往往是因為編寫程式時的疏忽造成的。

ubuntu lab set_up

當前,我們位於/home/raj目錄,我們將在其中建立乙個名為/script的新目錄。在script目錄下,我們將編寫乙個小型的c程式來呼叫系統二進位制檔案的函式。

正如你在demo.c檔案中看到的,我們正在呼叫ps命令。

然後使用gcc編譯demo.c檔案,並提公升編譯檔案的suid許可權。

受害者vm機器假設我們已經成功滲透目標,並進入提權階段。我們通過ssh成功登入到了受害者的機器。然後使用find命令,搜尋具有suid或4000許可權的檔案。

find / -perm -u=s -type f 2>/dev/

null

通過上述命令,攻擊者可以列舉出目標系統上所有的可執行檔案,這裡可以看到/home/raj/script/shell具有suid許可權。

進入到/home/raj/script目錄,可以看到該目錄下有乙個可執行的「shell」檔案,我們執行這個檔案。

echo命令

copy命令

symlink命令

ln -s /bin/sh ps

export path=.:$path

./shell

idwhoami

因此,攻擊者可以操縱環境變數path來進行提權,並獲得root訪問許可權。

提權學習 Linux普通使用者提權為root

當你的才華 還撐不起你的野心時 那你就應該靜下心來學習 目錄 linux普通使用者提權為root 接下來直接看例項 我記得我以前用linux的時候,忘記root密碼是常有的事情,很多時候大家都會選擇重啟系統,進入單使用者模式重置root密碼,但在實際運維工作中,就未必能任性重啟了。分享乙個不必重啟也...

linux中使用指令碼定義環境變數

1 新建指令碼檔案 touch test.sh 2 使用vi vim等編輯器編寫指令碼 vim test.sh 修改內容如下 bin sh my first script export arch arm export path gcc arm none eabi gcc linaro bin pat...

在Linux環境中使用USB儲存器

如何在linux環境中使用usb介面的儲存裝置?這是各大電腦論壇上出現得比較多的乙個問題,同此可見這也是擺在許多電腦玩家面前的一道難題。本文就為您提供一套完美的解決方案,通過下面的方法,您僅可以在linux環境中方便地使用u盤 usb硬碟盒,而且還能將數位相機作為usb大容量儲存器。這裡就以red ...