当前位置: 首页 > news >正文

寻找隐藏在CloudFlare和Tor后的真实IP

在渗透测试时,我们经常会遇到目标处于CloudFlare或其他cdn服务之后,使我们无法发现原始服务器IP,难以使用某些渗透手段。但是,这类网站一旦出现设置不当,就有可能暴露真实IP。而一旦我们获得了真实IP,自然就可以对这些网站进行暴力破解,DDoS攻击等等。注意,隐藏Tor后的网站也有这种风险。以下将介绍几种发掘网站真实IP的方法,希望大家能针对性地使用。

1.SSL证书

1.1 使用给定的域名

假设你有一个网站,域名为xyz123boot.com,服务器真实IP是136.23.63.44。CloudFlare为网站提供DDoS保护,Web防火墙和其他一些安全服务。你的Web服务器支持SSL并有证书,因此CloudFlare与你的服务器之间的通信就像你的网站用户和CloudFlare之间的通信一样加密(即SSL不够灵活)。乍一看,好像没什么问题。

但是,此时,真实IP的443端口(https://136.23.63.44:443)的证书会直接暴露在互联网上。若对全球IP的443端口进行扫描,就能在某个IP的443端口上获取涉及 xyz123boot.com 的有效证书,而这个IP就可以说是服务器的真实IP。
很多网络搜索引擎可以收录证书信息。你唯一需要做的就是将网站域名的关键词进行搜索。
例如,对于Censys网络搜索引擎,xyz123boot.com的证书的搜索语句如下:

parsed.names: xyz123boot.com

只显示有效的证书:

tags.raw: trusted

在Censys上对这些搜索条件进行布尔组合即可。最后搜索语句:

parsed.names: xyz123boot.com and tags.raw: trusted

Censys将显示符合上述标准的所有证书,这些证书是他们在全球扫描中找到的。

逐个单击搜索结果,你可以在详情页面右侧的“浏览”中发现多个工具,然后我们点击What's using this certificate? > IPv4 Hosts

这时你可以看到使用这个证书的所有IPv4主机列表。其中某个就可能是真实IP。

最后,你可以直接导航到某个IP的443端口进行验证,看它是否重定向到xyz123boot.com?或者是否会直接显示网站?

1.2 通过给定的证书

你是联邦调查局,想关闭一个在暗网中的cheesecp5vaogohv.onion域名的色情网站。那么你就必须要原始IP,这样才能找到主机,找到运营商,最后找到服务器所有者。

此时,利用网络搜索引擎,我们可以查找使用相同SSL证书的IPv4主机,只需将其SHA1指纹(没有冒号)粘贴到Censys IPv4主机搜索中即可。不是所有服务器的SSL都配置严谨。

2.DNS记录

也许你的网站在使用CloudFlare之前曾短暂将真实IP暴露于公网。此时,如果Censys的DNS记录有你的网站的A记录,就会暴露你的网站的真实IP。

有一个专门用于查询域名记录的网站SecurityTrails。只需在搜索字段中输入网站域名,然后按Enter键即可。你就能在“历史数据”中找到惊喜。

除了以前的A记录,即使是当前的DNS记录也可能泄漏真实IP。例如,MX记录,即邮件交换记录。如果邮件服务器和目标网站在同一个服务器上,则真实IP可能存在于MX记录中。

3.HTTP头

通过网络搜索引擎,你甚至可以通过比较HTTP头来查找原始IP。

特别是当目标网站有一个非常独特的服务器请求头以及网站所使用的各种软件及其版本时,都能大大减轻查询的难度。

而且正如1.1节中所述,您可以在Censys上组合查询参数进行搜索。再配合一些其他信息,就能快速定位到网站。

假设你的服务器的请求头组成大致和1500个其他Web服务器的请求头相同,你的网站还使用一个新的PHP框架,这也是很独特的HTTP标头(例如:X-Generated-Via:XYZ fr amework),目前约有400名网站使用该框架。就这样不停比对,运气好的情况下,很快就能找到真实IP。

例如,Censys上涉及服务器请求头的搜索参数是

80.http.get.headers.server:

查找使用了CloudFlare服务的网站的语句如下:

80.http.get.headers.server: cloudflare

4.应用和服务

网站本身的很多功能可能并不完善,包括完整网站所使用的开源软件包,自编写的代码等都有可能存在某些“轻微”的漏洞,例如,报错信息不规范等。而这些信息就很有可能缩小我们的搜索范围。此外,即使是正常的网站服务,也有可能为我们所用。例如你需要在目标网站上设置一个头像,而且是通过提供图片URL的方式(不是上传图片)。那么目标网站可能主动从其他网站下载图片,如果你控制着放置图片的网站。那么目标的真实IP就在日志中。最重要的就是多多尝试,网站管理员可能会犯很多错误。

5.内容

在某些情况下,直接访问目标服务器IP也会返回网站内容。那么,问题就简单了,网络搜索引擎能帮我们大忙。在网站的源代码中,很可能存在独特的代码片段,以及很多第三方服务的痕迹(例如Google Analytics,reCAPTCHA)。例如,HackTheBox网站的Google Analytics Tracking代码如下:

ga('create', 'UA-93577176-1', 'auto');

通过使用80.http.get.body:参数,我们就可以在Censys的数据中搜索出对应的网站。
当然,普通的搜索字段是有局限性。您可以在Censys上请求研究访问权限,这样就可以通过Google BigQuery进行更强大的查询。而在另一款网络搜索产品Shodan中,我们也可以根据http.html搜索参数进行相同的查询。
示例如下:

https://www.shodan.io/search?query=http.html%3AUA-32023260-1

后记

要找到隐藏在Tor或CloudFlare后面的原始IP需要一定的创造力。

在这里推荐x0rz所写的Securing a Web Hidden Service,里面介绍了不少安全隐藏自己网站的方法,同时也说明一旦网站管理者出现疏忽,就会出大事。

当然,目前CloudFlare也有很多措施来防御。例如,建立CloudFlare和服务器之间的单独隧道。这意味着管理员不必在公网公开网站。还有使用白名单机制,禁止其他IP连接上网站。

 

相关文章:

  • 【Docker】————1、docker安全基线整理
  • 【公链安全】go-ethereum链安全审计
  • 【应急基础】Linux下进程隐藏的方法及其对抗
  • 【应急响应】Windows应急响应操作手册
  • 使用base64+gzinflate压缩编码来加密webshell
  • 社工查询网址汇总
  • Linux主机安全测评
  • EOS系统架构图解
  • 【算法】————1、冒泡排序
  • 【算法】————2、选择排序
  • 【算法】————3、插入排序
  • 【算法】————4、归并排序
  • 【算法】————5、快速排序
  • 【算法】————6、希尔排序
  • 【算法】————7、堆排序
  • CentOS 7 防火墙操作
  • iOS 颜色设置看我就够了
  • Iterator 和 for...of 循环
  • Python打包系统简单入门
  • Shadow DOM 内部构造及如何构建独立组件
  • Vue ES6 Jade Scss Webpack Gulp
  • 测试开发系类之接口自动化测试
  • 电商搜索引擎的架构设计和性能优化
  • 复杂数据处理
  • 给github项目添加CI badge
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 技术:超级实用的电脑小技巧
  • 讲清楚之javascript作用域
  • 免费小说阅读小程序
  • 前端性能优化——回流与重绘
  • 巧用 TypeScript (一)
  • 什么是Javascript函数节流?
  • 学习笔记:对象,原型和继承(1)
  • 自动记录MySQL慢查询快照脚本
  • 交换综合实验一
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​【已解决】npm install​卡主不动的情况
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #HarmonyOS:Web组件的使用
  • #ifdef 的技巧用法
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (1)(1.11) SiK Radio v2(一)
  • (4)logging(日志模块)
  • (zhuan) 一些RL的文献(及笔记)
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (转)EXC_BREAKPOINT僵尸错误
  • *** 2003
  • ****Linux下Mysql的安装和配置
  • .NET : 在VS2008中计算代码度量值
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始