绕过CDN方法整理

来自文章连接:https://zhuanlan.zhihu.com/p/33440472php

 

0x01 判断ip是否为网站真实ip

1. Nslookup:

 

Win下使用nslookup命令进行查询,若返回域名解析结果为多个ip,多半使用了CDN,是不真实的ip。css

2. 多地ping查询

 

使用不一样区域ping,查看ping的ip结果是否惟一。若不惟一,则目标网站可能存在CDN。html

网站有:git

https://asm.ca.com/en/ping.php/
http://ping.chinaz.com/
https://ping.aizhan.com/

 

3. 使用工具直接查询

 

参见以下网站:github

http://www.cdnplanet.com/tools/cdnfinder/
https://www.ipip.net/ip.html

 

0x02 绕过CDN查找真实ip

方法整理以下:

 

1. 子域名入手

某些企业业务线众多,有些站点的主站使用了CDN,或者部分域名使用了CDN,某些子域名可能未使用。查询子域名的方法就不少了:subDomainsBrute、Sublist3r、Google hack等。web

还有某些网站能够进行查询。例如:shell

https://dnsdb.io/zh-cn/

 

2. 利用网站漏洞

若是目标站点存在漏洞,这就没办法避免了。例如phpinfo敏感信息泄露、Apache status和Jboss status敏感信息泄露、网页源代码泄露、svn信息泄露信、github信息泄露等。安全

若存在web漏洞,服务器主动与咱们发起请求链接,咱们也能获取目标站点真实ip。例如xss、ssrf、命令执行反弹shell等。服务器

3. 历史DNS记录

查询ip与域名绑定历史记录,可能会发现使用CDN以前的目标ip。查询网站有:cookie

https://dnsdb.io/zh-cn/
https://x.threatbook.cn/
http://toolbar.netcraft.com/site_report?url=
http://viewdns.info/
http://www.17ce.com/
https://community.riskiq.com/
http://www.crimeflare.com/cfssl.html

 

4. CDN自己入手

若从CDN自己入手,好比利用社工等,获得控制面板的帐号密码,那真实ip就很轻易能获取到了。

5. Mx记录或邮件

不少站点都有发送邮件sendmail的功能,如Rss邮件订阅等。并且通常的邮件系统不少都是在内部,没有通过CDN的解析。可在邮件源码里面就会包含服务器的真实 IP。

6. 国外请求

经过国外得一些冷门得DNS或IP去请求目标,不少时候国内得CDN对国外得覆盖面并非很广,故此能够利用此特色进行探测。 经过国外代理访问就能查看真实IP了,或者经过国外的DNS解析,可能就能获得真实的IP查询网站:

https://asm.ca.com/en/ping.php
7. 扫描探测

经过信息收集,缩小扫描范围,肯定一个相对小的IP和端口范围(中国?AS号?B段?等)

经过http指纹特征和keyword等作综合判断。可以使用工具以下:

https://github.com/zmap/zgrab/
http://www.ipdeny.com/ipblocks/

 

zgrab 是基于zmap无状态扫描的应用层扫描器,能够自定义数据包,以及ip、domain之间的关联。可用于快速指纹识别爆破等场景。

可参考这篇文章:利用Zgrab绕CDN找真实IP - Levy Hsu

8. Zmap大法?

听说扫描全网,只要44分钟?

可参考这篇文章:简单获取CDN背后网站的真实IP - 安全客 - 有思想的安全新媒体

9. 网络空间引擎搜索法

zoomeye、fofa、shodan

经过这些公开的安全搜索引擎爬取得历史快照,主要得一些特征总结以下:

特有的http头部(如server类型、版本、cookie等信息)、

特定keyword(如title、css、js、url等)、

特定的IP段搜索(如fofa支持C段搜索),

有些时候爬取的时候不必定含有上面那些特征,可是咱们仍然须要仔细排查。

10. 查询Https证书

此方法来自于去年CplusHua表哥在Freebuf公开课《HTTP盲攻击的几种思路》中分享的:

查询网站:

https://censys.io/

 

这个网址会将互联网全部的ip进行扫面和链接,以及证书探测。若目标站点有https证书,而且默认虚拟主机配了https证书,咱们就能够找全部目标站点是该https证书的站点。

443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:www.xxx.com

11. F5 LTM 负载均衡解码获取真实内网ip

以前看了这篇文章:透过F5获取服务器真实内网IP - ThreatHunter

我就在想,假如目标站点有CDN,是否就跟F5作负载均衡冲突了?是否须要找到目标站点 真实ip,才能经过F5获取目标真实内网ip?因此觉得可能该方法不能用来绕过CDN获取真实IP。

今天咨询了下hblf表哥:他说应该不会冲突,以前碰到过案例:某企业先在内网出口使用F5作ISP的链路负载均衡,而后再用CDN加速。这样的话,客户端仍是能够看到F5埋的那个cookie。并且通过CDN,埋的cookie不会被修改或者删除,因此客户端仍是能够看到。

经过解码就能够获得目标服务器真实内网ip。具体方法和原理参见hblf表哥的这篇文章。

因此就把该方法也总结在这儿。

0x03 后记

就当是个瞎总结吧,蛮写一下,但愿对你有帮助。PS:若是表哥们若是还有其余方法,求学习。

最后,谢谢hblf表哥、面具表哥的指导。

相关文章
相关标签/搜索