前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >绕过CDN查找真实IP方法总结

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

作者头像
安全小王子
发布于 2020-07-31 09:17:22
发布于 2020-07-31 09:17:22
4.7K00
代码可运行
举报
文章被收录于专栏:betasecbetasec
运行总次数:0
代码可运行

本文作者:3had0w(贝塔安全实验室-核心成员)

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。 百度百科

0x01:域名解析过程

  • 传统访问:用户访问域名-->解析IP-->访问目标主机
  • 简单模式:用户访问域名-->CDN节点-->真实IP-->目标主机
  • 360网站卫士:用户访问域名-->CDN节点(云WAF)-->真实IP-->目标主机

注:目前场面上大多数CDN服务商都提供了云WAF的配置选项,内置了多种安全防护策略,可对SQL注入、XSS跨站、Webshell上传、后门隔离保护、命令注入、恶意扫描等攻击行为进行有效拦截。

0x02:CDN配置方法

  • 1、将域名的NS记录指向CDN厂商提供的DNS服务器。
  • 2、给域名设置一个cname记录,将它指向CDN厂商提供的另一个域名。

0x03:CDN检测方法

利用“全球Ping”快速检测目标网址是否存在CDN,如果得到的IP归属地是某CDN服务商,或者每个地区得到的IP地址都不一样则说明可能存在CDN,可用以下几个网站检测!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://wepcc.com
http://ping.chinaz.com
https://asm.ca.com/en/ping.php

注:全球Ping有一定机率可以得到目标服务器真实IP地址,因为CDN服务商没有某些地区CDN节点。

0x04:查找真实IP方法

(1) phpinfo等探针找到真实IP

通过l.php、phpinfo.php等探针类文件即可得到真实IP地址,phpinfo.php搜索SERVER_NAME。

(2) 网站根域或子域找到真实IP

大部分CDN服务都是按流量进行收费的,所以一些网站管理员只给重要业务部署CDN,也有很多人忘了给“根域”部署CDN,所以我们可以尽可能的多搜集一些子域名来尝试得到真实IP地址。

注:有时多个子域名可能不会解析到同一台服务器,而是根据公司业务的重要与非重要性将子域名解析在内网或外网的不同服务器中,需要一定的分析能力。

(3) 利用邮件服务器找到真实IP

Web跟Email服务属同服务器的情况下可以通过Email来查询目标真实IP地址,但如果Web跟Email属不同服务器,那么我们通过Email得到的可能只是邮件服务器的IP地址,所以在hosts文件中即使绑定IP后无法访问目标网站也属正常现象。常见发送邮件的功能有:注册用户、找回密码等等。

(4) 域名历史解析记录找到真实IP

查询目标域名历史解析记录可能会找到部署CDN前的解析记录(真实IP地址),可用以下几个网站查询。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://domain.8aq.net    //基于Rapid7 Open Data
https://x.threatbook.cn
https://webiplookup.com
https://viewdns.info/iphistory
https://securitytrails.com/#search
https://toolbar.netcraft.com/site_report

(5) FOFA查询网站标题找到真实IP

利用“FOFA网络空间安全搜索引擎”搜索网站源代码中的title标签内容即可得到真实IP地址。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
title="*** ***** – Multi Asset Fund"

(6) Censys查询SSL证书找到真实IP

利用“Censys网络空间搜索引擎”搜索网站的SSL证书及HASH,在https://crt.sh上查找目标网站SSL证书的HASH,然后再用Censys搜索该HASH即可得到真实IP地址。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:***trade.com

(7) 自建CDN节点服务器找到真实IP

这篇笔记当时没有记录下来,其实就是MS17-010刚出来时很多机器都还没打补丁,批量过程中打了一台别人自建的CDN节点服务器,然后在里边发现很多解析到这边的IP地址,其实这些IP地址就是某些网站的真实IP,所以说这种方法也算是一种思路吧,但是得先拿到这台CDN节点服务器的权限。

注:一些免费或自建CDN流量都不会很多,可以用DDOS攻击将其流量耗尽后即可显示出真实IP地址。

(8) 分析目标C段来简单判断真实IP

