0x01 引言
在进行渗透测试的信息搜集阶段,一旦获取了目标主站的信息,通常需要进一步获取对方网站的真实IP,以便进行更深入的信息搜集。然而,目前大多数主流网站都采用了CDN(内容分发网络),将资源部署在边缘服务器上,实现负载均衡,降低网络拥塞,从而让用户能够更快地访问网站。
CDN的全称为内容分发网络(Content Delivery Network)。它是在现有网络基础之上构建的智能虚拟网络,通过分布在各地的边缘服务器,在中心平台的负载均衡、内容分发和调度等功能模块的支持下,使用户能够就近获取所需内容,从而降低网络拥塞,提高用户的访问响应速度和命中率。CDN的关键技术主要包括内容存储和分发技术。(引自百度百科)
尽管CDN为用户带来了便利,但也给安全人员带来了更大的挑战。因为如果网站采用了CDN,那么你所获取到的IP地址只是一个分发的虚拟节点,在这个节点上搜集到的信息基本上是无效的。因此,我们必须想办法绕过CDN,找到网站的真实IP地址。
0x02 判断CDN的存在
那么我们要如何判断一个网站是否存在一个CDN呢?
•1、CMD命令
通过nslookup命令进行检测,如果返回域名解析对应多个 IP 地址多半是使用了 CDN。
•2、利用在线网站
http://www.17ce.com
http:/ping.chinaz.com
http:/ping.aizhan.com
http://ce.cloud.360.cn
利用在线网站进行全国多地区的ping服务器操作,然后对比每个地区ping出的ip结果,查看这些ip是否一致,如果都是一样的,极有可能不存在CDN。如果ip大多不太一样或者规律性不强,可以尝试查询这些ip的归属地,判断是否存在CDN。以http:/ping.chinaz.com为例子,去ping一下百度搜索的ip,这种就是很大几率存在CDN的。
•使用各种在线工具帮助检测目标网站是否使用了CDN
推荐网址
http://www.cdnplanet.com/tools/cdnfinder/
http://www.ipip.net/ip.html
0x02绕过CDN寻找真实IP
•1、同国家IP地址访问查询
假设网站是美国的,你用本地ip去访问的时候返回的是该美国CDN返回的IP,但是你使用了美国本土的IP,他可能可以返回真实IP。
•2、子域名查询 由于目标服务可能在主站上做好了相应的CDN,但是由于种种原因例如部署费用过高,或者对二级域名不上心等,所以导致二级域名没有部署到CDN,这时我们可以从这个方面入手进行查询。利用子域名搜集工具等搜集到足够的子域名后,便可以对通过子域名进行真实IP的搜集
•3、用phpinfo.php或者php探针去查看泄露的信息
在开发网站的时候,开发者可能会将一时疏忽忘记将可能泄露信息的 php探针等处理掉,让我们有机可乘
通过谷歌语法去搜集
inurl:phpinfo.php inurl:xxxxxx
•4、查询域名的解析记录 通过查看查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的相关记录,相关查询网站有:
https://dnsdb.io/zh-cn/ ###DNS查询
https://x.threatbook.cn/ 微步历史DNS记录,在搜索框直接搜索就行
http://toolbar.netcraft.com/site_report?url= ###在线域名信息查询
http://viewdns.info/ ###DNS、IP等查询
https://tools.ipip.net/cdn.php ###CDN查询IP,也可以大致分析出目标的真实IP段。
https://ipchaxun.com/
•5、利用fofa等搜索引擎
在网页中将title标签提取出来,然后fofa搜索框
title = “xxxxxxx”
查到到的ip可以拿到和微步的DNS历史查询来对比 常见的有以前的钟馗之眼,shodan,fofa搜索。以fofa为例,只需输入:title:“网站的title关键字”或者body:“网站的body特征”就可以找出fofa收录的有这些关键字的ip域名,很多时候能获取网站的真实ip
•6、利用邮箱反查
在很多网站都有忘记密码的功能,国内网站大多数都可以通过注册账号,然后通过忘记密码来获得一封来自网站邮件服务器的一封邮件,而国外网站大多数都存在RSS订阅服务,通过绑定邮箱订阅同样也可以获得邮件,如果不想暴露自己的邮箱,可以利用临时邮箱来进行搜集
申请临时邮箱,利用临时邮箱去注册账号
临时邮箱中会得到一封带有验证码的邮件
此时查看一下原文可得来自邮件服务器的IP:
•7、扫全网 这种方法其实非常费时费力,如果实在没有突破口可以进行信息搜集,可以借助扫描脚本来搜集
参考脚本
https://github.com/boy-hack/w8fuckcdn 全网扫描脚本
https://github.com/Tai7sy/fuckcdn E语言版本
总结
在实际的测试中遇到的主站都基本上存在CDN,所以想要找到站点服务器的真实IP变得尤为重要。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !