0x00 写在前面

工作所需,将”绕过CDN寻找网站真实IP“的方法进行汇总。打开笔记,发现保存了好几篇以前收集的一些相关文章。文章都比较类似,方法大同小异,做个汇总,也添加一些自己积累。

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

这个就很简单了,简单说下几个常见的方法:

\1. Nslookup:

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

绕过CDN查找真实IP - 图1

\2. 多地ping查询

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

网站有:

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

绕过CDN查找真实IP - 图2

\3. 使用工具直接查询

参见如下网站:

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

绕过CDN查找真实IP - 图3

0x02 绕过CDN查找真实ip 方法整理如下:

\1. 子域名入手

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

还有某些网站可以进行查询。例如:

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

绕过CDN查找真实IP - 图4

\2. 利用网站漏洞

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

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

\3. 历史DNS记录

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

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

绕过CDN查找真实IP - 图5

\4. CDN本身入手

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

\5. Mx记录或邮件

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

绕过CDN查找真实IP - 图6

\6. 国外请求

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

  1. https://asm.ca.com/en/ping.php

\7. 扫描探测

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

通过http指纹特征和keyword等做综合判断。可使用工具如下:

  1. https://github.com/zmap/zgrab/
  2. 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盲攻击的几种思路》中分享的:

查询网站:

  1. https://censys.io/

这个网址会将互联网所有的ip进行扫面和连接,以及证书探测。若目标站点有https证书,并且默认虚拟主机配了https证书,我们就可以找所有目标站点是该https证书的站点。

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

绕过CDN查找真实IP - 图7

\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表哥、面具表哥的指导。

0x04 参考链接

安胜:黑客寻找网站真实IP手段大揭秘!

xiaix:绕过CDN查找网站真实IP-xiaix’s Blog

f4ther:逆向CDN的各种方式总结(干货,附解决方案)

lovesec:绕过CDN查看网站真实IP的一些办法

0x05 写在最后

欢迎并热爱技术交流,各位读者在阅读文章时所遇到的任何问题,都可私信我,看到定会回复。

本人是一个努力想要提升自己的普通安全从业人员,热忱网络安全事业,热爱分享,平时喜欢将工作中的所思所想所实践进行文字整理,故有了此专栏。同时,本人工作之余,还维护了个个人微信公众号及知识星球,各位读者走过路过可顺手点个关注,感谢(详细介绍见下文)。

(1) 微信公众号

平日文章会先在微信公众号进行发布。目前各种类型公众号遍布,本人目标是维护一个日常笔记记录、知识成长及生活思考的良心平台。欢迎大家关注:

绕过CDN查找真实IP - 图8

(2) 知识星球

知识爆炸的时代,每天都有源源不断的新知识。有一颗想要学习的心,但是往往被新知识的快速更新压得喘不过气。故两年前,申请了个【知识星球】,取名《安全学习记录》,将每日看到的一些感兴趣的安全技术文章进行收集整理,每天一篇,发布在知识星球内。内容可点击如下链接查阅:https://t.zsxq.com/YnyjAEE

绕过CDN查找真实IP - 图9

截至目前,已创建760天,发布542篇主题

绕过CDN查找真实IP - 图10

不为赚钱,无任何商业目的,少许的费用门槛是为了避免伸手党。有大家每天的浏览,也可督促自己的每天更新。各位读者量力而行。在此谢过。