zoukankan      html  css  js  c++  java
  • CVE-2019-16097:Harbor任意管理员注册漏洞复现

    0) 原文参考

    原创 Timeline Sec Richard

    1) Harbor简介

          Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。

         作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。

     

    2) 原理概述

          该漏洞是一个垂直越权漏洞,因注册模块对参数校验不严格,可导致任意管理员注册。攻击者注册管理员账号后可以接管Harbor镜像仓库,从而写入恶意镜像,最终可以感染使用此仓库的客户端等。

     

    3) 影响范围

    Harbor1.7.6之前版本和Harbor1.8.3之前版本

     

     

    4) 环境搭建

    从这里下载:

    https://github.com/goharbor/harbor/releases

    修改里面的配置文件harbor.cfg(1.7.0版本的,别的版本不一定是这个配置文件,还有可能是别的:如1.8.2版本的配置文件为harbor.yml,具体情况具体分析):

    vim harbor.cfg

    这里面我只修改了hostname这个参数,我改成了我的ip(如果想修改别的参数,参考:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md)

    修改完之后,保存退出,进行安装:

    ./install.sh

    正常安装情况下的效果,如图:

     

     

     

     

    启动harbor:

    5) 漏洞利用

    首先我们访问:192.168.1.134(我配置的hostname)

    进入注册用户界面,输入注册信息,点击注册抓包:

     

    发送到重放模块

    添加我们的poc:

    "has_admin_role":true

     

     

    点击go

     

    发现提示成功创建

    为了验证,我们利用这个账号再次注册,发现:

     

    用创建的这个账户进行登录,看一下我们通过POC创建的用户的权限:

     

    成功,是管理员权限

    6)  修复方式

    升级Harbor版本到 1.7.6 和 1.8.3

    参考链接:

    https://www.cnblogs.com/lanyincao/p/11571059.html

    https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

    https://blog.51cto.com/lzlutao/2388635?source=dra

     

  • 相关阅读:
    “上海名媛群”事件,我来说几句
    急于脱手商业地产的酒店式公寓,让我在无锡买了房
    40年产权的商业地产,个人投资者决不能碰
    产权分割商铺,太坑人!
    我的第二故乡 – 武汉
    我的第二故乡
    Consul踢除失效服务和移除Node节点
    合并2个数组为1个无重复元素的有序数组--Go对比Python
    当Prometheus遇到混沌工程
    测试流程规范--测试准入、准出、停止标准、bug优先级定义
  • 原文地址:https://www.cnblogs.com/Sylon/p/11747443.html
Copyright © 2011-2022 走看看