空间测绘|一招教你如何分析Tor

admin 2023年5月18日10:47:10评论144 views字数 4219阅读14分3秒阅读模式
点击蓝字
空间测绘|一招教你如何分析Tor
关注我们
大家好,我是人见人爱、花见花开的花十一。今天主要跟大家分享及交流一些分析Tor方面的知识。
01 概述
Tor是一种匿名通信系统,它使用多层加密和随机路由,将用户数据包通过多个节点传输,从而隐藏其来源和目标。
Tor(The Onion Router)是一种基于匿名化技术的网络传输协议,通过多个“中间节点”中转数据流以隐藏其源头和目的地。
这些中间节点组成了Tor网络。每个中间节点只知道上一个节点和下一个节点的IP地址,并且在转发数据时加入不同的加密层,使得数据无法被单个节点解密或跟踪到源头和目的地。
访问Tor网络很多方式,比如用户通过Tor客户端连接到本地的入口节点,入口节点将用户的请求进行加密并转发至中间节点,中间节点再将数据解密并转发至出口节点,最终出口节点将数据发送给目标服务器,如下图所示。
也可以利用Tor代理,Tor代理是一种将应用程序的网络流量路由到Tor网络的中继服务,用于访问.onion域名的网站。还有一些应用Tor网络的操作系统,如:Whonix、Tails 自身就是通过Tor连接互联网。
本文将对Tor IP识别和如何利用空间测绘发现Tor IP展开说说。
空间测绘|一招教你如何分析Tor
参考来源: https://zhuanlan.zhihu.com/p/34358838

