CVE-2019-16097:Harbor任意管理员注册漏洞复现

0x00 Harbor简介

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

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

 

0x01 原理概述

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

 

0x02 影响范围

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

 

0x03 环境搭建

需要用到docker环境

Kali 安装docker 的命令是: apt-get install docker docker-compose

Harbor 用的是v1.7.0版本的

https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.0.tgz

下载后,对安装包进行解压:

导入  harbor 镜像到虚拟机

tar -xzvf harbor-offline-installer-v1.7.0.tgz

 

修改里面的配置文件harbor.cfg

vim harbor.cfg

这里面我只修改了hostname这个参数,我改成了我的ip

 

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

./install.sh

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

 

 

启动harbor:

0x04 漏洞利用

首先我们访问:http://192.168.115.43(我配置的hostname)

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

 

发送到重放模块

添加我们的poc:

"has_admin_role":true

 

 

 

发现提示成功创建

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

 

 

此时用刚刚测试创建的用户 登录web界面之后 查看 用户的身份

成功,是管理员权限

 

0x05 修复方式

升级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

 

发布了46 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41770175/article/details/102488105