【奇技淫巧】利用suid进行提权

admin 2021年7月21日00:12:10评论96 views字数 1070阅读3分34秒阅读模式

【奇技淫巧】利用suid进行提权


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

【奇技淫巧】利用suid进行提权


利用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权限的账号密码,

【奇技淫巧】利用suid进行提权


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

【奇技淫巧】利用suid进行提权


这样我们就生成了一个密码为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权限的用户了,实验成功。

【奇技淫巧】利用suid进行提权



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

【奇技淫巧】利用suid进行提权


本文始发于微信公众号(T00ls):【奇技淫巧】利用suid进行提权

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年7月21日00:12:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【奇技淫巧】利用suid进行提权http://cn-sec.com/archives/348985.html

发表评论

匿名网友 填写信息