📜  查找 suid 文件提权 (1)

📅  最后修改于: 2023-12-03 15:40:22.550000             🧑  作者: Mango

查找 suid 文件提权

SUID是一种设置在可执行文件上的特殊权限,它允许普通用户以拥有该文件所有者的权限来执行该文件,并具有该文件权限所具有的所有特权。通过查找SUID文件并利用特权,攻击者可以在系统上获得root权限。

下面是一些常用的查找和利用SUID文件的方法:

1. 查找SUID文件

使用find命令可以查找系统上的SUID文件。例如:

find / -perm /4000 -type f 2>/dev/null

这个命令会在整个文件系统中查找文件权限设置为SUID的所有文件,并将结果输出到标准输出。由于可能会遇到无法访问的目录,因此我们需要将错误输出重定向到/dev/null设备。

在输出的结果中,我们需要找到潜在的危险文件。例如,/bin/su/usr/bin/passwd等文件是非常危险的SUID文件,因为它们允许普通用户以root权限执行命令。

2. 利用SUID文件

如果我们找到了一个有足够特权的SUID文件,并且还存在漏洞,我们就可以利用它来获取root权限。

例如,如果我们找到了/bin/su文件,并且该文件存在一个漏洞,我们可以使用gdb工具来获取该文件的root权限。步骤如下:

  1. 启动gdb。命令:gdb /bin/su
  2. 设置环境变量LD_PRELOAD,以便加载一个我们自己编写的so文件。例如:set environment LD_PRELOAD /path/to/our.so
  3. 运行可执行文件并触发漏洞。例如:run -c '/bin/bash'
  4. 退出gdb后,我们就拥有了root shell。

此外,还有一些工具可以帮助我们查找和利用SUID文件。例如,sudupspy等工具可以查找SUID文件并监视它们的活动,以便识别可能的漏洞。这些工具可以在GitHub上找到。

总结

通过查找SUID文件并利用特权,攻击者可以在系统上获得root权限。因此,系统管理员应该定期扫描系统上的SUID文件,并监视它们的活动,以便及时发现和修复漏洞。