【奇技淫巧】利用suid进行提权
2019-08-07 19:08:32 Author: mp.weixin.qq.com(查看原文) 阅读量:30 收藏

先创建一个普通用户test,是一个普通用户的权限(即最低权限的用户),并利用su切换进test用户,利用id可以查看权限:

利用suid进行提权的话,需要先找到设置了suid的可执行文件,find /usr/bin –perm –u=s
这样通过find命令,搜索/usr/bin目录下,通过参数perm –us=s就可以搜索到/usr/bin目录下所有的设置了suid的文件。如下图,我们发现vim.basic是设置了suid的可执行文件,vim是linux下的编辑器,如果用vim编辑一些文件的话,就可以编辑一些只有root权限才可以编辑的文件,那么我们就可以编辑/etc/paswd,来增加一个我们自己的root权限的账号密码,

/etc/passwd的文件格式为:  用户名:密码:uid:gid:注释:home目录:用户的shell(具体的参考另一个文件)
那么如何生成一个密码呢?用openssl passwd -1 –salt asd 123
-1(是数字,不是L),-salt 来设置盐,盐设置为asd 密码为123,如下图:

这样我们就生成了一个密码为123,盐为asd的密码
接下来,我们编辑/etc/passwd文件,添加一个用户:
Toor用户,密码为刚才生成的盐为asd,密码为123的密码,权限为0(即root权限),注释为test,home目录就写成根目录,shell为/bin/sh,然后我们esc :wq 保存退出,发现没权限,但我们打开文件方式为:vim.basic /etc/passwd,是具有suid权限的,那我们该如何保存退出呢?答案是用强制,即下面的:wq!
如果是普通用户,用vim /etc/passwd来打开文件,用:wq!是无法保存退出的,必须用vim.basic ,这个是绝对有suid权限的(通过find命令证明过。)
如下图,我们用的是普通用户登录(test用户),id后发现是普通用户,然后我们通过python 中的pty进入交互式,然后用su切换用户,切换为我们添加的自己的root权限的用户(toor)
输入密码123,发现正常登录了,再通过id发现是root权限的用户了,实验成功。

这个实验环境即需要用find /usr/bin –perm –u=s 查看vim.basic具有suid权限,如果vim没有suid权限,则这个实验不成功,所以搭建这个实验的环境的时候,首先需要将vim设置为suid权限。即需要执行chmod u+s /usr/bin/vim.basic


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5MDkwNjA2Nw==&mid=2650374687&idx=2&sn=ab63470f6255a986c3be0da90989d135&chksm=beb081a389c708b5eb8254d2bfc3004caf58e244b8386f2c6e2d8921e3551024812bc3dc3dc9#rd
如有侵权请联系:admin#unsafe.sh