专栏首页大数据文摘看我如何发现Uber合作方网站XXE 0day漏洞并获得9000美元赏金

看我如何发现Uber合作方网站XXE 0day漏洞并获得9000美元赏金

转自:FreeBuf.COM,编译:FB小编clouds

近期,俄罗斯渗透测试人员Vladimir Ivanov发现了反勒索数据备份服务商Code42的一个XXE 0day漏洞,利用该漏洞可以从使用Code42服务的公司窃取相关备份数据,这些公司包括Uber、Adobe、Lockheed Martin(洛克希德马丁)等。作者在这篇文章中分享了该漏洞的发现过程。

Code 42,成立于2007年,最初以个人数据保护和备份软件起家,随后便逐渐拓展到了企业数据备份和反勒索服务领域。目前该公司在全球管理并保护着大量企业和组织机构数据,而且该公司所有的数据备份和存储解决方案都是跨平台的。

漏洞发现过程

2016年5月,我在参与HackerOne平台的Uber漏洞赏金项目过程中,偶然通过测试发现了以下这个HTTP应用管理页面,这是Uber与合作公司Code42的一个系统服务:

通过该页面的API接口https://backup.uberinternal.com:4285/api/serverEnv 分析发现,其部署使用了Code42最新版本(5.2.0)的服务框架,而且Code42的相关产品在CVE漏洞库中没有任何披露漏洞,想要发现安全问题,密码破解显然不是一个可行方案,唯一可行的选择就是,去发现该系统的未知漏洞。

接下来,我从Code42官网浏览了一些公开说明文档,从中寻找涉及的API接口的方法描述,然后构造自动化的暴力猜解方式去请求这些接口,尝试发现其中一些不需要身份验证的API。幸运的是,最终发现其中一个API存在问题,任何外部用户都可以对其作出有效的登录访问:https://www.crashplan.com/apidocviewer/#SsoAuthLoginResponse

在Code42公开文档中对/api/SsoAuthLoginResponse的描述是这样的:接收SAMLResponse的GET参数,其中SAMLResponse包含了base64编码的XML用户验证数据:

由此,我构造了一个指向我个人VPS的XML外部实体对该API接口进行测试,尽管测试中使用的XXE漏洞利用代码非常简单,但出于保密,在此就不做公开。从以下测试的端口监听信息可以看出,该服务系统存在XXE外带数据(Out-of-Band)攻击漏洞:(XXE-OOB漏洞详情参考Freebuf-《DTD/XXE 攻击笔记分享》BlackHat 2013 《XXE-Out of Band Attack》

由于系该统使用了java框架,而俄罗斯的OnSec实验室曾针对Java程序的XXE-OOB攻击,作出了相关研究,并给出相应的payload,和一个通过ftp服务读取系统目录的漏洞利用脚本xxe-ftp.rb,因此,我直接用xxe-ftp程序进行了验证。

xxe-ftp.rb原理是这样的,攻击者主机运行该脚本后,8088端口作为http服务端负责获取OOB攻击payload,而8077端口用于ftp连接服务:

经验证,我成功获取到了系统服务器/home/目录下的列表,并向HackerOne平台作了漏洞报告,获取列表截图如下:

经Uber安全团队向Code42确认,这是一个0day漏洞,Uber安全团队要求我给出更多漏洞详细证明。在他们的许可下,我又作了进一步渗透测试,最终发现了备份日志的存储目录文件。以下是系统服务器本地最近的某一储存日志文件,其中包含了操作用户名和其它敏感信息:

测试结果已经很能说明问题:只要运行有Code42周边服务或托管业务的公司,我都可以利用该漏洞获取到其备份系统网站内的所有备份文件。为了解该漏洞的现实威胁,我利用Code42服务端口4285在shodan上进行识别,发现了一些使用Code42相关服务的IP,其中还包括了一家全球知名的安全公司*&^#$#!:

漏洞披露进程

2016.5.6 通过HackerOne向Uber提交最初漏洞报告; 2016.5.23 Code42更新了软件,并释出了最新安全的5.2.0.1版本软件; 2016.6.28 Uber向我发放了9000美元漏洞赏金; 2016.8.24 Code42要求我待其所有客户公司部署完最新版软件后再发表该漏洞的分析文章; 2017.1.24 Code42告知我可以发表文章。

*参考来源:blogspotsecurityaffairs

本文分享自微信公众号 - 大数据文摘(BigDataDigest)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-02-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 追剧学AI (6) | 概率论在机器学习中的迁移运用,手把手建一个垃圾邮件分类器

    大数据文摘
  • 估值20亿英镑后,英国Fintech新贵的疫情自救故事

    在伦敦的酒吧和咖啡馆里,你总会看到一张珊瑚色的卡片,这张珊瑚色卡片来自Monzo银行,人们可以通过Monzo app和Siri,在手机上迅速完成支付。

    大数据文摘
  • 赵国栋:解密中关村大数据产业联盟

    大数据文摘
  • tf.Variable

    变量跨run()调用在图中维护状态。通过构造类变量的实例,可以向图中添加一个变量。Variable()构造函数需要变量的初值,它可以是任何类型和形状的张量。初值...

    于小勇
  • 「镁客·请讲」黑晶VR徐强:VR教育先抓核心阵地,快速攻占学校

    镁客网
  • SAP C/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.blog....

    Jerry Wang
  • 修改phpMyAdmin中的默认1440超时时间

    步骤一:修改PHP配置中session的过期时间。 session.gc_maxlifetime = 1440 //改为 session.gc_maxlifet...

    joshua317
  • Golang程序调试工具介绍(gdb vs dlv)

    通过log库输出日志,我们可以对程序进行异常分析和问题追踪。但有时候,我也希望能有更直接的程序跟踪及定位工具能够帮助我们更方便快捷的追踪、定位问题,最直观的感觉...

    sunsky
  • 大数据框架学习:从 Hadoop 到 Spark

    Hadoop 软件库是一个利用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理的框架。本文主要介绍从 Hadoop 到 Spark 大数据框架。

    李德鑫
  • VR创新创业大赛上海站联合专访:影创、奥英明年年初均将有大动作

    VRPinea

扫码关注云+社区

领取腾讯云代金券