绕过CDN查找网站真实IP
0x01 验证是否存在CDN
方法1
很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有:
方法2
使用 nslookup 进行检测,原理同上,如果返回域名解析对应多个 IP 地址多半是使用了 CDN。
有 CDN 的示例:
> www.163.com
服务器: public1.114dns.com
Address: 114.114.114.114
非权威应答:
名称: 163.xdwscache.ourglb0.com
Addresses: 58.223.164.86
125.75.32.252
Aliases: www.163.com
www.163.com.lxdns.com
无 CDN 的示例:
> xiaix.me
服务器: public1.114dns.com
Address: 114.114.114.114
非权威应答:
名称: xiaix.me
Address: 192.3.168.172
方法3
使用各种工具帮助检测目标网站是否使用了 CDN,可以参见如下网站:
0x02 绕过 CDN 查找网站真实 IP
2.1 查询历史DNS记录
查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有:
- https://dnsdb.io/zh-cn/
- https://x.threatbook.cn/
- http://toolbar.netcraft.com/site_report?url=
- http://viewdns.info/
2.2 查询子域名
毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。
2.3 利用网站漏洞
这个就没什么好说的了,目的就是让目标服务器主动来连接我们,这样我们就知道其真实IP了,可用的比如XSS盲打,命令执行反弹shell,SSRF等等。
2.4 服务器合法服务主动连接我们
同上一样的思路就是让服务器主动连接我们告诉我们它的IP,不过使用的是合法的服务,如RSS邮件订阅,很多网站都自带 sendmail,会发邮件给我们,此时查看邮件源码里面就会包含服务器的真实 IP 了。
2.5 使用国外主机解析域名
国内很多 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的主机直接访问可能就能获取到真实IP。
2.6 目标敏感文件泄露
也许目标服务器上存在一些泄露的敏感文件中会告诉我们网站的IP,另外就是如 phpinfo之类的探针了。
2.7 从 CDN 入手
无论是用社工还是其他手段,反正是拿到了目标网站管理员在CDN的账号了,此时就可以自己在CDN的配置中找到网站的真实IP了。
2.8 用 Zmap 扫全网?
这个我没试过不知道...据说 Zmap 44分钟扫描全网?
好吧,还是稍微详细说下吧,比如要找 xiaix.me 网站的真实 IP,我们首先从 apnic 获取 IP 段,然后使用 Zmap 的 banner-grab 扫描出来 80 端口开放的主机进行 banner 抓取,最后在 http-req 中的 Host 写 xiaix.me。
大概就这些了吧,其他的什么像 DDoS 把 CDN 流量打光的这种就算了吧,最好还是别干扰到人家网站的正常运转吧。
2017.5.18 补充
上文2.8中提到是基于Banner匹配进行查找的,这方面shodan和zoomeye等网站都可以实现,那么有没有可以搜索网页标题、内容的方法,这样,我就能找到哪些服务器上运行的网站是与我要找的一致,从而能找出真实的服务器IP。在圈子里混,朋友推荐一个新的IOT搜索引擎,跟前面提到的两个相似,叫fofa,WWW.FOFA.SO,其优点是支持HTML源代码检索
举例:找到www.5173.com的真实IP
使用ping
命令,返回信息有"49k6959vz6ea10u8.alicloudsec.com (218.11.3.155)",这就是使用了CDN服务的信号,显然是阿里云。
>ping www.5173.com
正在 Ping 49k6959vz6ea10u8.alicloudsec.com [180.97.163.234] 具有 32 字节的数据:
来自 180.97.163.234 的回复: 字节=32 时间=78ms TTL=43
来自 180.97.163.234 的回复: 字节=32 时间=73ms TTL=43
来自 180.97.163.234 的回复: 字节=32 时间=16ms TTL=43
来自 180.97.163.234 的回复: 字节=32 时间=23ms TTL=43
访问www.5173.com,源代码内显示标题有很特别的内容『网络游戏交易平台|手游交易|装备交易|游戏币交易|帐号交易|点卡充值|代练服务-是国内最权威最安全的游戏交易平台-5173.com』,包含有根域名5173.com,这种title是非常特殊的,用来检索,就能找到WWW.5173.COM的真实IP
然后在fofa中将这个标题内容作为关键词搜索,使用语法『title="网络游戏交易平台|手游交易|装备交易|游戏币交易|帐号交易|点卡充值|代练服务-是国内最权威最安全的游戏交易平台-5173.com"』
在下面的截屏,包含了www.5173.com的真实IP:
最后,访问http://180.97.163.234,如果网站可以打开,内容与www.5173.com是一致的,那么这就是真实IP;如果网站不可以打开,有可能这个是CDN,也有可能是一个虚拟主机服务器。使用 ip=="180.97.163.234"
搜索这个IP上的全部服务和网站,显示全是5173.com结尾的域名,基本确认这是真实ip,且是5173.com的主要网站服务器。