挖洞经验 | 看我如何在前期踩点过程中发现价值$4500的漏洞

发表于:2018-5-18 09:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:clouds    来源:FreeBuf

#
漏洞
#
黑客
分享:
  本文中我描述了在某漏洞赏金邀请项目中,在前期侦察踩点阶段就发现Uber子域名劫持漏洞的一个案例,漏洞原因由于Uber在暂停AWS服务后,未及时删除CNAME域名记录所致。
  刚踩点就有所发现
  首先,我用来测试子域名漏洞的工具是Aquatone(洛克希德U2侦察机代号也叫这个),这个工具非常好用,可算是众多白帽的必备利器了。非常幸运的是,我不经意地用它来测试目标,就有了发现,真像是中了头奖!
  在运行了命令 aquatone-takeover –domain {{target}}.com 之后,我就发现了目标网站某个架设在AWS上的子域名存在可劫持漏洞。一开始,我倒不觉得兴奋,因为大多数CNAME记录域名,一般都是目标测试公司仍然在用的,这样的子域名当然也就不存在可申请注册的可能。但是,我仔细分析后发现,目标公司好像是暂停了AWS服务,真的忘记把CNAME域名记录删除了,而且,我还能申请注册其CNAME域名!
  漏洞原理分析
      CNAME:别名记录。这种记录允许您将多个名字映射到另外一个域名。如WWW和MAIL对应的CNAME域名可以是www.mydomain.com和mail.mydomain.com。但实际上他们都是指向 host.mydomain.com。这里的cloundfront.net样式的CNAME域名就是指向Uber公司的uber.com域名。
  这里的子域名劫持原理是这样的,就是Uber公司使用了亚马逊AWS的服务后,由于后期暂停取消了AWS服务,但是却忘记了及时删除cloundfront.net样式的CNAME域名记录指向,此时,这个CNAME域名就存在可被别人注册的风险,恶意攻击者通过注册该域名,配合未删除的CNAME记录,就能实现对原先uber的子域劫持。
  漏洞测试
  当然,Uber已经在用的域名肯定不能申请,我们的目标是cloundfront.net样式的CNAME域名。这里有一个简单快捷的子域名劫持验证方法,那就是在上图的两组对应域名中,分别用http和https协议来测试打开,如果最终两者返回的错误响应一致,那么可以初步判断存在子域劫持可能。
  如果存在子域名可申请注册可能,为了不影响目标测试公司的声誉,那么最好是把你自己的测试页面放到网站的非根目录/下。我申请注册了上述cloundfront.net样式域名,并把我的一个简单的HTML测试PoC页面指向了其域名解析,如下:
  很好,毫无疑问地实现了子域名劫持测试。我把这个漏洞上报给HackerOne之后,他们非常重视,在4天内就给予了漏洞修复和回应。然而,比较有意思的是,在我进行子域名劫持测试期间,由于具备对该子域的管理权,所以也从后台却收集到了一些不可思议的数据。
  竞争异常激烈的众测领域
  上图流量分析中,可以看到总共有1200多个请求测试,很多网络行为貌似都是白帽黑客对网站进行的漏洞探测,其中包含了大量的各种目录测试枚举、XSS测试、开放重定向验证等。由此可以反映出,我们的漏洞赏金项目也是竞争激烈啊,还好,我有幸参与的是不那么竞争惨烈的邀请项目,而且非常走运地发现了这个漏洞。
  最终,由于该漏洞涉及的子域名可以在其中设置有效的cookie信息,存在很高的安全隐患,因此,获得了项目发起方$4500美金的奖励。
  漏洞上报进程
      2018.4.12   漏洞上报分类
      2018.4.16   漏洞修复
      2018.5.3    $4500赏金发放



上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号