最详细的绕过CDN查询真实IP方法

今天闲来无聊,给大家分享一篇黑客如何绕过CDN找到目标站点真实IP?有些基础知识,还是给大家简单说一下吧!


什么是CDN加速?


CDN的全称是 Content Delivery Network,即内容分发网络,这个概念是1998年提出的。当时美国麻省理工大学(MT)的一批研究生通过分析当时 Internet E的网络状况,提出了一套能够实现用户就近访问的解决方案,最终设计并实现了其独有的系统。


CDN有什么作用?


CDN基本思路就是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。CDN核心的就是使用户可就近访问网络,取得所需内容,解决网络拥挤的状况,明显提高用户访问网站的响应速度或者用户下载速度。


对用户来说,如果一个网站开启了CDN,用户访问速度或者下载速度相比之前会更快。一般来说,网站开启CDN之后,可以提升用户体验。


CDN对网站有什么好处?


首先,开启CDN后的网站,会根据用户所在地的不同访问CDN的节点服务器,并不直接访问源服务器,这样可以减少网站服务器宽带资源,降低服务器压力。这也就是大家都在ping百度,但是不同地区得到的反馈ip不一样的原因。


其次,由于CDN节点的阻挡防护,可以更好的保护员服务器的安全。具体来说,CDN其实是充当了一个替身的角色,无论服务器是渗透还是DD0S攻击,攻击的目标都将是CDN节点,这样一来便间接的保护了网站本身。


第一种方法:


很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一,多半是使用了CDN, 多地 Ping 网站有:

http://ping.chinaz.com/

http://ping.aizhan.com/

http://ce.cloud.360.cn/

https://www.17ce.com/


第二种方法:

使用 nslookup 进行检测,原理同上,如果返回域名解析对应多个 IP 地址多半是使用了 CDN。


有 CDN 的示例,如下图:


一、主动连接我们

就是让目标主动暴漏他们的真实P,比如电视剧的黑衣人洗脸要主动摘去面巾。

1、发邮件给我们:(这就是黑衣人洗脸的时候要摘去面巾)

比如注册的时候会有注册连接发送到我们的邮件,然后查看邮件全文源代码或邮件标头就可以了。如果是大站,会有自己的独立的邮件服务器给你发送,那么这个邮件服务器的有可能跟目标Web在一个段上,我们直接一个一个扫,看返回的HTML源代码是否跟web的对的上。

下面给大家分别看一下网页版的126邮箱和QQ邮箱如何得到的源站点目标IP?此方法对于现在很多网站来说几乎都能中招,屡试不爽。

2、还有一个就是RSS邮件阅,都是同上一个原理。因为有些网站我们点击RSS邮件订阅后会给我们发邮件的。


3、利用网站漏洞:比如有代码执行漏洞、SSRF、存储型的XSS都可以让服务器主动访问我们预设的web服务器,那么就能在日志里面看见目标网站服务器的真实IP。


二、查询DNS历史记录


1、DNS缓存查询:这里主要是利用管理员疏忽,通过DNS缓存查询,查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有:

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

https://x.threatbook.cn/

http://toolbar.netcraft.com/site_report?url=

http://viewdns.info/

https://tools.ipip.net/cdn.php


