前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Harbor任意注册管理员漏洞复现-CVE-2019-16097

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

作者头像
安全小王子
发布2020-07-31 17:14:16
1.6K0
发布2020-07-31 17:14:16
举报
文章被收录于专栏:betasec

本文作者:欧根亲王号(贝塔安全实验室-核心成员)

0x01:简介

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。

镜像的存储harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。harbor以docker-compose的规范形式组织各个组件,并通过docker-compose工具进行启停。

docker的registry是用本地存储或者s3都是可以的,harbor的功能是在此之上提供用户权限管理、镜像复制等功能,提高使用的registry的效率。Harbor的镜像拷贝功能是通过docker registry的API去拷贝,这种做法屏蔽了繁琐的底层文件操作、不仅可以利用现有docker registry功能不必重复造轮子,而且可以解决冲突和一致性的问题。

0x02:原理概述及危害

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

0x03:测试环境搭建

系统环境:centos

官方容器:docker

漏洞软件:harbor

Docker在centos7以上直接yum安装即可这里不做描述

harbor 的安装从https://github.com/goharbor/harbor/releases中选择相应的版本,这里用到的是1.71。下载后解压得到

修改harbor.cfg中的honstaname处为本机IP。

然后使用./install.sh进行安装,安装成功后使用docker-compose start启动。启动成功如图所示:

这样,整个环境搭建完毕

0x04:实验环境

攻击机:kali

受害机:centos7,harbor1.71

0x05:攻击描述

1、访问受害连接查看软件版本是否为受攻击版本,受攻击版本为Harbor 1.7.6之前版本和Harbor 1.8.3之前版本。

2、使用burp进行代理抓包,并使用注册功能注册任意账户

3、抓紧注册数据,并添加poc

这里是正常注册时抓取的数据

添加poc代码"has_admin_role":true

由此返回值201 提示创建成功

0x06:验证是否成功

新建用户test002为管理员用户

0x07:防御及修复方法

  1. 关闭允许自行注册功能(Allow Self-Registration
  2. 限制源IP,只允许可信IP访问
  3. 升级到1.7.6及以上版本或者1.8.3及以上版本

0x08:文章参考来源

https://cert.360.cn/report/detail?id=57ef85f85ae82a77070ccbba2330c1a0

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 betasec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档