子域名接管漏洞是怎么回事儿
2022-6-2 17:30:42 Author: mp.weixin.qq.com(查看原文) 阅读量:18 收藏

今天学习了下子域名接管漏洞,通过该漏洞可以接管目标子域名,让其显示我设置的任意页面,造成的危害,主要用于网络钓鱼,包括但不限于伪造钓鱼页面,还可以盗取 Cookie,伪造电子邮件等,具体风险可参考文章:

https://0xpatrik.com/subdomain-takeover/

接下来以实战的方式讲解造成这个漏洞的原因,首先在我的域名管理平台,给我域名 blog.xazlsec.com 设置一个 cname 记录:

接下来可以使用浏览器访问域名:

http://blog.xazlsec.com/

出现这个页面说明该域名解析已经生效,但是未配置网站,需要在 github 上进行操作, 创建网站项目并绑定域名,具体操作如下:

1、创建一个测试项目

2、新建的项目没有文件,可以创建一个文件内容为 Test by Xazlsec 的 index.html

3、打开 Settings,然后点击 Code and automation 下的 Pages 功能,并选择 Source 为 main:

点击保存之后,可以在 Custom domain选择自己的域名填入:

保存成功之后,就可以访问域名来查看 github 上的内容:

那么有人开始疑问,这跟子域名接管有啥关系?假如我不想用这个网站了,直接在 github 上把这个项目删除,但是 cname 记录没有一起删掉,会发生什么?

不知道的话,可以测试一下,当我删除新建的项目之后,打开域名,又出现了最开始没有配置时的页面,无论是谁,都可以在自己的 github 创建项目,在最后填写域名 blog.xazlsec.com,让其指向你的项目,从而实现子域名接管。

到这里,子域名接管的原理就应该知道了,因为域名曾经为了实现某个功能,设置了 cname 的记录,但是,当该功能下线后,忘记删除对应的 cname 记录,从而导致漏洞的出现。

我测试了大概一百个网站 cname 到 github.io 的网站,其中有 10 个网站访问出现 404,经最终测试,有三个域名可以实现接管,这么算下来有百分之三的概率成功。

以上是一个子域名接管的案例,有一个不错的项目,专门检测这类问题,应用场景不光是 github,还有其他平台:

https://github.com/jakejarvis/subtake

不同服务的利用方式,可以查看下面项目:

https://github.com/EdOverflow/can-i-take-over-xyz

除了这种利用知名服务的方式,假如我们 cname 指向的是自己的某个域名,比如 test.com,而这个域名,我们用来一年,后来没有需求,就没有续费,这个时候,如果有人抢注了这个域名,那么是不是也可以实现子域名接管的效果?

至于如何在实际的赏金行动中发现存在问题的子域名,其实也不难,需要收集足够多的子域名并且解析出 cname 记录,然后批量检测这些 cname 指向是否存在问题即可。

原创稿件征集

征集原创技术文章中,欢迎投递

投稿邮箱:[email protected]

文章类型:黑客极客技术、信息安全热点安全研究分析安全相关

通过审核并发布能收获200-800元不等的稿酬。

更多详情,点我查看!

靶场实操,戳“阅读原文“

文章来源: http://mp.weixin.qq.com/s?__biz=MjM5MTYxNjQxOA==&mid=2652888112&idx=1&sn=4336052b5f5736c36df9c8e5fa23f251&chksm=bd59a0fd8a2e29eb297afd1b89b4614e6d90d0b06a7db2432a34cceb75458f4c35b857cf7bcf#rd
如有侵权请联系:admin#unsafe.sh