这个漏洞争议比较大,但是鉴于漏洞可以下载公开镜像并能查看镜像中的一些敏感信息,所以对于渗透来说也是很重要的辅助。刚好碰到了这个漏洞,看了下网上的复现文章,感觉有些讲的不是很清楚,所以做一下记录。
漏洞描述
Harbor
是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(RBAC)、LDAP、审计、安全漏洞扫描、镜像验真、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。
cve-2022-46463
Harbor 中存在访问控制错误问题,允许攻击者无需身份验证即可访问公共和私有镜像存储库的所有信息,并拉取镜像。
漏洞参考信息:
https://avd.aliyun.com/detail?id=AVD-2022-46463
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-46463
此漏洞比较乌龙,虽然cve给了编号,但是官方认为这是harbor官方文档中明确定义的特性之一,即用户可以设置一些镜像为公开,该特性导致harbor上所有被设置为公开的项目都通过相应的API接口被列举,获取详细信息,甚至被拉取。但是有些渗透工作者反馈,harbor私有的库和镜像,也可以拉取。
漏洞复现
懒得搭了,所以直接用了真实环境进行复现。
遇到目标的Harbor版本为v2.0.1,在漏洞版本范围内。
在搜索框中随便搜索一个字母
即可显示含有该字母的项目
但此时点击项目会跳到登录页面,我们使用一段github上的poc去打印出一些项目的url地址
https://github.com/nu0l/CVE-2022-46463/blob/main/cve-2022-46463.py
脚本跑出来的Vulnerability URL,丢掉burpsuite中抓包:
将所有的请求报都右键点击这个选项再放包:
遇到响应包是这个包时:
改为以下内容后再放包:
此时前端页面返回了项目信息:
点击复制键即可在docker中拉取镜像。
需要注意的一点是,docker默认拉远程镜像仓库镜像需远程地址为https且证书可信,若你的目标不符合要求,需要在docker的配置中做一下修改,将目标地址添加进去即可修改。
点击Artifacts的内容,还可以看到单个镜像的详细信息。跟上面讲的一样UNAUTHORIZED的响应包还要改成200:
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)