共计 2714 个字符,预计需要花费 7 分钟才能阅读完成。
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/
方法 2:
使用 nslookup 进行检测,原理同上,如果返回域名解析对应多个 IP 地址多半是使用了 CDN。
有 CDN 的示例:
无 CDN 的示例:
绕过 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),点击子域名选项就可以查找它的子域名了,但是免费用户查询次数有限。如图:
2)Dnsdb 查询法。(https://dnsdb.io/zh-cn/)
只需输入 baidu.com type:A 就能收集百度的子域名和 ip 了。如图:
3)各种子域名扫描器
这里,主要为大家推荐子域名挖掘机,仅需输入域名即可基于字典挖掘它的子域名,如图:
在开发网站的时候,开发者可能会将一时疏忽忘记将可能泄露信息的 php 探针等处理掉,让我们有机可乘
通过谷歌语法去搜集
inurl:phpinfo.php inurl:xxxxxx
方法 3: 网络空间引擎搜索法
常见的有以前的钟馗之眼,shodan,fofa 搜索。以 fofa 为例,只需输入:title:“网站的 title 关键字”或者 body:“网站的 body 特征”就可以找出 fofa 收录的有这些关键字的 ip 域名,很多时候能获取网站的真实 ip。
方法 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。
方法 6: 通过 SSL 证书
- 证书颁发机构 (CA) 必须将他们发布的每个 SSL/TLS 证书发布到公共日志中,SSL/TLS 证书通常包含域名、子域名和电子邮件地址。因此可以利用 SSL/TLS 证书来发现目标站点的真实 IP 地址。
- CDN 运营商在给服务器提供保护的同时,也会与其服务器进行加密通信(ssl),这时当服务器的 443 端口接入域名时也会在 443 端口暴露其证书,我们通过证书比对便可发现网站的真实 IP 地址。
- SSL 证书搜索引擎:
https://censys.io/ipv4?q=github.com
方法 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 厂商的话,也可以尝试去调证。
内容源自云捕快取证
如有侵权请联系我删除