02 Tor IP分析
TorIP分为三种:一是Tor节点,这类IP主要是传递Tor流量。二是Tor代理,这类IP就是用于访问Tor网络的代理IP。还有就是Tor服务IP,即部署onion网站的IP。
1、Tor节点IP
先来说下Tor节点IP,其默认监听9001端口,节点IP有很多属性,如下图,可以看到节点别名、联系邮箱、退出策略、指纹、节点权重等等,通过这些信息可以了解节点的身份验证信息、确认节点的可靠性和合法性。
空间测绘|一招教你如何分析Tor
在Tor网络中的节点包括入口节点、中继节点和出口节点。
中继节点是 Tor 最核心的组成部分,为路由和传递Tor流量提供服务。在Tor网络中,中继节点被分为三个不同的类别:普通中继节点、桥中继节点和千里眼中继节点(或称"审计节点")。
其中,普通中继节点是最常用的中继节点,这些地址在互联网上公开,任何人都可以使用它们来连接Tor网络;桥中继节点是一种特殊类型的中继节点,这些节点主要提供给那些需要绕过审查和防火墙的用户使用,具体地址不会公开发布,如下图。
在Tor官方网站中可以看到公开的普通中继节点IP地址和端口,而Type为Bridge的桥中继节点IP地址是隐藏的。
千里眼中继节点主要用来监测Tor流量可能存在的安全漏洞和网络攻击,保护Tor网络的安全性和稳定性。普通用户无法搭建该类型的节点,只有专业的安全公司或政府机关才会搭建。
空间测绘|一招教你如何分析Tor
那么如何找到中继节点呢,这里介绍三种方法。
(1) Tor Metrics,Tor Metrics(https://metrics.torproject.org/rs.html )是一个由Tor项目维护的网站,它提供了有关Tor网络中中继节点的各种数据和图表。
可以在该网站上查看搜索"flag:running"获取当前Tor网络中可用的所有中继节点。这个网站的数据存在延迟,新增的节点并不会马上同步过来。或者从Tor维护的collector网站上下载中继节点列表,地址:https://collector.torproject.org/archive/relay-descriptors/server-descriptors/
空间测绘|一招教你如何分析Tor
(2)使用python的stem库获取中继节点列表,这种方法本质上也是从Tor Metrics获取IP,首先用Controller.from_port 方法连接到本地的 Tor 客户端,利用controller.authenticate() 方法进行身份验证。然后使用 controller.get_network_statuses() 方法获取本地所有的中继节点列表。
import stem.descriptor.remotefrom stem import Flagfrom stem.control import Controller# 连接到本地的 Tor 客户端with Controller.from_port(port=9051) as controller:controller.authenticate()# 获取当前所有中继节点的列表relays = controller.get_network_statuses()for relay in relays:print(relay)
空间测绘|一招教你如何分析Tor
另外搭建Tor中继节点的时候,如果加入中继节点失败,也会显示中继节点的IP地址
空间测绘|一招教你如何分析Tor
(3) 在网络空间测绘上通过特定语法获取节点IP。例如,在Shodan上搜索"Tor"或"Tor relay"等关键词,会返回Tor中继节点。
空间测绘|一招教你如何分析Tor
在X情报社区上搜索body="tor relay" 也可以发现节点IP。
空间测绘|一招教你如何分析Tor
不过返回的数据不够精准,需要配合其他条件筛选更精确的节点,比如body=tor relay && title=this is a tor relay,获取更精准的中继节点IP。
空间测绘|一招教你如何分析Tor
利用测绘获取的IP可以Onionoo验证其是否准确,Onionoo是Tor官方维护的在线查询工具,指定IP地址查询该IP是否为中继节点或出口节点。
地址:https://onionoo.torproject.org/details?search=ip。
如198.50.191.95在4月17日之前一直是tor中继节点,且有相关的指纹信息。
空间测绘|一招教你如何分析Tor


2、Tor代理分析
Tor代理是一种匿名的代理服务器,可以用来隐藏用户的真实IP地址。默认情况下监听9050或9150端口。如果有境外的vps可以尝试编辑/etc/tor/torrc,做如下配置的注释来搭建Tor代理。
空间测绘|一招教你如何分析Tor
Tor项目中有个Issues(https://gitlab.torproject.org/legacy/trac/-/issues/1667),向Tor端口发送报文"PROTOCOLINFOrn" ,服务会返回"I'm not an HTTP proxy",来说明该端口是Tor服务。
空间测绘|一招教你如何分析Tor
另外查看nmap的指纹库,可以发现其匹配逻辑是判断回报的响应头信息。
空间测绘|一招教你如何分析Tor
如下nmap进行指纹识别返回的服务名称是"tor-socks"。
空间测绘|一招教你如何分析Tor
基于上述两个特征可以在测绘里构造如下语法发现tor代理。
protocol=tor-socksbanner="501 Tor is not an HTTP Proxy"
空间测绘|一招教你如何分析Tor
如上图,返回了一批符合特征的IP,接下来可以通过curl命令验证IP是否可用,如下,34.70.6.35这个IP就是无认证的Tor代理。
curl --proxy socks5h:// 34.70.6.35:9201
https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion
空间测绘|一招教你如何分析Tor
3、Tor服务分析
在暗网上部署服务是依托Tor工具来实现的,通过对配置文件/etc/tor/torrc做如下配置当前主机即可获取一个onion域名。
(1)找到"HiddenServiceDir"部分
空间测绘|一招教你如何分析Tor
(2)这里可以搭建tor网站或者利用tor隐藏ssh服务。例如,想要对外隐藏ssh服务,配置如下内容。
空间测绘|一招教你如何分析Tor
如果ssh端口改变了,需要做如下修改。
HiddenServicePort 22022 127.0.0.1:22022
配置完成后重启tor,在 /var/lib/tor/other_hidden_service/目录下记录着该主机对应的.onion域名
空间测绘|一招教你如何分析Tor
(3)验证Tor服务,如下通过.onion域名获取到ssh端口的指纹信息
torsocks curl http://reyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbobcdxpwgad.onion:22
或者
torsocks nc reyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbobcdxpwgad.onion 22
空间测绘|一招教你如何分析Tor
如果利用Tor搭建了网站可以空间测绘搜索以下语法,如下可以看到有2000+IP在暗网侧都有相对的业务。
banner="Onion-Location"
空间测绘|一招教你如何分析Tor
4、Tor出口节点
Tor网络中的出口节点(Exit Node)是指最后一个中继节点,它将Tor流量从Tor网络路由到互联网上。因此,Tor出口节点是连接Tor网络和互联网的关键部分,也是Tor网络用户与外部世界通信的唯一接口。
在使用Tor时,如果通信需要离开Tor网络并访问互联网,则Tor流量将通过一个出口节点传递。出口节点可以看到传输数据的明文内容,因此可能会泄露用户的身份或活动轨迹信息。
Tor官方提供了一个服务TorDNSEL用来识别出口节点,使用方法如下,例如:拿到一个IP185.220.101.3,先将IP地址反转为3.101.220.185,然后和域名dnsel.torproject.org拼接,如果解析IP地址是127.0.0.2,则说明该IP是出口节点。
空间测绘|一招教你如何分析Tor
另外Tor官方维护了一份出口节点的IP,地址https://check.torproject.org/torbulkexitlist。通过查看和这里比对也可以识别出口节点。

03 结尾


当前Tor节点中已支持ipv6协议,但并不是所有的Tor节点都支持ipv6。判断ipv6地址是不是TorIP的方法和ipv4差别不大。


本文介绍了如何识别Tor网络的节点、代理和服务。通过这些方法结合网络空间测绘可以更加丰富IP的上下文信息,确定哪些IP是Tor节点。这对于日常安全运营和分析潜在威胁有一定的作用。文章抛砖引玉,期待各位读者能在此基础上发现网络空间测绘的更多妙用。

- END -

步应急响应团队为企业客户提供应急响应服务。当企业遭遇突发重大安全事件(APT攻击、勒索加密、数据窃取、漏洞攻击、主机被控、钓鱼事件等),微步可提供快速事件定位取证、隔离清除、溯源分析、安全加固等专业安全服务,帮助企业信息系统在最短时间内恢复正常工作,将事件影响降到最低。

如果发生安全事件,可联系微步应急响应团队,联系方式:400-030-1051
空间测绘|一招教你如何分析Tor
转发,点赞,在看,安排一下?


1. 内容转载,请微信后台留言:转载+转载平台

2. 内容引用,请注明出处:以上内容引自公众号“微步在线应急响应团队”

原文始发于微信公众号(微步在线应急响应团队):空间测绘|一招教你如何分析Tor

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月18日10:47:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   空间测绘|一招教你如何分析Torhttps://cn-sec.com/archives/1742483.html

发表评论

匿名网友 填写信息