通过伪造Tor隐藏服务实现网络钓鱼的技术分析

一、写在前面的话

SMS Privacy(一个使用比特币购买匿名手机号的服务)现在已经成为了一种Tor隐藏服务,但现在大约只有不到10%的用户会以这种隐藏服务的方式来使用它。在这篇文章中,我将跟大家分析一下攻击者如何使用Tor隐藏服务来创建一个钓鱼网站。

[[207173]]

二、概述

今天故事的主人公是Charlie,当时他用Google搜索了“site:*.onion.to smsprivacy”的相关信息,并且得到了意想不到的结果。

smspriv6fynj23u6.onion是一个合法的隐藏服务名称,但是在搜索结果中却出现了另一个看起来非常相似的网站:smsprivyevs6xn6z.onion。

经过简单的分析调查之后,他发现该网站只是一个简单的代理:页面请求首先会发送给一个钓鱼网站,然后最终被转发到真正的隐藏服务,最终返回响应数据。但是,这里还存在一些奇怪的地方。

1. 缺少Content-Length 头

Content-Length 头可以告诉HTTP客户端需要接收多少个字节的内容。对于一个配置不当的代理服务器,如果传递的内容没有改变的话,那么Content-Length 头就不会发生变化。因为它知道内容不变的话数据的长度肯定不会变。

这也就意味着,如果代理服务器认为内容的长度可能会发生变化的话,那么就说明在某些情况下,服务器已经准备好去修改数据包的内容了。

但是为什么不可以根据修改版的数据包内容来写入相应的Content-Length呢?

原因很可能是为了降低页面的加载时间:如果代理不需要事先知道数据包的长度,那么它就可以在修改完数据包的内容之后直接将内容发送给客户端了。如果它还要读取所有的内容,然后进行修改,最后再将所有数据进行转发的话,这样就会增加页面的加载时间并引起不必要的怀疑。

2. Connection 头错误

下面给出的是合法网站与钓鱼网站响应头之间的对比:

合法网站:

  1. $ torsocks curl -Ihttp://smspriv6fynj23u6.onion/ 
  2. HTTP/1.1 200 OK 
  3. Server: nginx/1.10.2 
  4. Date: Fri, 13 Oct 2017 05:37:49 GMT 
  5. Content-Type: text/html;charset=UTF-8 
  6. Content-Length: 7387 
  7. Connection: keep-alive 
  8. Set-Cookie: [...] 
  9. X-Frame-Options: DENY 

钓鱼网站:

  1. $ torsocks curl -Ihttp://smsprivyevs6xn6z.onion/ 
  2. HTTP/1.1 200 OK 
  3. Server: nginx/1.10.2 
  4. Date: Fri, 13 Oct 2017 05:37:57 GMT 
  5. Content-Type: text/html;charset=UTF-8 
  6. Connection: [object Object] 
  7. Set-Cookie: [...] 
  8. X-Frame-Options: DENY 

Connection 头会从keep-alive被重写成[objectObject]。当你将一个对象(如果这个对象没有实现toString()方法)转换成字符串的时候,你将会在JavaScript中看到这种转换的发生,这对于我们分析代理服务器运行的是哪一种软件提供了非常有帮助的线索。

经过分析之后,我认为它很有可能使用的是NodeJS。我在node-http-proxy或Harmon(用于修改响应信息的中间件)中都没有发现任何可以触发该漏洞的地方,所以这很有可能是攻击者自己实现的。如果你知道有哪一款软件中的漏洞可以允许将Connection头修改为[object Object]的话,请一定要告诉我。

除此之外,我还添加了一些Javascript脚本来对这个钓鱼网站进行了进一步的分析,并且发现该网站采用了一种额外的缓存机制,其目的应该还是为了降低页面的加载时间。

3. 隐藏服务的地址发生了改变

代理似乎会将smspriv6fynj23u6.onion的所有实例全部重写到smsprivyevs6xn6z.onion,但有意思的是大小写会发生变化。

4. 比特币地址发生了改变

比特币是这个钓鱼网站真正的目的,一般来说,钓鱼网站的目标是为了窃取用户的帐号凭证,但是这个网站的目的似乎更加直接,它就是要骗用户的比特币。(注:其中的一个比特币地址:

1GM6Awv28kSfzak2Y7Pj1NRdWiXshMwdGW)

当用户首次访问支付页面的时候,页面的加载会有一定的延迟,这很可能是后台正在生成新的比特币地址。所有新生成的比特币地址会以文本形式显示出来,但支付页面上的二维码却没有发生变化,扫描之后出来的仍然是原本合法的地址。

