快捷搜索:  网络  渗透  后门  CVE  扫描  木马  黑客  as

Cloudfront挟制手艺阐发与先容

1.png

近期,我始终在研究CloudFront域名挟制相干的问题。虽然这并不是一种新出现的安全问题,但其重要性显而易见:

1.   CloudFront的某些默认举动不够直观,某些标准DNS设置会误导用户并让他们认为本人存在安全问题的域名已经设置正确了。

2.   在过去的一年里,错误设置的S3 Bucket已经成为了一个无比严重的问题,其他的AWS安全问题也日益突出。

3.   由于错误设置的域名将导致严重的问题出现,攻击者会将其视作重点攻击对象。

很显然,工控黑客 ,这方面的安全问题对于那些没有深入研究过相干内容的人来说,肯定是不显然的。虽然HackerOne上有一些相干话题的讨论,但我认为照样有很多人没故意想到这些问题的严重性的。

违景资料

CloudFront是亚马逊Web服务(AWS)提供的一种内容分发收集(CDN),CloudFront用户需要创建CloudFront Distribution来托管其他来源的内容(例如S3 bucket),每个CloudFront Distribution给用户提供了一个唯一的终端节点来指向他们的DNS记录(例如d111111abcdef8.cloudfront.net)。所有域名所使用的特定Distribution需要记录在一个CNAME域中。当CloudFront节点接收到了一个要求以后,它并不会自动将相应Distribution中的内容呈现出来。相反,CloudFront使用了要求中的HOST头来判定去使用哪一个Distribution。这象征着下面两件事情:

1.   要是HOST头跟CNAME域中的域名不匹配,要求将失败。

2.   任何其他的CloudFront Distribution要是包含了HOST头中的指定域名,它将接收到要求并对其进行正常响应。

如许一来,将会导致域名被挟制。

例子

域名test.disloops.com是一条只想disloops.com的CNAME记录。

disloops.com域名使用了一个CloudFront Distribution。

由于test.disloops.com没有添加到Distribution备用域名的CNAME域当中,发送至test.disloops.com的要求将会失败。

其他用户可以创建一个CloudFront Distribution并将test.disloops.com添加到备用域名CNAME域中,并完成域名挟制。

这也就象征着,CloudFront所绑定的唯一节点跟唯一Distribution就没有任何意义了:

2.png

研究阐发

我专程编写了一个名鸣CloudFrunt的Python脚原先自动化地扫描存在此漏洞的域名:

1.   可接受域名列表;

2.   通过dnsrecon寻觅更多的相干域名;

3.   选择出指向CloudFrontIP地址空间的域名;

4.   测试目标域名是否存在错误设置问题;

5.   (可选)将它们添加到CloudFront Distribution当中;

脚本获取:【点我获取】

3.png

目前,我们已经发现了90500个唯一的域名地址,与之绑定的IP地址大约有一百万个。所以我创建了一个EC2实例来对它们进行测试,并以并行的方式用CloudFrunt来对它们进行扫描。

效果阐发

脚本运行了几天以后,我发现了2000多个新的CloudFront Distribution域名,详细信息请查看这个【CloudFront挟制Demo】。

总结

实际上,在云端方案不断普及的过程中,这类问题的出现是在灾难逃的。无非AWS安全团队以及CloudFront的工程师目前已经在抓紧时间处理这个问题了,泛博用户无需过分担心。我们也已经将CloudFrunt扫描工具上传到了GitHub上,感兴致的同砚可以用它来检测本人的CloudFront是否受到了此问题的影响。

资源获取

CloudFrunt:【下载地址一】、【下载地址二】

* 参考来源:darknet,Alpha_pck编译,

您可能还会对下面的文章感兴趣: