在我们测试的时候,我们会经常遇到这种情况,我们与目标站点真实IP中间隔了一个CDN加速,对我们的渗透测试影响还真是不少。

很多时候web站点出现大问题的时候少,从主机角度上还有机会,但是找不到真实IP让我甚是蛋疼。就恶补知识,总结了下面的一些小技巧!

验证是否存在CDN

首先我们要确定网站是否存在CDN,有很多方法,接下来我给大家介绍一下!

方法1

很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, ping一个站点,响应多个IP,这就是用了CDN,多地 Ping 网站有很多,如下,根据响应包判断是否存在CDN

方法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 的示例:

> je2se.com
服务器:  public1.114dns.com
Address:  114.114.114.114

非权威应答:
名称:    je2se.com
Address:  192.168.1.1  

方法3

使用各种工具帮助检测目标网站是否使用了 CDN,可以参见如下网站:

绕过 CDN 查找网站真实 IP

2.1 查询历史DNS记录

查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有:

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 流量打光的这种就算了吧,最好还是别干扰到人家网站的正常运转吧。


补充

上文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

绕过CDN,查找网站的真实IP-JE2Se ' Blog

然后在fofa中将这个标题内容作为关键词搜索,使用语法『title="网络游戏交易平台|手游交易|装备交易|游戏币交易|帐号交易|点卡充值|代练服务-是国内最权威最安全的游戏交易平台-5173.com"』

绕过CDN,查找网站的真实IP-JE2Se ' Blog

在下面的截屏,包含了www.5173.com的真实IP:

绕过CDN,查找网站的真实IP-JE2Se ' Blog

最后,访问http://180.97.163.234,如果网站可以打开,内容与www.5173.com是一致的,那么这就是真实IP;如果网站不可以打开,有可能这个是CDN,也有可能是一个虚拟主机服务器。使用 ip=="180.97.163.234"
搜索这个IP上的全部服务和网站,显示全是5173.com结尾的域名,基本确认这是真实ip,且是5173.com的主要网站服务器。


【请尊重原创作者,转载请标注转载来源】