CDN给用户带来便捷的同时也给取证人员带来了更大的挑战,如果网站存在CDN,那么你拿到的IP也是一个分发的虚拟节点,在这个节点所搜集的信息基本是无用功。所以,我们必须绕过CDN去找到网站的真实IP。
常见 CDN 服务商
一、国内 CDN 服务商
- 阿里云 CDN
- 百度云 CDN
- 七牛云 CDN
- 又拍云 CDN
- 腾讯云 CDN
- Ucloud
- 360 CDN
- 网宿科技
- ChinaCache
- 帝联科技
二、国外 CDN 服务商
- CloudFlare
- StackPath
- Fastly
- Akamai
- CloudFront
- Edgecast
- CDNetworks
- Google Cloud CDN
- CacheFly
- Keycdn
- Udomain
- CDN77
判断CDN的存在
那么我们要如何判断一个网站是否存在一个CDN呢?
方法1:
很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有:
http://ping.chinaz.com/
http://ping.aizhan.com/
http://ce.cloud.360.cn/
![图片[1]-绕过CDN查找真实IP方法-景宸资源网](https://www.ngc2237.icu/wp-content/uploads/2025/01/20250110181224578-640-1024x901.webp)
方法2:
使用 nslookup 进行检测,原理同上,如果返回域名解析对应多个 IP 地址多半是使用了 CDN。
有 CDN 的示例:
![图片[2]-绕过CDN查找真实IP方法-景宸资源网](https://www.ngc2237.icu/wp-content/uploads/2025/01/20250110181241533-640-1.webp)
无CDN 的示例:
![图片[3]-绕过CDN查找真实IP方法-景宸资源网](https://www.ngc2237.icu/wp-content/uploads/2025/01/20250110181331627-640-2.webp)
绕过CDN寻找真实IP
方法1: 查询历史DNS记录
查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有:
https://dnsdb.io/zh-cn/ ###DNS查询
https://x.threatbook.cn/ ###微步在线
http://toolbar.netcraft.com/site_report?url= ###在线域名信息查询
http://viewdns.info/ ###DNS、IP等查询https://tools.ipip.net/cdn.php ###CDN查询IP
方法2: 子域名查询
由于目标服务可能在主站上做好了相应的CDN,但是由于种种原因例如部署费用过高,或者对二级域名不上心等,所以导致二级域名没有部署到CDN,这时我们可以从这个方面入手进行查询。利用子域名搜集工具等搜集到足够的子域名后,便可以对通过子域名进行真实IP的搜集。
下面介绍些常用的子域名查找的方法和工具:
1)微步在线(https://x.threatbook.cn/)
微步在线功能强大,只需输入要查找的域名(如baidu.com),点击子域名选项就可以查找它的子域名了,但是免费用户查询次数有限。如图:
![图片[4]-绕过CDN查找真实IP方法-景宸资源网](https://www.ngc2237.icu/wp-content/uploads/2025/01/20250110181348114-640-3-1024x253.webp)
2)Dnsdb查询法。(https://dnsdb.io/zh-cn/)
只需输入baidu.com type:A就能收集百度的子域名和ip了。如图:
![图片[5]-绕过CDN查找真实IP方法-景宸资源网](https://www.ngc2237.icu/wp-content/uploads/2025/01/20250110181426511-640-4-1024x628.webp)
3)各种子域名扫描器
这里,主要为大家推荐子域名挖掘机,仅需输入域名即可基于字典挖掘它的子域名,如图:
![图片[6]-绕过CDN查找真实IP方法-景宸资源网](https://www.ngc2237.icu/wp-content/uploads/2025/01/20250110181527858-640-5-1024x372.webp)
在开发网站的时候,开发者可能会将一时疏忽忘记将可能泄露信息的 php探针等处理掉,让我们有机可乘
通过谷歌语法去搜集
inurl:phpinfo.php inurl:xxxxxx
方法3: 网络空间引擎搜索法
常见的有以前的钟馗之眼,shodan,fofa搜索。以fofa为例,只需输入:title:“网站的title关键字”或者body:“网站的body特征”就可以找出fofa收录的有这些关键字的ip域名,很多时候能获取网站的真实ip。
![图片[7]-绕过CDN查找真实IP方法-景宸资源网](https://www.ngc2237.icu/wp-content/uploads/2025/01/20250110181558852-640-6-1024x483.webp)
方法4: 国外主机解析域名
大部分 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的DNS查询,很可能获取到真实IP。
国外多PING测试工具:
https://asm.ca.com/zh_cn/ping.php
http://host-tracker.com/
http://www.webpagetest.org/
https://dnscheck.pingdom.com/
方法5: 网站邮件头信息
比如说,邮箱注册,邮箱找回密码、RSS邮件订阅等功能场景,通过网站给自己发送邮件,从而让目标主动暴露他们的真实的IP,查看邮件头信息,获取到网站的真实IP。
![图片[8]-绕过CDN查找真实IP方法-景宸资源网](https://www.ngc2237.icu/wp-content/uploads/2025/01/20250110182105904-640-7.webp)
方法6: 通过 SSL 证书
- 证书颁发机构 (CA) 必须将他们发布的每个 SSL/TLS 证书发布到公共日志中,SSL/TLS 证书通常包含域名、子域名和电子邮件地址。因此可以利用 SSL/TLS 证书来发现目标站点的真实 IP 地址。
- CDN 运营商在给服务器提供保护的同时,也会与其服务器进行加密通信(ssl),这时当服务器的 443 端口接入域名时也会在 443 端口暴露其证书,我们通过证书比对便可发现网站的真实 IP 地址。
- SSL证书搜索引擎:
https://censys.io/ipv4?q=github.com
![图片[9]-绕过CDN查找真实IP方法-景宸资源网](https://www.ngc2237.icu/wp-content/uploads/2025/01/20250110182121865-640-8-1024x586.webp)
方法7: 网站漏洞查找
1)目标敏感文件泄露,例如:phpinfo之类的探针、GitHub信息泄露等。
2)XSS盲打,命令执行反弹shell,SSRF等。
3)无论是用社工还是其他手段,拿到了目标网站管理员在CDN的账号,从而在从CDN的配置中找到网站的真实IP。
方法8: 扫描全网
通过Zmap、masscan等工具对整个互联网发起扫描,针对扫描结果进行关键字查找,获取网站真实IP。
https://github.com/zmap/zmap
https://github.com/robertdavidgraham/masscan
方法9: 通过 F5 LTM 解码
- LTM 是将所有的应用请求分配到多个节点服务器上。提高业务的处理能力,也就是负载均衡。
- 当服务器使用 F5 LTM 做负载均衡时,通过对 set-cookie 关键字的解码,可以获取服务器真实 ip 地址。
例如:
Set-Cookie: BIGipServerpool_9.29_5229=605532106.22012.0000
- 先把第一小节的十进制数,即 605532106 取出来
- 将其转为十六进制数 2417afca
- 接着从后至前,取四个字节出来:CA AF 17 24
- 最后依次转为十进制数 202.175.23.36,即是服务器的真实 ip 地址。
方法10: 利用HTTP标头寻找真实原始IP
例如,Censys上用于匹配服务器标头的搜索参数是80.http.get.headers.server :,查找由CloudFlare提供服务的网站的参数如下:
80.http.get.headers.server:cloudflare
总结
CDN原本的目的是为了改善互联网的服务质量,提高访问网站速度,然而有些违法网站用了此技术,对我们的取证侦破带来不少麻烦,通过以上介绍一些简单的方法,可以有一定概率查找出CDN背后的真实服务器IP。在办案过程中,如果确认了是国内的CDN厂商的话,也可以尝试去调证。
暂无评论内容