内核漏洞提权
GTFOBins与权限提升
SUID 代表 set user ID,是 Linux 的一项功能,允许用户以指定用户的权限执行文件。Linux bash 称之为壳程序,用于用户与操作系统进行交互。通常会根据不同的用户启动不同的权限。通过将 bash 程序标记为 SUID,所有者为 root,只要低权限用户执行程序,bash 就会以 root 权限执行。
执行id命令查看当然用户权限为普通用户test, 无法查看用于存储 Linux 系统中用户的密码信息影子文件 /etc/shadow,如图所示。
查看影子文件
可以通过如下命令查找可能存在SUID提权的二进制文件,如图所示。
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;
查找SUID特权文件
发现存在配置错误的/tmp/bash文件,bash是用于用户与操作系统进行交互的shell程序,通过如下命令,可以提权到root,效果如图所示。
./bash -p
SUID提权成功
可以看到,提权成功,此时已经可以访问etc/shadow文件。
GTFOBins是一个开源项目,详细列出了大量可用于绕过错误配置系统中的本地安全限制的Unix二进制文件,并且通过shell Sudo SUID等标签标注了可能执行的意外功能,部分列表内容如图所示。
GTFOBins文件列表
Ftp是常用的Linux命令,为了方便操作,ftp命令也经常被管理员添加到sudo组中,GTFOBins列出了ftp可能存在的提权问题。
当ftp命令被添加到sudo中时,查询GTFOBins可知,执行如下命令即可造成权限提升,如图所示。
sudo ftp
!/bin/sh
ftp提权成功
在Linux操作系统中,权限划分是十分严格的,超级用户root可以访问主机上的所有文件,而普通用户无法访问不允许访问的文件。因此在日常使用中,在应妥善包含root账号密码,做好权限最小化控制,不随意配置特权二进制文件,尽量使用低权限账户。
内核漏洞也是Linux操作系统中产生权限提升的一大攻击面。在日常使用中,应该及时更新系统内核版本,及时更新主机安装的软件及依赖包,减少内核漏洞。
本文分享自 Ms08067安全实验室 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!