📅  最后修改于: 2023-12-03 15:40:22.550000             🧑  作者: Mango
SUID是一种设置在可执行文件上的特殊权限,它允许普通用户以拥有该文件所有者的权限来执行该文件,并具有该文件权限所具有的所有特权。通过查找SUID文件并利用特权,攻击者可以在系统上获得root权限。
下面是一些常用的查找和利用SUID文件的方法:
使用find
命令可以查找系统上的SUID文件。例如:
find / -perm /4000 -type f 2>/dev/null
这个命令会在整个文件系统中查找文件权限设置为SUID的所有文件,并将结果输出到标准输出。由于可能会遇到无法访问的目录,因此我们需要将错误输出重定向到/dev/null
设备。
在输出的结果中,我们需要找到潜在的危险文件。例如,/bin/su
和/usr/bin/passwd
等文件是非常危险的SUID文件,因为它们允许普通用户以root权限执行命令。
如果我们找到了一个有足够特权的SUID文件,并且还存在漏洞,我们就可以利用它来获取root权限。
例如,如果我们找到了/bin/su
文件,并且该文件存在一个漏洞,我们可以使用gdb
工具来获取该文件的root权限。步骤如下:
gdb
。命令:gdb /bin/su
LD_PRELOAD
,以便加载一个我们自己编写的so文件。例如:set environment LD_PRELOAD /path/to/our.so
run -c '/bin/bash'
gdb
后,我们就拥有了root shell。此外,还有一些工具可以帮助我们查找和利用SUID文件。例如,sudu
和pspy
等工具可以查找SUID文件并监视它们的活动,以便识别可能的漏洞。这些工具可以在GitHub上找到。
通过查找SUID文件并利用特权,攻击者可以在系统上获得root权限。因此,系统管理员应该定期扫描系统上的SUID文件,并监视它们的活动,以便及时发现和修复漏洞。