信息收集_CDN绕过
什么是CDN?为什么要绕过?
CDN全称是内容分发网络(content delivery network)。其目的是让用户能够更快速的得到请求的数据。
网上找了一张图片,拿腾讯举例 用户想要访问腾讯的官网去冲QB,首先计算机想要知道向哪个ip发起请求(计算机之间的通信靠的是ip而不是url),所以需要dns请求将域名转成ip。首先请求的是LDNS本地dns服务器(在这里忽略本机的缓存),LDNS查看本地缓存是否存在响应记录,如果有就直接返回ip,如果没有就将域名解析请求发送至腾讯DNS调度系统,并将调度系统分配的最佳节点IP地址返回给用户,同时也将最佳的节点ip-域名的记录缓存到本地DNS服务器,这时候用户发起请求其实并不是给腾讯自家服务器发请求 而是向某个CDN发的请求。
用户经常访问的静态数据资源(例如 html,css,js,图片等文件)直接缓存到某CDN节点上,当用户需要某些数据或者进行某些逻辑操作,这时候才会转发到真正的服务器上。访问一个网站不用加载很久,这样就大大的提高了进冲QB网站的速度。
所以如果没有分辨出真实服务器与CDN,将会导致后续的渗透测试全都测试到CDN服务器上!!!同时要注意找到目标真实的ip之后不要进行DDOS攻击,也不要尝试对它们开放的高危端口进行攻击
如何判断是否存在CDN?
方式一 http://ping.chinaz.com 在站长之家进行多地ping检测
这里举两个例子www.cuit.edu.cn、www.jd.com
上面两个结果很明显cuit.edu.cn 无CDN,京东绿油油一大片 有CDN
原理:CDN的主要目的是将内容分发到网络,所以如果目标网站使用了CDN,那么在不同的地理位置去ping网站域名所得到的ip一定是不一样的!!!
方式二 nslookup
beginner@beginner-virtual-machine:~$ nslookup www.cuit.edu.cn
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: www.cuit.edu.cn
Address: 210.41.224.132
Name: www.cuit.edu.cn
Address: 2001:250:2004:224::132
=======================================================================================
beginner@beginner-virtual-machine:~$ nslookup www.jd.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
www.jd.com canonical name = www.jd.com.gslb.qianxun.com.
www.jd.com.gslb.qianxun.com canonical name = www.jdcdn.com.
www.jdcdn.com canonical name = img20.360buyimg.com.s.galileo.jcloud-cdn.com.
img20.360buyimg.com.s.galileo.jcloud-cdn.com canonical name = img2x-sched.jcloud-cdn.com.
Name: img2x-sched.jcloud-cdn.com
Address: 60.9.5.3
自家学校网站nslookup很直接 没有CDN;下面京东的结果--->jcloud-cdn
绕过CDN的方法
方法一、通过邮箱
如果目标网站有邮箱服务 该网站主动给我们发邮件 那我们就很可能得知真正的服务器ip(大多数情况下邮件服务系统 都是部署在公司内部 没有CDN),我们查看邮件的原始版本就可以获取服务器的ip。(当你注册或者修改密码的时候很多网站都会发邮件的!当然除了这种情况外还有其他主动给我们发邮件的情况)
我们重置密码网易会给我们发一封邮件然后导出邮件查看原始版本
下面是导出的文件内容 第一行就包含了服务器的ip信息
Received: from urs-virt7-mail-server1.dg.163.org (unknown [59.111.178.141])
by trans1 (Coremail) with SMTP id gMCowADn83niRVRhC9uCEA--.26066S2;
Wed, 29 Sep 2021 18:54:26 +0800 (CST)
From: =?gb2312?B?zfjS19XKusXW0NDEIA==?= <passport@service.netease.com>
To: $$$$$$$$$$
Message-ID: <1696392617.20477267.1632912866976.JavaMail.appuser@urs-virt7-mail-server1.dg.163.org>
Subject: =?gb2312?B?1tjWw7PJuaY=?=
MIME-Version: 1.0
Content-Type: text/html;charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Netease-Folder: INBOX
X-CM-TRANSID:gMCowADn83niRVRhC9uCEA--.26066S2
X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUb5529EdanIXcx71UUUUU7v73
VFW2AGmfu7bjvjm3AaLaJ3UbIYCTnIWIevJa73UjIFyTuYvjxUk4SrUUUUU
X-Originating-IP: [59.111.178.141]
Date: Wed, 29 Sep 2021 18:54:26 +0800 (CST)
略......
如果你常用的是qq邮箱查看邮件源文件的方式会更简单一些,接着拿steam举例
方法二、查子域名
CDN并不便宜,目标网站可能只有主站(www.xxx.com)和流量较大的子站(hub.xxx.com)购买了CDN,可能有很多小站(mail.xxx.com)和前者分布在同一个机器或者C段网段内,这样我们可能猜解出网站的真实ip
-
谷歌、百度、必应都可以搜出来
- 例如子域名挖掘机、子域名搜索器等等等其他工具搜索
拿网易举例,先通过百度 site:163.com 然后找看起来冷门的,然后交给http://ping.chinaz.com 去判断是否有CDN,经过筛选可能推断出53.111.0.0/16 可能是网易的一部分内网
jubao.aq.163.com 59.111.160.194
8.163.com 59.111.18.135
wowui.w.163.com 42.186.69.197
campus.163.com 59.111.160.244
然后钟馗之眼去判断 发现大批ip都有NetEase(网易)和163等字眼 ok~~~
方法三 查看域名的历史解析记录
当目标网站的域名使用时间较长,可能在目标网站刚出现的时候并没用绑定CDN的服务,那么在DNS服务器的历史解析记录就可能存在 真实的ip地址
http://viewdns.info/iphistory/
方法四 通过历史的NS服务器来解析域名
NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析
https://whoisrequest.com/history/
方法五 使用shodan
这里需要登录才能进行过滤搜索这里我们就不登录了
shodan常用语法
hostname:搜索指定的主机或域名。例如,hostname:"google"
port:搜索指定的端口或服务。例如, port:"21"
country:搜索指定的国家。例如, country:"CN"
city:搜索指定的城市。例如,city:"Hefei"
org:搜索指定的组织或公司。例如,org:"google"
isp:搜索指定的ISP供应商。例如, isp:"China Telecom"
product:搜索指定的操作系统/软件/平台。例如, product:"Apache httpd"
version:搜索指定的软件版本。例如, version:"1.6.2"
geo:搜索指定的地理位置,参数为经纬度。例如, geo:"31.8639,117.2808"
before/after:搜索指定收录时间前后的数据,格式为 dd-mm-yy。例如, before:"11-09-19"
net:搜索指定的IP地址或子网。例如,net:"210.45.240.0/24"