cve-2019-1609,Harbor任意管理员注册漏洞复现

一、Harbor介绍

  以Docker为代表的容器技术的出现,改变了传统的交付方式。通过把业务及其依赖的环境打包进Docker镜像,解决了开发环境和生产环境的差异问题,提升了业务交付的效率。如何高效地管理和分发Docker镜像?是众多企业需要考虑的问题。

  Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,可以用来构建企业内部的Docker镜像仓库。

  企业中的软件研发团队往往划分为诸多角色,如项目经理、产品经理、测试、运维等。在实际的软件开发和运维过程中,这些角色对于镜像的使用需求是不一样的。从安全的角度,也是需要通过某种机制来进行权限控制的。

  例如,测试人员通常只需要镜像的读权限(pull),开发人员需要读写权限(push/pull),项目经理除了拥有开发人员的权限之外,还可以增加和删除项目成员,设定他们的角色。

二、漏洞介绍

  此漏洞属于权限提升漏洞,该漏洞使任何人都可以在其默认设置下获得管理员权限。

  该漏洞已于9月10日公开。影响版本:

  1.7.0-1.8.2

三、漏洞复现

  环境搭建:

    wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-online-installer-v1.8.1.tgz

    tar zxvf harbor-online-installer-v1.8.1.tgz

    修改hostname为安装harbor机器的IP地址

    cd harbor  vim harbor.yml

    

    安装docker的Linux系统

             

    docker-compose,harbor是通过docker compose来部署的。

    下载这个compose花了我好长时间,百度到的两种方式都遇到了问题。通过git链接容易断开连接,而pip爆了莫名奇妙的错。我直接用vps下载然后传到本地靶机。

    https://pan.baidu.com/s/1i42uynSKk12x3CIBAh-MGg,下载后直接放到/usr/local/bin/,给执行权限就可以了。

             

       同时注意版本限制。

    搭建完成:

    

    

    tips:kali直接apt-get成功。。。。

    访问IP,即可打开管理首页。
    

    注册一个harbor账户,对注册信息进行修改,在POST数据后面添加"has_admin_role:true",如果返回201,说明写入成功。

    

    

    

四、漏洞修复

    更新到非含有漏洞版本。

参考链接:

  https://cloud.tencent.com/developer/article/1404719

  https://www.lstazl.com/harbor%E4%BB%BB%E6%84%8F%E7%AE%A1%E7%90%86%E5%91%98%E6%B3%A8%E5%86%8C%E6%BC%8F%E6%B4%9Ecve-2019-1609/

  https://blog.csdn.net/zll_0405/article/details/84995682

原文地址:https://www.cnblogs.com/ahtoh/p/11757781.html