这种方法得看目标有多少子域名吧,如果子域够多,且又有多台服务器(同段),找一个没有部署CDN的子域名,然后扫描整个C段查找与目标站Title一致的即可得到它的真实IP地址!

网站域名

真实IP地址

CDN节点IP地址

111.test.com(目标)

192.168.1.10

8.8.8.8

222.test.com

192.168.1.11

9.9.9.9

333.test.com

192.168.1.12

没有CDN

假如目标站111.test.com解析在192.168.1.10,title:90sec社区,通过查询333.test.com这个子域名得到333的真实IP地址192.168.1.12,然后扫描192.168.1.x 整个C段,扫到192.168.1.10这个IP后发现一个title为“90sec社区”的网站,域名也是111.test.com后就能确定192.168.1.10是它的真实IP地址了,虽然这种方法没有实践过,但肯定是有这种情况的,在遇到时可以尝试一下?

(9) 利用目标网站的漏洞找到真实IP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Web漏洞:
XSSSSRF、命令执行、文件上传等,需要先绕过云WAF的安全防护。

敏感信息泄露:
phpinfo、Apache status和Jboss status敏感信息泄露,网页源代码泄露,SVN、Github信息泄露等。

(10) 通过社工CDN控制台找到真实IP

(11) Zmap全网扫描及F5 LTM解码法

这两种方法都是前辈们写的,个人感觉较为复杂,并没有实践测试过,不知道是否真可行?

