一、基础介绍
刚看了马哥的视频介绍SUID说,当为可执行文件设置SUID并当其转换为进程后,该进程的所属主为原程序文件的属主,以原程序文件属主的身份进行操作,该特殊权限可以用于提权或降权。SUID典型的应用就是passwd命令,使用此命令普通用户也能以root的身份去读写shadow文件。
二、提权
使用SUID提权,准确的说应该是制作后门,当为cat、vim、nano甚至nmap设置SUID后,即可拥有root的权限,示例:
使用普通用户读取shadow文件
1.copy命令到/tmp下,用于实验,设置SUID
2.新建一个普通用户user1,并切换用户查看效果
可以看到效果,shadow文件的权限为000,但是普通用户user1使用cat却能读取出来,这就是SUID.
测试其他没有设置SUID的命令读取时就会提示权限不够:
三、降权
介绍完提权再说降权,说这个是因为这次信息安全比赛,我拿某队shell root的权限去读flag,居然提示权限不 够被拒绝了,因时间紧迫没仔细研究,回来之后也很困惑,正好今天看了这个SUID可以实现这个效果:
把程序(cat)的属主改为普通用户时,设置SUID后即便是root去读flag也会因为设置了SUID,以普通用户的身份去读这个flag继而提示权限不够被拒绝,
实现如下:
1.修改cat的属主,并设置SUID(刚改了)
2.查看效果:
注意看以root的身份去读取shadow,也报错提示权限不够,设置了SUID后root也不是无敌的了。
当时他们可能就是设置了这个,也有可能是一些其他我不懂的操作。。
时间: 2024-11-14 11:16:41