如何找到在 CloudFlare 或 Tor 背后隐藏的真实源 IP? - iYouPort
如何找到在 CloudFlare 或 Tor 背后隐藏的真实源 IP?
- 获得用户的真实原始IP是攻击者梦寐以求的梦想,利用真实IP,攻击者发起的攻击才更有针对性和效率。这里有5个方法可以做到这点
配置了任何类似隐藏功能以及 CloudFlare 的服务,都具有隐藏用户真实原始IP的效果。攻击者只能利用其中的漏洞,才能找到想要的IP,进而利用这些IP,直接攻击使用 CloudFlare 的网站。
比如绕过WAF、限制网速、绕过DDoS保护等。
甚至干脆删除安全运营商提供的隐藏真实原始IP的服务,或者将Tor提供的身份隐藏服务取消。
寻找隐藏在 CloudFlare 或 Tor 背后的真实原始IP的方法,会根据用户使用的服务或技术类型而异,例如,Tor 隐藏服务不存在MX记录,所以对它就要采取一种特殊的寻找IP的方法。
1、利用SSL证书寻找真实原始IP
1.1 使用给定的域名
假如你在 xyz123boot.com 上托管了一个服务,原始服务器IP是136.23.63.44。
而 CloudFlare 则会为你提供DDoS保护,Web应用程序防火墙和其他一些安全服务,以保护你的服务免受攻击。
为此,你的Web服务器就必须支持SSL并具有证书,此时CloudFlare与你的服务器之间的通信,就像你和 CloudFlare 之间的通信一样,会被加密(即没有灵活的SSL存在)。
这看起来很安全,但问题是, 当你在端口 443( https://136.23.63.44:443 )上直接连接到IP时,SSL证书就会被暴露 。
此时,如果攻击者扫描 0.0.0.0/0,即整个互联网,他们就可以在端口443上获取在 xyz123boot.com 上的有效证书,进而获取提供给你的Web服务器IP。
目前 Censys 工具 就能实现对整个互联网的扫描。
Censys 是一款用以搜索联网设备信息的新型搜索引擎,安全专家可以使用它来评估他们实现方案的安全性,而黑客则可以使用它作为前期侦查攻击目标、收集目标信息的强大利器。
Censys 搜索引擎能够扫描整个互联网,Censys 每天都会扫描IPv4地址空间,以搜索所有联网设备并收集相关的信息,并返回一份有关资源(如设备、网站和证书)配置和部署信息的总体报告。
而攻击者唯一需要做的就是把上面用文字描述的搜索词翻译成实际的搜索查询参数。
xyz123boot.com证书的搜索查询参数为:
parsed.names: xyz123boot.com
只显示有效证书的查询参数为:
tags.raw: trusted
攻击者可以在 Censys 上实现多个参数的组合 ,这可以通过使用简单的布尔逻辑来完成。
组合后的搜索参数为:
parsed.names: xyz123boot.com and tags.raw: trusted
Censys 将向你显示符合上述搜索条件的所有标准证书,以上这些证书是在扫描中找到的。
要逐个查看这些搜索结果,攻击者可以通过单击右侧的“Explore”,打开包含多个工具的下拉菜单。
选择
What's using this certificate?
>
IPv4 Hosts
.
此时,攻击者将看到一个使用特定证书的IPv4主机列表,而真实原始 IP就藏在其中。
你可以通过导航到端口443上的IP来验证,看它是否重定向到xyz123boot.com?或它是否直接在IP上显示网站?
1.2 使用给定的 SSL 证书
如果你是执法部门的人员,想要找出一个隐藏在 cheesecp5vaogohv.onion 下的儿童色情网站。
最好的办法就是找到其原始IP,这样你就可以追踪到其托管的服务器,甚至查到背后的运营商以及金融线索。
隐藏服务具有SSL证书,要查找它使用的IPv4主机,只需将”SHA1 fingerprint”(签名证书的sha1值)粘贴到 Censys IPv4 主机搜索 中,即可找到证书,使用此方法可以轻松找到配置错误的Web服务器。
2、利用DNS记录寻找真实原始IP
CloudFlare 里含有DNS记录,利用 Censys 这样的工具,就可以找到存在于web服务器中的DNS记录。
利用 SecurityTrails 平台 ,攻击者就可以精准的找到真实原始IP。
他们只需在搜索字段中输入网站域名,然后按 Enter 键即可,这时“历史数据”就可以在左侧的菜单中找到。
即使是当前的记录也可能泄漏原始服务器IP 。
例如,MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自己的邮件服务器,那么原始服务器IP将在MX记录中。
3、利用 HTTP 标头寻找真实原始IP
借助 SecurityTrails 这样的平台,任何人都可以在茫茫的大数据搜索到自己的目标,甚至可以通过比较HTTP标头来查找到原始服务器。
特别是当用户拥有一个非常特别的服务器名称与软件名称时,攻击者找到你就变得更容易 。
如果要搜索的数据相当多,如上所述,攻击者可以在 Censys 上组合搜索参数。
假设你正在与1500个Web服务器共享你的服务器HTTP标头,这些服务器都发送的是相同的标头参数和值的组合。
而且你还使用新的PHP框架发送唯一的HTTP标头(例如:X-Generated-Via:XYZ 框架),目前约有400名网站管理员使用了该框架。
而最终由三个服务器组成的交集,只需手动操作就可以找到了IP, 整个过程只需要几秒钟 。
例如,Censys 上用于匹配服务器标头的搜索参数是
80.http.get.headers.server:
,
查找由 CloudFlare 提供服务的网站的参数如下:
80.http.get.headers.server: cloudflare
4、利用应用和服务寻找真实原始IP
由Tor隐藏服务或通过 CloudFlare 提供的网站是一个普通网站,而HTTP服务器之类的标头可用于查找正在使用的服务和版本的可能存在的漏洞。
当攻击者获得对服务器的访问权限时,你显然可以轻松找到IP。
另一种尝试是找到可能触发漏洞的提示信息,错误消息就可以显示敏感信息。这些信息可以只是IP本身,也可以是任何参数信息。
在重新调试阶段运行 gobuster 以查找文件和目录,这个过程应该在每隔一段时间进行一次。
攻击者可以找到的内容是日志,数据库转储或备份等等。
此时攻击者会看看是否可以让为网站提供支持的应用程序与其他服务进行交互, 如果你不是执法机构,如果用户只是在使用API,你可能无法获得IP 。
但作为本文的案例, 也许攻击者可以在网站上设置一个头像并提供图片的URL而不是上传它 。
如果用户正在下载它,则他们可能是从其原始服务器进行的。此时,IP就会出现在日志中。
5、利用网站返回的内容寻找真实原始IP
如果原始服务器IP也返回了网站的内容,那么可以在网上搜索大量的相关数据。
浏览网站源代码, 寻找独特的代码片段 。
在 Java 中使用具有访问或标识符参数的第三方服务(例如 Google Analytics,reCAPTCHA)是攻击者经常使用的方法。
以下是从 HackTheBox 网站获取的 Google Analytics 跟踪代码示例:
ga('create', 'UA-93577176-1', 'auto');
可以使用
80.http.get.body:
参数通过 body/source 过滤 Censys 数据。
不幸的是,正常的搜索字段有局限性,但你可以 在 Censys 请求研究访问权限 ,该权限允许你通过 Google BigQuery 进行更强大的查询。
Shodan是一种类似于Censys的服务,也提供了
http.html
搜索参数。
搜索示例: https://www.shodan.io/search?query=http.html%3AUA-32023260-1
最后
找到 Tor 隐藏服务或类似 CloudFlare 的反向代理服务背后的真实IP 需要对web有一定的了解,也需要一定的创造力 。
x0rz 写的 保护web隐藏服务 介绍了 Tor 隐藏服务运营者针对本文中提出的几种方法的应对策略。
其中包含了一些失败对策,隐藏服务并没有做好 OPSEC(操作安全),导致可以被监视者定位。
整篇文章是关于由于网站管理员犯的错误而到导致被找到真实IP,绝对不是 CloudFlare 的错误。
例如,当MX记录暴露真实IP时,你甚至会收到警告。最重要的是,CloudFlare 鼓励你将他们的IP列入你的web服务器的白名单,这样就不会在IP上公开你的网站或域名证书。
他们还有一项名为 Argo Tunnel 的服务,Argo Tunnel 会在你的服务器和 CloudFlare 之间建立隧道,意味着你根本不必公开你的web服务器。
CloudFlare 可能是此类别中最受欢迎的产品,这就是它在一些示例中被使用的原因。你也可以使用其他类似的服务代替 CloudFlare。
操作安全是需要随时强调的《 使用 Tor 保护自己时千万不要做这九件事 》
文章版权归原作者所有。