注:部署了CDN的网站有必要设置严格访问控制策略,仅允许CDN节点访问网站真实服务器(80端口),这样设置的好处就是即使别人在hosts文件中绑定了真实IP以后仍然无法访问。笔者曾经在一次渗透测试过程中也遇到过类似情况,就是成功绑定了真实IP后,虽然能够正常访问到目标网站,但是仍然没有绕过云WAF,具体情况有点记不太清了,当时没有去细研究这个问题!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 betasec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux上如何手动升级OpenSSH版本?解决CVE-2021-41617漏洞
有小伙伴问,如何解决CVE-2021-41617漏洞漏洞?增加我Linux服务器的安全性:
Mintimate
2021/09/29
10.9K4
Linux上如何手动升级OpenSSH版本?解决CVE-2021-41617漏洞
SSH漏洞修复-升级openssh
修复解决漏洞 解决OPenssh7.x以前的绝大多数问题 OpenSSH 命令注入漏洞(CVE-2020-15778) OpenSSH 用户枚举漏洞(CVE-2018-15919) OpenSSH 安全漏洞(CVE-2017-15906) 升级能解决绝大多数的问题 安装依赖环境 yum -y install rpm-build gcc gcc-c++ glibc glibc-devel openssl-devel openssl prce pcre-devel zlib zlib-devel mak
Yuou
2022/09/26
3.5K0
CentOS7下升级OpenSSL和OpenSSH
本文参考 http://www.dengb.com/Linuxjc/1355285.html
yuanfan2012
2020/05/26
5K1
Linux环境下安装openssh9.8p1步骤
2、安装openssh有风险,安装请务必做好快照备份,出问题后能通过快照及时回滚。
Sync
2024/08/18
1.2K0
Linux升级OpenSSH修复高危漏洞
1、查看当前版本信息 [root@mast ~]# ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 2、安装基础组件 [root@mast ~]# yum install gcc gcc-c++ openssl-devel autoconf automake zlib zlib-devel pcre-devel pam-devel rpm-build pam-devel telnet -y 3、卸载系统老版本openssh,备份配置文件 [roo
胡齐
2020/07/29
12.7K2
CentOS7 升级 OpenSSH9.8 和 OpenSSL3.3.1
陳斯托洛夫斯記
2024/08/07
1.3K0
记一次Centos7.5升级OpenSSH8.0p1
测试一下telnet连接,然后就可以先放着了,这只是以防万一,接下来还是正常使用ssh连接操作
匿名用户的日记
2021/12/14
8760
CentOS 6.4下OpenSSH升级到6.7操作过程详解
2)Openssl版本:1.0.1e-15.el6,由于升级到openssh_6.7p1,需要OpenSSL的版本在0.9.8f以上,所以这里就不用升级openssl了。直接升级openssh就行了。
星哥玩云
2022/07/04
1K0
CentOS 6.4下OpenSSH升级到6.7操作过程详解
升级openssh
链接:https://pan.baidu.com/s/1T0Tu9FTUETyqEiTJ1kozPw
明.sir
2020/05/17
3.7K1
Linux——OpenSSH如何升级到最新版本
升级包 链接:https://share.weiyun.com/BhDw35zi
思索
2024/08/16
5550
Linux——OpenSSH如何升级到最新版本
OpenSSH升级指南
OpenSSH 是SSH(Secure Shell)协议免费开源的实现。SSH协议族可用来远程控制主机或在计算机间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、ftp、Rlogin都是极为不安全的,它们使用明文传输数据,甚至是使用明文传送密码,攻击者可通过嗅探等中间人攻击的方式获取传输的数据。为了保证通信安全,在1999年10月OpenSSH第一次在OpenBSD2.6里出现,它提供了服务端后台程序和客户端工具,结合OpenSSL协议实现端到端的加密传输,保证通信信道的安全,并由此来代替原来的服务。
绿盟科技安全情报
2019/10/24
5.5K0
OpenSSH升级指南
CentOS6.5下升级openssl-1.1.1g与openssh-8.3p1
CentOS6.5版本升级openssl-1.1.1g与openssh-8.3p1
yuanfan2012
2020/07/06
4.3K3
openssh和openssl升级
[root@host-192-168-5-38 ~]# openssl version
用户10638239
2023/12/29
1K0
CentOS7 升级openssh和openssl
升级openssl 查看openssl版本 图片 下载最新版openssl,编译安装 tar xf openssl-1.1.1g.tar.gz cd openssl-1.1.1g ./config shared zlib --openssldir=/usr/local/openssl --prefix=/usr/local/openssl make && make install 替换旧版的openssl 备份旧的openssl mv /usr/bin/openssl /usr/bin/op
陳斯托洛夫斯記
2022/10/27
2.2K0
CentOS7 升级openssh和openssl
OpenSSH 5.0 版本升级6.0小结(针对SUSE RedHat Linux系统)
这几天因为安全漏洞扫描,扫描到时大量OpenSSH漏洞,需安全加固,主要是升级版本,以前对于升级打补丁总是不在意的,可这次中间遇到一些小问题整理成册,希望对大家有点帮助,以下是具体实现方法:
星哥玩云
2022/07/03
3.4K0
Ubuntu 16.04升级OpenSSH
参考:Ubuntu 16.04 升级Openssh 8.8P1 Ubuntu 16 更新openssh 8.8
geekfly
2022/08/11
2.1K0
Ubuntu 16.04升级OpenSSH
Centos 升级 OpenSSH 到 9.0
XMSS中使用的签名方案是有状态的,这意味着密钥随时间而变化,此过程需要考虑以前保存的“状态”(如果有)。负责处理XMSS保存的“状态”的函数会由于整数溢出漏洞而导致内存破坏。任何可以解析私有XMSS密钥的OpenSSH函数都容易受到攻击。
jwj
2022/05/13
3.6K0
OpenSSH升级版本到最新(8.4)
1.修改#PermitRootLogin prohibit-password项,去掉注释#并把prohibit-password改为yes,修改后即为PermitRootLogin yes
硅谷子
2020/11/10
22.2K25
OpenSSH升级版本到最新(8.4)
OpenSSH升级版本到8.2 (CentOS7.6)
OpenSSH升级需要对ssh卸载和安装,因此请采用 VNC连接 来进行升级操作, 进行OpenSSH原配置文件备份、旧版本OpenSSH删除、新版本OpenSSH安装。
高鹏-bryan
2020/05/19
6.7K0
centos6.5 openssh升级
4. 卸载系统自带的openssh,卸载之前先停止sshd服务,再用rpm删除,同时清除系统/etc/ssh目录
孙杰
2019/10/29
2.2K0
相关推荐
Linux上如何手动升级OpenSSH版本?解决CVE-2021-41617漏洞
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验