【開山安全笔记】如何绕过CDN寻找真实IP?


我的博客:kitescat’s Blog
欢迎关注公众号:打代码的猫

渗透测试过程中,信息搜集是很重要的准备步骤。信息搜集包括域名搜集,C段及旁站扫描,指纹识别,端口扫描,目录扫描等步骤。其中域名搜集又分为一级域名和子域名搜集。

上一篇文章我们讲解了子域名搜集过程遇到的泛解析问题,爆破得到的子域名可能会泛解析到同个IP。于是通过IP黑名单的方式,达到过滤冗余子域名的效果。本篇博客我们集中于解决域名搜集过程中,如何绕过CDN寻找真实IP的问题。

写在前面

已有师傅写了更加详细的博客,我在这里引出文章作为参考,写的超级详细,建议收藏!

CDN 2023 完全攻击指南(一)
CDN 2023 完全攻击指南(二):HTTP范围放大攻击
在这里插入图片描述


1 前景知识

通常来讲,通过cmd的ping或者nslookup命令,即能快速找到域名对应IP。但很多站点出于用户体验和安全的角度,使用CDN加速,将域名解析到CDN,这时候就需要绕过CDN来查找真实IP。那么什么是CDN?

为什么需要CDN?

CDN全称为Content Delivery Network-内容分发网络。简单理解,资源服务器比作快递发货店家,CDN节点即为各个快递网点。快递网点会寄存一些店家的库存以方便快速发货到用户手中。这种分包的概念即为CDN的核心思想:用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回源站获取,避免网络拥塞。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/095a5742d7964e5aa015cfc1c0286567.png

2 如何判断是否使用了CDN?

  • 反查域名 IP,看结果是否有大量不相关的域名存在 观察请求响应的返回数据的头部,是否有 CDN 服务商标识
  • 使用超级ping,通过不同定位地点的 ping 测试,看返回的 IP 是否不同
  • 判断 IP 是否在常见 CDN 服务商的服务器 IP 段上
  • 若asp 或者 asp.net 网站返回头的 server 不是 IIS、而是 Nginx,则多半使用了nginx反向代理到 CDN 利用
  • Nslookup 查询域名,看是否返回多个应答 IP
  1. 多地 ping
    查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有:http://ping.chinaz.com/ ,http://ping.aizhan.com/ , http://ce.cloud.360.cn/

  2. 查询DNS记录-使用 nslookup 进行检测

nslookup-name server lookup 用于查询DNS服务器上某域名的DNS记录。如下,我们nslookup www.163.com ,本地DNS服务器返回了多个地址
在这里插入图片描述
第一部分:
这里是我们本机的DNS服务器信息。

第二部分:
非权威应答对应的英文是:Non-authoritative answer。什么叫非权威应答?假设某个DNS server没有域名test.com的记录信息,当有客户端通过它请求获取test.com的域名信息,此DNS Server会通过迭代递归的方式从test公司实际存储此记录信息的DNS server中获取test.com的域名信息,反馈给发出请求的客户端,同时会把test.com的记录信息放在自身缓存中放置一段时间,当又有客户端请求test.com域名解析时,此DNS server直接从自身缓存中提取返回给客户端,这个回答叫“非权威回答”,简言之凡是从非实际记录存储DNS server中获取的域名解析回答,都叫“非权威回答”。
Name:z163picipv6.v.bsgslb.cn 指的 www.163.com 域名实际对应的主机名记录。
第三部分:
Address有多个记录, 说明该域名实际对应多个物理主机,用户访问www.163.com时,按照一定规则由其中一台计算机进行应答。(CND的作用)
Aliase: DNS记录中的一个别名,方便我们记忆。

3 Solution

  1. 查询DNS历史记录
    查询域名的NS记录、MX记录等很有可能指向的是真实ip或同C段服务器。除了历史DNS记录,即使是当前的记录也可能泄漏原始服务器IP。例如,MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自己的邮件服务器,那么原始服务器IP将在MX记录中。
    在这里插入图片描述
    DNS记录类型分为A,CNAME,NS和MX
    图片
    可以用 https://www.ip138.com/ 查询域名历史解析记录

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

  3. 利用SSL证书寻找真实原始IP
    在censy上进行搜索,语法:parsed.names: xxxx.com and tags.raw: trusted

  4. Http头
    利用HTTP标头寻找真实原始IP

  5. 邮件测试
    一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件,寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP(必须是目标自己的邮件服务器,第三方或者公共邮件服务器是没有用的)

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

  7. 网站敏感文件泄露,例如:Phpinfo 其中有Server IP信息

  8. 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。

4 总结

本篇博客核心介绍了CDN,DNS的概念以及nslookup这一工具的简易使用。还有其他绕过CDN的方法我们没有涉及,比如利用Fofa或者Shodan网络空间搜索引擎,这些工具我之前在【粗心程序员,后台惨遭删库勒索 】这篇文章有用到过,感兴趣的小伙伴可以去看看。知识靠积累,目前先总结如上信息。

5 参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值