云安全 -子域名劫持漏洞原理分析与防御

渗透

原文:https://xz.aliyun.com/t/4673

subdomain takeover

子域名劫持/接管

  • 本文内容包括
    • 漏洞实例
    • 实例分析
    • 漏洞原理
    • 漏洞危害
    • 测试工具
    • 防御方案

漏洞实例 – 有趣的测试

声明下:已知情的测试,白帽师傅wAnyBug已于2019年3月份报告给其官方SRC 且没有做任何违规的事情!

某日,刚加上白帽师傅@wAnyBug,聊天过程可谓步步惊魂(聊天内容为点击两个url)

猜测:看到是子域名,初步感觉子域名learnt.Micro**.Com被劫持(接管)。

确认:Chrome隐身模式下访问 learnt.Micro**.Com 看到了非 微X 的内容,大致可确认是子域名劫持(接管)。

猜测:此时如果我登录相关服务”out” 并访问该子域名learnt.Micro.Com,很可能cookie不保。

确认:后来发现 微X 的登录设计为SSO(单点登录,Single Sign On),即 微X 服务统一在login..com登录。所以可以肯定,如果我登录相关服务”out“并访问该子域名learnt.Micro**.Com,则cookie可被web后端获取。

实例分析

查询该子域名的dns记录

➜  ~ nslookup learnt.Micro****.Com
Non-authoritative answer:
learnt.Micro****.Com canonical name = ldlearntest.trafficmanager.net.
ldlearntest.trafficmanager.net canonical name = subdomain-takeover-msrc.wanybug.Com.
Name: subdomain-takeover-msrc.wanybug.Com
Address: 47.52.101.203

可以得出:

  • learnt.Micro**.Com CNAME ldlearntest.trafficmanager.net
  • ldlearntest.trafficmanager.net CNAME subdomain-takeover-msrc.wanybug.Com

由此可以判断出 白帽师傅@wAnyBug 注册了ldlearntest.trafficmanager.net (随后确认确实如此)

注意:trafficmanager.net确实仍是”微X(中国)有限公司”的重要域名,用于Az**云服务,可以提供给用户们注册自己的云服务的子域名。格式为 xxx.trafficmanager.net

通过搜索引擎 搜索site:trafficmanager.net|trafficmanager.cn可以看到很多云服务器的域名。

如,某酒厂的域名为 www.dawine.com 通过查询:

nslookup www.dawine.com

Non-authoritative answer:
www.dawine.com  canonical name = dawinechinaweb.trafficmanager.cn.
dawinechinaweb.trafficmanager.cn    canonical name = dawine1.chinacloudapp.cn.
Name:   dawine1.chinacloudapp.cn
Address: 139.217.132.95

可发现其服务器使用了某云服务,并将符合自身商业名称的域名dawinerootea.trafficmanager.cn 作为 www.dawine.com 的CNAME。

漏洞原理

不做实际攻击演示,讲解原理如下:

比如A公司域名为 a.com 并使用云服务cloud.com提供服务,申请并得到了云服务主机 imA.cloud.com

A公司运维人员将 shop.a.com 的CNAME 设置为 imA.cloud.com

某天A公司的该服务因为某些原因不再使用了,于是直接停掉了云主机 imA.cloud.com (或该云主机无人管理已过期)

此时shop.a.com 的CNAME依然是 imA.cloud.com
(关键:A公司未重新设置 shop.a.com 的CNAME值)

如果攻击者w使用cloud.com的云服务并尝试申请并成功得到了云服务主机 imA.cloud.com

攻击者w将 imA.cloud.com 的web页面改为文本”hacked!”

此时访问shop.a.com 则出现 文本”hacked!”

漏洞危害

  • 获取Cookie
  • 构造页面内容 (包括但不限于钓鱼、广告…)
  • 执行任意javascript代码(类似XSS) 所以XSS具有的危害 这里都有
    • 探测内网(利用实时通信标准WebRTC 获取存活主机ip列表 甚至部分端口 能打到内网则类似SSRF漏洞 可对内网发起许多攻击… 如XSS可以利用redis未授权Getshell)
    • 获取管理员或普通用户的cookie 读取账户特有的信息/执行账户特有的操作
    • 窃取表单凭据 – 类似键盘记录 记录或读取表单输入的内容
    • 构造钓鱼页面 – 窃取用户及管理员其他的凭证
    • 漏洞联合 – 使用XSS无交互地利用CSRF漏洞. 有的anti-CSRF机制只判断Referer的值(自身/兄弟/父子域名 则正常响应) 如果这些站有某处存在XSS则可无交互地利用CSRF漏洞
    • XSS蠕虫 – 在社交网站上可创建蠕虫式的XSS攻击 传播速度极快 影响极大
    • 获取前端代码 – 如管理员后台系统 修改密码处的html代码中有对应的字段名 可根据代码构造请求 以实现新增或修改管理员账号密码
    • DOS攻击 – 自动注销 让用户无法登录 严重影响业务使用
    • DDoS攻击 – 对其他站点进行应用层DDoS攻击 如持续发送HTTP请求
    • 传播非法内容 – 跳转或直接修改页面内容为非法内容. 如 广告 诋毁 等
    • 使浏览器下载文件 – 结合社工方法欺骗用户 使其打开有危害的程序
    • 挖矿等

危害很大。

另外其他配置可能会扩大危害,如A公司设置了泛解析*.a.com 都指向了 云服务提供商的某个云主机的域名。

测试方法

以下测试方法及工具仅供有授权的安全测试,或自己搭建环境进行研究,切勿用于非法用途。

防御方案

  • 提高资产管理能力 (避免云服务过期或被关闭,被他人”抢注”)
  • 可以考虑使用名称不可自定义(随机hash值)的云服务商 如258ea2e57bca0.Acloud.com (避免云服务过期或被关闭,被他人”抢注”)
  • 如果被”抢注” 重新设置域名的CNAME

其他参考 Subdomain Takeover: Basics

微信 OR 支付宝 扫描二维码
为本文作者 打个赏
pay_weixin pay_zhifubao
如果文章对您有帮助,欢迎打赏赞助作者
没有评论

发表评论

工具
最佳黑客和安全专业人员黑客工具列表2018

原文:https://kalilinuxtutorials.com/best-hacking-too …

工具
适用于渗透测试不同阶段的工具收集整理

Red Teaming / Adversary Simulation Toolkit 翻译链接: h …

渗透
一篇域攻击文章的复现(转载)

先放原文的链接:Penetration Testing Active Directory, Part …