三、网站如何分发给用户

我在分析的过程中还发现了另外两个隐藏服务:

  • 7cbqhjnpcgixggts.onion:”The onion crate”:这是一个Tor隐藏服务列表,类似于以前的“Web目录”,但这是针对Tor的。其中的钓鱼版本会被专门标记为“钓鱼链接”。
  • hss3uro2hsxfogfq.onion:”not Evil”:这是一个针对Tor隐藏服务的搜索引擎。搜索“sms privacy”后,返回的第一条结果是合法网站,而第二条结果就是钓鱼网站。我点击了钓鱼网站下面的“report abuse”按钮,但是现在这个网站还是没有被移除。

这跟我想的完全不一样,我一开始以为攻击者可能会在Twitter、博客或者其他诸如此类的地方放置一条钓鱼链接的,而不是直接通过搜索引擎显示给用户。如果我想让用户去访问我的钓鱼网站,我肯定不会将其标记为“钓鱼链接”。我不认为“The onion crate”的管理人员与此事件有关,我感觉“not Evil”搜索引擎的运营者会是此次事件背后的始作俑者,不过我现在也无法确定。因为如果我要开发一个专门给用户发送钓鱼链接的搜索引擎,那我根本不会给用户返回非钓鱼网站的链接,尤其是第一个结果就是合法网站。

还有一种可能,就是这一网络钓鱼活动并没有正式开始,但“The onion crate”在2017年5月17日就将其标记为了钓鱼链接,说明它的存在已经有一定的时间了。

四、用户如何保护自己

SMS Privacy的用户首先要确保自己在浏览smsprivacy.org时使用的是HTTPS,或者说如果用户使用的是Tor,那么smspriv6fynj23u6.onion是唯一的合法隐藏服务地址,其他所有类似的地址都是钓鱼网站。

进一步研究

我猜测,运行这个代理的软件同时还代理了很多其他的隐藏服务。当你想自己编写一些代码来代理一个隐藏服务时,你只需要重写域名和比特币地址,基本上就可以搞定了。

接下来,我又进行了一些深入研究。我查看了“The onion crate”并寻找其他的钓鱼链接,然后我找到了一个在响应头中给出了Connection: [object Object]并将网络数据转发给伪造的SMS Privacy隐藏服务地址的钓鱼网站。分析后发现,这个隐藏服务与SMS Privacy合法服务毫不相关,但它能够给用户提供伪造的SMS Privacy内容!这也就意味着,这两个钓鱼网站很可能是跟同一个黑客或黑客组织有关的。HTTP数据如下所示:

  1. $ torsocks curl -I -H 'Host:smsprivyevs6xn6z.onion' http://cboc66yz75virnj7.onion 
  2. HTTP/1.1 200 OK 
  3. Server: nginx/1.10.2 
  4. Date: Fri, 13 Oct 2017 16:26:10 GMT 
  5. Content-Type: text/html;charset=UTF-8 
  6. Connection: [object Object] 
  7. Set-Cookie: mojolicious=eyJsYW5kaW5nX3VybCI6Ii8iLCJhYnRlc3RzIjp7ImxhbmRpbmdfdXJsIjoiLyIsInNpZ251cGxpbmsiOiJvcmlnaW5hbCIsInJlZmVyX3NyYyI6Im5vbmUiLCJoaWRkZW5fc2VydmljZSI6ImhpZGRlbiJ9LCJleHBpcmVzIjoxNTA3OTE1NzE1LCJjc3JmX3Rva2VuIjoiZmQzNjc4NzcyMjRiNDZkZWZhYjNhM2ViZDIwMDY0ZmRmMDliZmQ0NCIsImFidGVzdHNfc2Vzc2lvbmlkIjoiOGM4NWQxMTZjMmE1MTBkOSJ9--785fbe83dce1217e74543ed831eb4c18c1cd6105;expires=Fri, 13 Oct 2017 17:28:35 GMT; path=/; HttpOnly 
  8. X-Frame-Options: DENY 

五、总结

实际上,攻击者可以轻而易举地利用这项技术来发动大规模攻击,因为只需要一个周末的时间就可以开发出一个可以正常使用的版本。而且我相信在不久的将来,会有更多的攻击者使用其他的Tor隐藏服务来制作钓鱼网站。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/142133.html<

(0)
管理的头像管理
上一篇2025-03-09 02:29
下一篇 2025-03-09 02:31

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注