绕过CDN查找真实IP的方法总结

前言

CDN的全称是 Content Delivery Network,即内容分发网络。开启CDN后的网站,会根据用户所在地的不同访问CDN的节点服务器,并不直接访问源服务器,这样可以减少网站服务器宽带资源,降低服务器压力。这也就是大家都在ping百度,但是不同地区得到的反馈ip不一样的原因。由于CDN节点的阻挡防护,可以更好的保护员服务器的安全。具体来说,CDN其实是充当了一个替身的角色,无论服务器是渗透还是DD0S攻击,攻击的目标都将是CDN节点,这样一来便间接的保护了网站本身。
在渗透测试或者红蓝对抗时,经常遇到网站使用了CDN,找到真实ip对后续渗透有很大帮助,比如直接访问ip可能会绕过云waf,扫描端口等等。

用户访问网站过程:

   传统访问:用户访问域名–>解析服务器IP–>访问目标主机
   普通CDN:用户访问域名–>CDN节点–>真实服务器IP–>访问目标主机
   带WAF的CDN:用户访问域名–>CDN节点(云WAF)–>真实服务器IP–>访问目标主机

1.如何判断是否使用CDN

1.1.直接ping

直接ping网站域名的时候,如果网站使用cdn会出现类似下面情况:

~ ping www.syxxx.cn
PING 539b1c6d114eec86.360safedns.com (221.2xx.1xx.1x): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2

1.2.多地ping

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

  • http://ping.chinaz.com/

  • http://ping.aizhan.com/

  • https://www.17ce.com/

1.3. nslookup

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

  • CDN的示例:
nslookup www.16xx.com
服务器: public1.114dns.com
Address: 114.114.114.114
非权威应答:
名称: 163.xdwscache.ourglb0.com
Addresses: 58.xxx.xx.86
xxx.75.32.xxx
Aliases: www.16xx.com
www.16xx.com.lxdns.com
  • 无 CDN 的示例:
~ nslookup xxxx.com
服务器: public1.114dns.com
Address: 114.114.114.114
非权威应答:
名称: xxxx.com
Address: 192.3.168.172

1.4. 查看响应头中的“X-cache”字段

在浏览器中访问,观察响应头中的“X-cache”字段

扫描二维码关注公众号,回复: 17041420 查看本文章
  • 显示“MISS”,说明没有命中CDN缓存,是回源的
    例如:X-cache:MISS Tcp_MISS dirn:-2:-2
  • 显示“HIT”说明命中了cdn缓存
    例如:X-cache:HIT TCP_HIT dirn:0:402545

2.如何绕过CDN查找真实IP

真实IP不一定能找到

2.1. 空间搜索引擎

  • 根据网站特征

a.可以根据网站特定title或者网站body特征,比如在fofa里面使用title:xxxxx或者body:xxxx
b. 服务器响应内容指纹,当服务器对请求做出的响应内容(响应头和响应体)具有特殊信息(指纹)时,可以利用这种独有特征在搜索引擎中进行搜索,得到与目标网站关联度很高的ip等信息。

  • 搜索域名

直接domain:xxxx.com,可以搜索子域名等信息,查找真实ip,ps:学会利用搜索引擎的匹配条件

我常用的搜索引擎:

钟馗之眼:https://www.zoomeye.org
Shodan:https://www.shodan.io
Fofa:https://fofa.so
···

2.2. 网站漏洞

  • 目标敏感文件泄露,例如:phpinfo之类的探针、GitHub信息泄露等。
  • XSS盲打,命令执行反弹shell,SSRF等,服务器主动向外发起连接,泄露真实IP地址。

2.3. 网站配置不当

在配置CDN的时候,需要指定域名、端口等信息,有时候小小的配置细节就容易导致CDN防护被绕过

  • 有些网站常常将www.xxx.com 和 xxx.com 解析到同一个站点,而CDN只配置了www.xxx.com,通过访问xxx.com,就可以绕过 CDN
  • 站点同时支持http和https访问,CDN只配置 https协议,那么这时访问http就可以轻易绕过。

2.4. 域名

  • 子域名

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

  • 其他域名

网站关联网站可能未使用CDN,有可能关联网站和主站在同一台服务器或者同一个C段内,此时就可以通过查询关联网站域名对应的 IP 来辅助查找网站的真实IP。

2.5. 邮件服务器来源

如果网站不是用的第三方邮箱,可以借用注册或者找回密码以及订阅等功能,让对方邮件服务器主动给自己发邮箱,查看源码(或者信息头),如下图。有可能发现真实ip,如果发现对方邮件服务器是独立的,可以查看一下c段。
在这里插入图片描述

2.6. APP客户端

APP客户端有可能部分api接口走的直接是ip接口,此时可以查看服务器IP,也可以查看一下c段。

2.7. DOS(不建议使用)

DDOS耗尽CDN流量、那么就会回源,这样就能得到真实IP,不设防的cdn 量大就会挂,高防cdn 要增大流量。

2.8. 全球ping

大部分 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的DNS查询,很可能获取到真实IP:

https://www.wepcc.com

2.9. 历史IP和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
  • https://securitytrails.com/#search

2.10. F5 LTM解码法

当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取,例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,以此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的ip。

2.11. 利用SSL证书寻找真实原始IP

证书颁发机构(CA)必须将他们发布的每个SSL/TLS证书发布到公共日志中,SSL/TLS证书通常包含域名、子域名和电子邮件地址。因此SSL/TLS证书成为了攻击者的切入点。

目前Censys工具就能实现对整个互联网的扫描,Censys是一款用以搜索联网设备信息的新型搜索引擎,安全专家可以使用它来评估他们实现方案的安全性,而黑客则可以使用它作为前期侦查攻击目标、收集目标信息的强大利器。Censys搜索引擎能够扫描整个互联网,Censys每天都会扫描IPv4地址空间,以搜索所有联网设备并收集相关的信息,并返回一份有关资源(如设备、网站和证书)配置和部署信息的总体报告。

xxx.com证书的搜索查询参数为:parsed.names:xxx.com
只显示有效证书的查询参数为:tags.raw:trusted
攻击者可以在Censys上实现多个参数的组合,这可以通过使用简单的布尔逻辑来完成。
组合后的搜索参数为:parsed.names: xxx.com and tags.raw: trusted
Censys将向你显示符合上述搜索条件的所有标准证书,逐个查看这些搜索结果,攻击者可以通过单击右侧的“Explore”,打开包含多个工具的下拉菜单。What’s using this certificate? > IPv4 Hosts,此时,攻击者将看到一个使用特定证书的IPv4主机列表,而真实原始 IP就藏在其中

2.12. 社工CDN账号

可以联系客服小姐姐,想办法拿到目标网站管理员在CDN的账号,从而在从CDN的配置中找到网站的真实IP

2.13. 全网扫描(太浪费时间不建议,反正我没用过)

首先从 apnic 获取 IP 段,然后使用 Zmap 的 banner-grab扫描出来 80 端口开放的主机进行 banner 抓取,最后在http-req中的 Host 写 xxx.com。

3.验证找到的ip是否为真实ip

  • 找到真实ip之后,与hosts文件绑定,实现能够直接用ip或域名访问目标真实服务器
  • 可以直接https://ip,查看证书绑定域名

猜你喜欢

转载自blog.csdn.net/qq_36241539/article/details/118527997