赞
踩
CVE的英文全称是Common Vulnerabilities & Exposures(公共漏洞和暴露)。
高危
基本权限 UGO
属主------->u 属组------->g 其他人------>o
图片出处:xiaosha
- 读(read):r ---->4
- 写(write):w ---->2
- 执行: x(exec) ----->1
- r w x rw- r--
- 属主权限 属组权限 其他人权限
suid通过s字符标识判定,当s出现在文件所有者的x权限时,如上图/usr/bin/passwd文件,状态位:-rwsr-xr-x,此时就可以判定为时suid。
SUID的目的:为了让本来没有相应权限的用户运行这个程序,可以短暂的享有该程序拥有者的权限。就比如上方图例,/usr/bin/passwd该二进制程序是用来修改密码的,但是linux系统中用户众多,有root、普通用户等等,这些用户都需要在特殊情况修改密码,比如在忘记登录密码时。
具体流程:
因为passwd的权限对任何用户都是可执行的,所以系统中不管什么用户都可执行passwd文件的拥有者是属于root当普通用户在执行passwd命令时,会在执行期间短暂拥有root权限普通用户借助root权限修改了/etc/shadow文件最后把密码修改成功这时候,在攻击者的角度,就可以利用此类拥有者为root的二进制程序,提权成功.
当在渗透过程中获取了shell,可以使用find命令查询系统上所有的s权限位文件,命令:
find / -perm -4000 -type f -ls
注:sgid,如果用户在此目录下具有w,写的权限的话,若使用者在此目录下建立新文件,则新文件的群组与此目录的群组相同。
注:SBIT对文件不起作用
这toto命令具有SUID权限,
- echo "/bin/bash" > /tmp/id
- chmod 777 /tmp/id
- export PATH=/tmp:$PATH
- ./toto
将命令/bin/bash
写入文件/tmp/id
中,然后设置文件的执行权限为777
(允许任何人执行)。接着将/tmp
加入环境变量PATH
中,这将导致系统在查找应用程序时首先搜索/tmp
目录。最后,运行文件toto
,因为toto
不存在于$PATH
中,所以这个命令将在/tmp
目录中查找toto
文件并执行它。
获得john权限
接下里在john用户下执行sudo -l列出当前用户可以在目标系统上运行的所有 sudo
命令
Matching Defaults entries
显示当前用户的默认特权,env_reset
表示环境变量是受保护的mail_badpass
表示用户输入错误密码时会向管理员发送邮件,secure_path
表示用户在使用 sudo 命令时要使用的特定路径。john
用户可以以 root
身份运行的仅一个命令,即 /usr/bin/python3 /home/john/file.py
。这表明 john
用户可以使用 sudo
访问该命令,而无需提供 root
用户的密码。john
可以以 root
身份在目标系统上运行 /usr/bin/python3 /home/john/file.py
这个命令。- echo "import pty;pty.spawn('/bin/bash')" > file.py
- sudo python3 /home/john/file.py
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。