2、利用SecurityTrails平台(https://securitytrails.com/),攻击者就可以精准的找到真实原始IP,只需在搜索字段中输入网站域名,然后按Enter键即可,这时“历史数据”就可以在左侧的菜单中找到。


SecurityTrails平台除了过去的DNS记录,即使是当前的记录也可能泄漏原始服务器IP。例如,MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自己的邮件服务器,那么原始服务器IP将在MX记录中。


三、查询子域名


毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。


下面介绍些常用的子域名查找的方法和工具:

1、https://x.threatbook.cn/

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

3、Google 搜索;例如:用语法”site:baidu.com -www”就能查看除www外的子域名。

4、子域名扫描器;这个我就不多说了,这种工具太多了。


四、网络空间搜索引擎

最常见的网络空间搜索引擎有钟馗之眼、shodan、fofa搜索。

1、钟馗之眼:https://www.zoomeye.org/

2、Shodan:https://www.shodan.io/

3、FOFA:https://fofa.so/


这里主要是利用网站返回的内容寻找真实原始IP,如果原始服务器IP也返回了网站的内容,那么可以在网上搜索大量的相关数据。


只需要浏览网站源代码,寻找独特的代码片段。


在JavaScript中使用具有访问或标识符参数的第三方服务(例如Google Analytics、reCAPTCHA、统计)是攻击者经常使用的方法。或者说用title,毕竟竟每个网站的title基本上都是独一无二的。 以fofa为例:可以直接以 title=””来搜索。


再配合最常见的网络空间搜索引擎就可以轻而易举的找到网站的真实的IP。


五、利用SSL证书寻找真实原始IP


以CloudFlare这款CDN加速器举例:假如你在 abc.com 上托管了一个服务,原始服务器IP是136.23.63.44。 而CloudFlare则会为你提供DDoS保护,Web应用程序防火墙和其他一些安全服务,以保护你的服务免受攻击。


为此,你的Web服务器就必须支持SSL并具有证书,此时CloudFlare与你的服务器之间的通信,就像你和CloudFlare之间的通信一样,会被加密(即没有灵活的SSL存在)。这看起来很安全,但问题是,当你在端口443(https://136.23.63.44:443)上直接连接到IP时,SSL证书就会被暴露。


此时,如果攻击者扫描0.0.0.0/0,即整个互联网,他们就可以在端口443上获取在 aaa.com上的有效证书,进而获取提供给你的Web服务器IP。


目前Censys工具(https://censys.io/)就能实现对整个互联网的扫描,Censys是一款用以搜索联网设备信息的新型搜索引擎,安全专家可以使用它来评估他们实现方案的安全性,而黑客则可以使用它作为前期侦查攻击目标、收集目标信息的强大利器。


Censys搜索引擎能够扫描整个互联网,Censys每天都会扫描IPv4地址空间,以搜索所有联网设备并收集相关的信息,并返回一份有关资源(如设备、网站和证书)配置和部署信息的总体报告。


而攻击者唯一需要做的就是把上面用文字描述的搜索词翻译成实际的搜索查询参数。


Censys证书查询搜索步骤如下:

1、aaa.com 证书的搜索查询参数为:parsed.names:aaa.com

只显示有效证书的查询参数为:tags.raw:trusted

攻击者可以在Censys上实现多个参数的组合,这可以通过使用简单的布尔逻辑来完成。

2、组合后的搜索参数为:parsed.names: aaa.com and tags.raw: trusted

3、Censys将向你显示符合上述搜索条件的所有标准证书。要逐个查看这些搜索结果,攻击者可以通过单击右侧的“Explore”,打开包含多个工具的下拉菜单。What’s using this certificate? > IPv4 Hosts

隐藏服务具有SSL证书,要查找它使用的IPv4,只需将”SHA1 fingerprint”(签名证书的sha1值,也就是SHA1指纹)粘贴到Censys平台IPv4主机搜索中,即可找到证书,使用此方法可以轻松找到配置错误的Web服务器真实IP。


使用给定的SSL证书查找原始IP可以做很多事情,例如:如果你是执法部门的人员,想要找出一个隐藏在cheesecp5vaogohv.onion下的儿童色情网站。最好的办法,就是找到其原始IP,这样你就可以追踪到其托管的服务器,甚至查到背后的运营商以及金融线索。


六、全网扫描

扫描全网开放特定端口的IP,然后获取他们的特定页面的HTM源代码,用这些源代码和目标网站的特定页面的HTM源代码做对比,如果匹配上来了,就很可能是目标网站的真实P,工具匹配会匹配出来很多,最后还是要人工筛选。

1、钟馗之眼、shodan、fofa空间搜索引擎,这里推荐用 https://fofa.so/

第一步:打开fofa;第二步:title="" 得到IP;第三步:再用  ip=="" 做对比。


2、用Zmap扫全网

wget http://www.ipdeny.com/ipblocks/data/countries/hk.zone #香港IP 
zmap -w hk.zone -p 80 -B 100M -o hk.res
./zgrab -input-file=hk.res -senders=2000 -data-"./http-reg" | grep -E 'memberlogin' >> x.txt
wget -c http://ftp.apnic.net/stats/apnic/delegated-apnic-latest #全网IP,天朝好像扫不到


七、应用和服务

网站本身的很多功能可能并不完善,包括完整网站所使用的开源软件包,自编写的代码等都有可能存在某些“轻微”的漏洞,例如,报错信息不规范等。而这些信息就很有可能缩小我们的搜索范围。


此外,即使是正常的网站服务,也有可能为我们所用。例如你需要在目标网站上设置一个头像,而且是通过提供图片URL的方式(不是上传图片)。那么目标网站可能主动从其他网站下载图片,如果你控制着放置图片的网站。那么目标的真实IP就在日志中。


最重要的就是多多尝试,网站管理员可能会犯很多错误。


八、HTTP头

通过网络搜索引擎,你甚至可以通过比较HTTP头来查找原始IP。


特别是当目标网站有一个非常独特的服务器请求头以及网站所使用的各种软件及其版本时,都能大大减轻查询的难度。


而且正如1.1节中所述,您可以在Censys上组合查询参数进行搜索。再配合一些其他信息,就能快速定位到网站。


假设你的服务器的请求头组成大致和1500个其他Web服务器的请求头相同,你的网站还使用一个新的PHP框架,这也是很独特的HTTP标头(例如:X-Generated-Via:XYZ fr amework),目前约有400名网站使用该框架。就这样不停比对,运气好的情况下,很快就能找到真实IP。


例如,Censys上涉及服务器请求头的搜索参数是

80.http.get.headers.server:


查找使用了CloudFlare服务的网站的语句如下:

80.http.get.headers.server: cloudflare


九、内容


在某些情况下,直接访问目标服务器IP也会返回网站内容。那么,问题就简单了,网络搜索引擎能帮我们大忙。


在网站的源代码中,很可能存在独特的代码片段,以及很多第三方服务的痕迹(例如Google Analytics,reCAPTCHA)。


例如,HackTheBox网站的Google Analytics Tracking代码如下:

ga('create', 'UA-93577176-1', 'auto');


通过使用80.http.get.body:参数,我们就可以在Censys的数据中搜索出对应的网站。

当然,普通的搜索字段是有局限性。您可以在Censys上请求研究访问权限,这样就可以通过Google BigQuery进行更强大的查询。

而在另一款网络搜索产品Shodan中,我们也可以根据http.html搜索参数进行相同的查询。

示例如下:

https://www.shodan.io/search?query=http.html%3AUA-32023260-1


十、DNS记录

也许你的网站在使用CloudFlare之前曾短暂将真实IP暴露于公网。此时,如果Censys的DNS记录有你的网站的A记录,就会暴露你的网站的真实IP。


有一个专门用于查询域名记录的网站SecurityTrails。只需在搜索字段中输入网站域名,然后按Enter键即可。你就能在“历史数据”中找到惊喜。


除了以前的A记录,即使是当前的DNS记录也可能泄漏真实IP。例如,MX记录,即邮件交换记录。如果邮件服务器和目标网站在同一个服务器上,则真实IP可能存在于MX记录中。


十一、其它一些思路

1、利用网站敏感信息:比如 phpinfo.php,这个就要看字典了。

2、国内很多CDN厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的主机直接访问可能就能获取到真实P。

3、搞到CDN账号:社工管理员,搞到CDN的账号。


后记


要找到真实IP需要一定的创造力。


在这里推荐x0rz所写的Securing a Web Hidden Service,里面介绍了不少安全隐藏自己网站的方法,同时也说明一旦网站管理者出现疏忽,就会出大事。


当然,目前CloudFlare也有很多措施来防御。例如,建立CloudFlare和服务器之间的单独隧道。这意味着管理员不必在公网公开网站。还有使用白名单机制,禁止其他IP连接上网站。

© 版权声明
THE END
喜欢就支持一下吧
点赞1赞赏
分享
评论 抢沙发

请登录后发表评论