CVE-2019-16097 Harbor权限提拔破绽剖析 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

CVE-2019-16097 Harbor权限提拔破绽剖析

申博_安全预警 申博 85次浏览 已收录 0个评论

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,经由历程增加一些企业必须的功用特征,比方平安、标识和治理等,扩大了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor供应了更好的机能和平安。提拔用户运用Registry构建和运转环境传输镜像的效力。Harbor支撑安装在多个Registry节点的镜像资本复制,镜像悉数保存在私有Registry中, 确保数据和知识产权在公司内部收集中管控。别的,Harbor也供应了高等的平安特征,诸如用户治理,接见掌握和运动审计等。

Unit 42平安研究人员Aviv Sasson在Harbor中发明了一个严峻破绽,进击者应用该破绽能够经由历程发送歹意要求来掌握Harbor注册表。Unit 42研究人员发明有凌驾1300个运用有破绽的默许设置的Harbor Registry服务器能够经由历程互联网接见。

背景

研究人员在Harbor项目中发明了一个主要的权限提拔破绽,进击者应用该破绽能够在默许设置下猎取admin权限。该破绽于9月10日宣布,CVE编号为 CVE-2019-16097。

Harbor项目在过去4年内的知名度和盛行度不停爬升,并于客岁11月成为CNCF incubating project (CNCF孵化项目)。Harbor项目标赞助商和运用企业包含:

CVE-2019-16097 Harbor权限提拔破绽剖析

图1. Harbor项目标赞助商和运用企业

破绽影响

该破绽的影响异常严峻,由于在猎取admin权限后,能够初始化很多进击向量。进击者能够下载和检察一切的私有项目,能够删除registry上的镜像,以至能够替代镜像来污染registry。进击者能够建立新的用户,并将它设置为admin。以后,进击者能够经由历程Docker命令行东西用新的凭据衔接Harbor registry,并替代当前的镜像。歹意镜像能够说歹意软件、加密钱银挖矿机等。

POC视频以下:

https://www.biantube.com/watch/LBgIKqdfF1k

破绽剖析

起首剖析User构造:

CVE-2019-16097 Harbor权限提拔破绽剖析

图2. Harbor源代码中的User构造

使用公共语言运行时获取持久性(上)

本文我们会介绍如何通过使用公共语言运行时应用程序域管理器执行任意代码并维护对Microsoft Windows系统的访问。 工具、安全性评估和测试 在安全性评估中,获得对组织内部网络的初始访问是一项非常具有挑战性的任务,需要花费很多的时间和精力。 为了解决这个问题,可以使用多种持久性技术。这些技术可以确保失去访问权只是暂时的,这意味着你可以在特定的时间或执行特定的操作之后恢复访问权限。本文解释了如何通过使用公共语言运行时应用程序域管理器执行任意代码并维护对Microsoft Windows系统的访问。 在这篇文章中,我们将具体介绍: 1.基本.Net知识(例如公共语言运行时,全局程序集缓存

研究人员关注的目标参数是HasAdminRole,该参数的目标是表明用户是不是admin。假如能够修改成True,进击的目标就达到了。

那末怎样完成呢?起首剖析API挪用,假如有人尝试接见/api/users,那末就会发明一些风趣的挪用:

CVE-2019-16097 Harbor权限提拔破绽剖析

图3. /api/users

假如用户想要发送POST要求,就能够抵达担任新用户注册的代码段。

CVE-2019-16097 Harbor权限提拔破绽剖析

 图4. POST要求处置惩罚逻辑

破绽位于user.go:317中:

if err := ua.DecodeJSONReq(&user); err != nil

在该行代码中,我们能够从POST要求中猎取数据,然后解码为用户对象。

一般的要求payload以下所示:

{“username”:”test”,”email”:”[email protected]”,”realname”:”no name”,”password”:”Password1\u0021″,”comment”:null}

题目在于进击者能够发送一个要求,并到场参数has_admin_role。假如发送“had_admin_role” = “True”的要求,就能够建立为admin的用户。

破绽应用

研究人员写了一个简朴的python剧本,用来发送POST要求到/api/users来建立权限为admin的新用户,须要在request body中将参数has_admin_role设置为True。运转剧本后,唯一须要做的是在浏览器中翻开Harbor,并用新建立的用户登入。

处理方案

Harbor团队宣布了处理该破绽的补丁,9月18日宣布的Harbor versions 1.7.6和1.8.3版本中都进行了平安更新。宣布解释中说是经由历程制止注册时建立admin用户来处理该题目。

开发者到场了一个搜检历程来防备非治理员用户建立新的admin用户。该破绽存在于1.70-1.8.2版本中,因而研究人员发起用户尽快更新到最新版本。

本文翻译自:https://unit42.paloaltonetworks.com/critical-vulnerability-in-harbor-enables-privilege-escalation-from-zero-to-admin-cve-2019-16097/


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明CVE-2019-16097 Harbor权限提拔破绽剖析
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址