1.DNS服务器类型
例如bbs.neko.com,本地DNS服务器,根DNS服务器,TLD(TOP Level DNS)顶级域名服务器解析neko.com,authoritative DNS server(解析bbs.三级域名)
两种查询方式:
迭代查询:迭代查询是服务器告诉你应该去哪里查询,依次查询,最显著的特点是会多次请求,然后返回一个结果
递归查询:递归查询是,你交给我请求,我去给你查询,然后返回结果
2.ping/nslookup
ping命令手册多练
nslookup默认是A记录类型,需要添加参数时nslookup -type="记录类型" 域名
3.IP归属信息
http://ipwhois.cnnic.net.cn查询
4.如何获取CDN背后的真实IP
CDN:本质上类似于分布式服务器副本,然后让用户就近访问提高访问速度和缓解主服务器压力
比如:1.当用户向www.a.com的资源发起请求时,首先向LDNS(本地DNS)发起域名解析
2.本地DNS先检查缓存中有没有www.a.com的ip地址记录,有的话直接返回给用户,如果没有则继续向授权DNS查询
3.当授权DNS解析www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址
4.域名解析请求发送到阿里云DNS调度系统,并为请求分配最佳节点IP地址
5.本地DNS获取到DNS返回的解析ip地址
6.用户获取解析IP地址
7.用户向获取的IP地址发起对该资源的访问请求
注:如果该ip地址对应的节点没有缓存该资源,则节点会向源站发起对该资源的请求,获取资源后,结合用户自定义的缓存策略,将资源缓存到节点。
这个过程中我们会在CDN上部署各种安全设备等进行流量分析过滤等,CDN的本质是为了更好的生活体验,而不是增加渗透难度
为什么要绕过CDN?
绕过CDN是为了获取服务器的真实IP地址,而不是得到这些副本服务器IP,获取源站真实IP可以帮助渗透工作的完成
绕过的方式和方法:超级ping、子域名查询(参考域名信息收集)、查找历史DNS、国外主机分析(物理绕过)
超级ping:
http://ping.chinaz.com
nslookup
查找历史DNS:
还有通过查找历史DNS来寻找其中可能存在的至今仍然在使用的DNS:
http://dnshistory.org
What's that site running? | Netcraft
全球 CDN 服务商查询_专业精准的IP库服务商_IPIP
或者github项目:
GitHub - vincentcox/bypass-firewalls-by-DNS-history: Firewall bypass script based on DNS history records. This script will search for DNS A history records and check if the server replies for that domain. Handy for bugbounty hunters.
国外主机访问:通过物理绕过,因为他是按照就近原则,寻找离你最近的节点,但是国外主机访问的话是没有最近的节点的,就很有可能直接访问源站
https://asm.ca.com/zh_cn/ping.php
http://host-tracker.com
http://www.webpagetest.org
https://dnscheck.pingdom.com
其他方式:邮件、手机app抓包、微信服务号抓包,网络空间搜索引擎
邮件:部分邮件回复时会包含服务器ip地址,此时抓包就可以获取服务器ip,但是也有可能邮件服务器是单独的
手机app和服务号:可能手机app没有使用CDN技术或者服务号提供了网站接口,但是并未对接CDN,这个时候可以抓包获取真实IP