一、漏洞介绍
此漏洞属于一个严重的权限提升漏洞,该漏洞使任何人都可以在其默认设置下获得管理员权限。
该漏洞已分配给CVE-2019-16097,已于9月10日公开。
Harbor是一个开源的云原生注册表,用于存储,签名和扫描图像以查找漏洞。
Harbor与Docker Hub,Docker Registry,Google Container Registry和其他注册表集成。
它提供了一个简单的GUI,允许用户根据其权限下载,上传和扫描图像。
二、影响版本
Harbor 1.7.0版本至1.8.2版本
不受影响版本
Harbor>= 1.7.6
Harbor>= 1.8.3
三、漏洞危害
此漏洞在获得管理员权限后,可以启动许多攻击媒介。攻击者可以下载所有私有项目并进行检查。他们可以删除注册表中的所有映像,甚至更糟的是,通过用自己的映像替换其映像来毒害注册表。攻击者可以创建一个新用户并将其设置为admin。之后,他们可以使用新的凭据通过Docker命令行工具连接到Harbor注册表,并用所需的任何图像替换当前图像。其中可能包括恶意软件,加密矿工,甚至更糟。(危害真的蛮大的)
四、复现之环境准备
1. Cenos7安装好docker和docker-compose
Cenos7安装docker环境以及docker-compose
2.下载并安装harbor1.8.1在线安装版本
wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-online-installer-v1.8.1.tgz
tar xvf harbor-online-installer-v1.8.0.tgz
cd harbor
vi harbor.yml
修改hostname为安装Harbor机器的IP地址。
安装harbor
./install.sh
等待镜像pull结束之后,本地的Harbor环境就搭建好了,输入你的IP地址就可以进入Harbor后台了。
五、漏洞复现
1. 注册一个Harbor帐号,填写密码时注意要符合规范。
2.对注册信息进行抓包修改,在post数据后面添加”has_admin_role”:true
3.查看[Response],返回201,说明写入成功。
4.使用admin帐号进入后发现,已经成功写入帐号,并且为管理员权限。
六、批量利用poc
下载 “cve-2019-16097-1(解压密码:www.lstazl.com).zip”cve-2019-16097-1.zip – 已下载0次 – 2 KB
七、修补建议
更新即可,Harbor的维护者发布了一个修补程序,该修补程序可以关闭此关键的安全漏洞,版本1.7.6和1.8.3包含此修复程序。
参考:
https://unit42.paloaltonetworks.com/critical-vulnerability-in-harbor-enables-privilege-escalation-from-zero-to-admin-cve-2019-16097/
https://www.youtube.com/watch?v=LBgIKqdfF1kwww.youtube.com首发于:
Harbor任意管理员注册漏洞(CVE-2019-1609) (附:批量利用poc) | web安全学习者的小窝www.lstazl.com欢迎各位同行来小窝踩踩。