云安全|子域名接管漏洞
2022-11-21 11:19:24 Author: 渗透安全团队(查看原文) 阅读量:27 收藏

漏洞原理

子域名接管漏洞,简单来说通过该漏洞可以接管目标子域名,让其显示我设置的页面,主要用于网络钓鱼、如伪造钓鱼页面,还可以利用其盗取Cookie,伪造电子邮件等。

其原理为曾经为了使用某个域名实现某个功能,设置了cname记录(别名记录,该记录允许将多个域名映射到同一个域名,常用于CDN)。比如我们现在设置了a.haochen1204.com指向b.haochen1204.com。那么当我们使用完b.haochen1204.com这个网站后,将其删除,但是我们忘记了删除a.haochen1204.com这个cname记录,那么此时a.haochen1204.com仍会解析到b.haochen1204.com,但是我们的b.haochen1204.com已经被删除了,那么我们此时便可以搭建一个网站,并将其域名设置为b.haochen1204.com,放上我们想要的东西,这样就成功接管了a.haochen1204.com。

可能会出现这种漏洞的网站有很多,如常见的github(也就是github.io)、常见的oss对象存储平台等。我们可以使用subtake工具来快速的检查多种网站是否存在子域名接管漏洞。

https://github.com/jakejarvis/subtake

漏洞复现

阿里云

首先发现一个报错页面,在报错页面发现了HostId和BucketName两个字段,并且通过这两个字段我们知道他是使用阿里云对象存储提供服务的,并且给了oss存储对象的名称。这种接管方式下,两个字段缺一不可。

然后我们进入自己的阿里云,进入oss存储对象,创建一个新的Bucket,这里Bucket名称选择我们刚刚从报错页面中得到的HostId字段,注意下面的地区,我们在HostID或URL中可以得到关于地区的信息,要选择相同的地区。

然后将权限设置为公共读写。

image-20221115094026318

此时我们便完成了对子域名的接管,我们尝试上传一个文件试试。

可以看到已经成功访问到了我们上传的a.txt。

此时便可以任意上传下载文件。

Github

首先在域名解析处创建一个CNAME解析。将github.haochen1204.com指向haochen1204.github.io

然后我们尝试使用浏览器访问域名,发现出现github的404,说明我们已经成功解析到haochen1204.github.io。这里为们还没有配置网站,需要在github上进行操作。

然后在github上创建一个存储库

在其中加入一个页面

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

然后输入我们刚刚要解析的域名。

可以看到我们已经可以成功通过cname记录的域名访问我们的存储库内容。

假如我们的cname记录所对应的域名的网站被删除了,但是域名没有删除,那么我们就可以通过上述方法,来接管该域名。

文末福利!!!

加星球搜索“GO黑帽子”获《GO黑帽子-渗透测试编程之道一书》

使

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247494667&idx=2&sn=4c3dd39580533a9e3966f2534121837f&chksm=c17611a4f60198b2fa868dae9b38e4d07c63baa52e5dc9a3a4456687cd9ec3907046d5a2eac8#rd
如有侵权请联系:admin#unsafe.sh