绕过CDN查找真实IP方法笔记
1. CDN简述概念
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
2. 域名解析过程
传统访问:用户访问域名-->解析IP-->访问目标主机
简单模式:用户访问域名-->CDN节点-->真实IP-->目标主
一般模式:用户访问域名-->CDN节点(云WAF)-->真实IP-->目标主机
3. CDN配置方法
-
将域名的NS记录指向CDN厂商提供的DNS服务器。
-
给域名设置一个cname记录,将它指向CDN厂商提供的另一个域名。
4.CDN检测方法
可以利用“全球ping”来快速检测目标是否存在CDN,如果每个地区得到的IP地址都不一样则说明存在CDN。可以利用一下几个网站检测,也可以利用自己国外的vps进行检测。
全球Ping有一定机率可以得到目标服务器真实IP,因为有的CDN服务商可能没有某些地区的CDN节点。
https://wepcc.com http://ping.chinaz.com https://asm.ca.com/en/ping.php
5. 查找真实IP方法
(1) phpinfo等探针找到真实IP
通过l.php、phpinfo.php等这类探针文件即可得到真实IP地址,phpinfo.php搜索SERVER_NAME。
(2) 网站根域或子域找到真实IP
大部分CDN服务都是按流量进行收费的,所以一些网站管理员只会给重要业务部署CDN,也有很多人会忘了给顶级域名部署CDN,所以尽可能的多去搜集一些子域名能提高找到真实IP地址的机率。
注:有时多个子域名可能不会解析到同一台服务器,而是根据公司业务的重要与非重要性将子域名解析在内网或外网的不同服务器中,需要有一定的分析能力。
(3) 利用邮件服务器找到真实IP
Web和Email属同服务器时可以通过Email来查询目标真实IP地址,如果Web和Email属不同服务器时我们通过Email得到的可能只是邮件服务器的IP地址,所以在hosts文件中绑定真实IP后无法访问目标网站也属正常现象。常见发送邮件的功能有:注册用户、找回密码等。
(4) 域名历史解析记录找到真实IP
通过查询目标域名历史解析记录可能会找到部署CDN前的解析记录(真实IP地址),可以用以下几个网站来查询。
https://domain.8aq.net //基于Rapid7 Open Data https://x.threatbook.cn https://webiplookup.com https://viewdns.info/iphistory https://securitytrails.com/#search https://toolbar.netcraft.com/site_report
(5) FOFA查询网站标题找到真实IP
利用“FOFA网络空间安全搜索引擎”搜索目标网站源代码中的title标签内容即可得到真实IP地址。
title="*** ***** – Multi Asset Fund"
(6) Censys查询SSL证书找到真实IP
利用“Censys网络空间搜索引擎”搜索目标域名的SSL证书和HASH,https://crt.sh上查找他SSL证书的HASH,然后再用Censys搜索该HASH值即可得到真实IP地址。
443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:***trade.com
(7) 通过分析目标C段来判断真实IP
这种方法得看目标有多少子域名吧,如果子域够多,且又有多台服务器(同段),找一个没有部署CDN的子域名,然后扫描整个C段查找与目标站Title一致的即可找到他的真实IP地址!
目标站111.test.com解析在192.168.1.10,title:90sec社区,通过333.test.com子域名得到333真实IP地址192.168.1.12,然后扫描整个C段,当扫到192.168.1.10这个IP时发现一个title同为“90sec社区”的网站,域名也是111.test.com,这样就能确定192.168.1.10为真实IP了。
网站域名 |
域名解析IP |
CDN节点IP |
111.test.com(目标) |
192.168.1.10 |
8.8.8.8 |
222.test.com |
192.168.1.11 |
9.9.9.9 |
333.test.com |
192.168.1.12 |
没有CDN |
(8) 自建CDN节点服务器找到真实IP
这篇笔记当时没有记录下来,其实就是MS17-010刚出来时很多机器都还没打补丁,在批量过程中打了一台别人自建的CDN节点服务器,然后在里边发现很多解析到这边的IP地址,其实这些IP地址就是某些网站的真实IP,所以这也算是一种思路吧,但是得先拿到CDN节点服务器权限。或者可以通过DDOS攻击方式将其流量耗尽后即会显示真实IP,因为免费和自建CDN的流量都不会很多。
(9) 通过目标网站的漏洞找到真实IP
Web安全漏洞:XSS、SSRF、命令执行、文件上传等,但可能需要先绕过云WAF安全防护。
敏感信息泄露:Apache status、Jboss status、SVN、Github等敏感信息和网页源代码泄露。
转自-贝塔安全实验室公众号