首页
社区
课程
招聘
[翻译]使用Tor进行匿名文件分享的开源工具 - OnionShare 2发布
2019-3-18 07:10 8859

[翻译]使用Tor进行匿名文件分享的开源工具 - OnionShare 2发布

2019-3-18 07:10
8859

通过Onionshare团队开发,设计,翻译近一年的工作,OnionShare 2正式发布,可以在onionshare.org下载.

 

OnionShare是使用Tor进行匿名文件分享的开源工具。可以直接通过在电脑上启动web服务器,用OnionShare生成一个可访问的复杂的Tor地址,对方将此地址在Tor浏览器中加载,用来上传或者下载文件。此过程不需要设置单独的服务器,使用第三方文件共享服务,甚至不需要登录帐户。

 

与电子邮件,Google Drive, DropBox, WeTransfer等通常的文件共享服务不同,使用OnionShare可以防止这些文件共享服务公司访问你共享的文件,只要你以安全的方式分享这个复杂的Tor地址,比如说通过一个加密消息传递应用。除了你和你共享文件的对方,没有别人可以访问你的文件。

 

下面介绍OnionShare 2的一些新部分。

 

目录

使用OnionShare分享文件

第一次打开OnionShare 2时,会连接到洋葱网络.

 

img

 

连上后是“共享文件”选项卡(稍后将详细介绍新的“接收文件”选项卡)。

 

img

 

要安全地匿名与他人共享文件,只需将文件拖放到OnionShare窗口即可。 或者单击“添加文件”和“添加文件夹”按钮来浏览本地文件。

MacOS沙盒

在Windows和Linux中,只有一个“添加”按钮,可以用来选择文件和文件夹。MacOS下按钮的复杂化,是因为它新增了MacOS沙盒这一安全功能。这意味着即使有人设法利用OnionShare中的漏洞尝试破解你的计算机,他们无法在没有逃离沙箱的情况下访问计算机上的数据或运行程序。

 

img

 

如上图所示,我将OnionShare源代码的所有文件拖到了窗口中,为了让其他人可以访问它们,我只需要点击“开始共享”。

下一代洋葱服务

img

 

点击按钮几秒后,OnionShare给了一个复杂的Tor地址用来分享。这也是OnionShare 2中的新功能:默认情况下,它使用下一代Tor洋葱服务,也称为v3洋葱地址。 这些洋葱地址看起来像lldan5gahapx5k7iafb3s4ikijc4ni7gx5iywdflkba5y2ezyg6sjgyd.onion,而不是旧的v2形式,看起来像elx57ue5uyfplgva.onion

 

由于各种原因,v3洋葱比v2洋葱更安全,但这个地址冗长且难以打出来(如果你使用OnionShare在你面前的两台计算机之间移动你的文件)。如果需要,你可以进入设置并选择“使用旧地址”来使用v2洋葱地址。

 

此外,你可能会注意到OnionShare地址使用的是HTTP而不是HTTPS,这没有任何问题。 HTTPS在Web浏览器和Web服务器之间加密,但Tor洋葱服务已经是端到端加密,因此不需要HTTPS(Let's Encrypt不会对.onion网站签署HTTPS证书,所以就算用HTTPS也会出现浏览器警告)。 与在Tor浏览器中加载普通网站不同,当你加载洋葱网站时,没有可以监视流量的Tor出口节点 - 所有流量都保留在Tor网络中。

 

现在,我需要将网址发送给与我共享文件的朋友。 安全地执行此操作的最简单方法是使用加密的消息传递应用,如Signal Desktop,Wire,Keybase或iMessage - 或者,如果你想用传统的方法,可以用Jabber / OTR。 如果你共享的文件不是特别敏感,也可以通过容易被监视但可能更方便的方式共享此网址,例如在Facebook,Twitter,Google Hangouts,Slack或Discord消息中, 或者在电子邮件中。

 

img

 

我的朋友打开Tor浏览器并加载我发给她的OnionShare地址。 她会看到一个网站上有我正在分享的文件列表,还有一个“下载文件”按钮。

 

关于OnionShare如何工作的关键点是该网站直接托管在我的电脑上,而不是托管在某个数据中心的服务器上。 如果我暂停我的电脑,该链接将不再有效。 如果我在文件被下载之前关闭OnionShare,那么对应的Tor网址就会从互联网上消失。 因此,OnionShare总是实时发生 - 你和你共享文件的人需要同时在线

仅共享一个文件,OnionShare不会压缩

我的朋友开始下载文件,这些文件会自动压缩。 在这种情况下,zip文件名为onionshare_snwga4.zip(文件名的最后一部分是随机的),当她解压缩时,她可以看到我发送的OnionShare源代码的副本。 OnionShare 2中的一个新功能是,如果您只共享一个文件,它就不再将其压缩(但仍然使用内置于HTTP协议中的gzip压缩它)。

 

img

 

回到我的电脑上,OnionShare在文件发送完成的那一刻自动停止共享,同时OnionShare地址完全从互联网上消失,再也不会重现。

OnionShare文件地址默认只能使用一次

OnionShare地址具有临时性,用于一次性使用。 (例如,如果有人在Twitter DM中向你发送OnionShare地址,你在几分钟后加载并下载文件,之后该地址将不再存在。如果有人访问您的Twitter DM历史记录 ,上面的OnionShare地址将不再有效。)

 

img

 

如上图所示,在我朋友下载完我共享的文件后,OnionShare地址不再存在。

 

这是OnionShare的默认设置,但你可能希望使用OnionShare将文件发送给一组人,而不仅仅是一个人,在这种情况下,你不希望它是短暂的。 你可以在“设置”中取消选中“在文件发送后停止共享”,然后多个人可以下载你的文件,并且你可以继续共享,直到手动单击“停止共享”或关闭OnionShare为止。

接收文件

img

 

所有这些或多或少都是OnionShare一直以来的工作方式。 但是“接收文件”标签对于OnionShare 2来说是全新的。它仍然只是一个开始 - 我们计划在未来向OnionShare添加更多标签,例如静态网站共享标签。

 

当使用OnionShare接收文件时,你就将计算机变成匿名保管箱 - 可以类比成超轻量级的SecureDrop版本,任何人都可以在自己的电脑上免费运行,而无需设置任何基础设施或做任何系统管理。 (但是,它不像SecureDrop那样稳定或安全,SecureDrop以OnionShare无法实现的方式强制执行隔离环境。)

 

img

 

在我点击“开始接收模式”几秒钟后,OnionShare给了我一个复杂的Tor地址,和之前一样的方式分享给对方。 但这次,我没有向她发送文件,她可以向我发送文件,她需要的只是Tor浏览器 - OnionShare是不需要的。

 

如果我发布这个OnionShare地址,任何人都可以向我发送文件,我没有任何方式可以知道他们是谁(因为他们将使用Tor),并且用端到端加密的方式,所以窃听我们任何一方网络的窃听者无法访问这些文件,甚至无法意识到我们正在使用OnionShare。对于窃听者来说,他们所能获得的唯一信息就是我们都在使用Tor。

 

img

 

我的朋友只需单击“浏览”,找到要发送的文件,然后单击“发送文件”。

 

img

 

在我计算机上的OnionShare中,我可以看到我收到的所有文件的状态。 因为OnionShare使用Tor洋葱服务,我实际上没有任何方式知道正在向我发送文件 - 如果我只想特定的人可以向我发送文件,我需要安全地向对方共享OnionShare地址。在我单击“停止接收模式”或关闭OnionShare之前,我的计算机将继续充当匿名保管箱。 而且,就像共享模式一样,如果我暂停我的电脑,OnionShare地址就会停止工作。

 

img

 

我收到的文件会保存到~/ OnionShare目录下,并按日期和时间自动排序。

只打开信任的文件

现在您已经知道“接收文件”选项卡的工作方式,要非常小心,并确保将以下这点牢记于心:

打开一些文件可能导致它们控制你的计算机。只打开来自信任的人的文件,要清楚地知道自己在做什么。

 

一切关于不打开电子邮件附件的警告同样适用于此处。 在这个例子中,我收到了gimp-2.10.8-x86_64-2.dmg,它是开源图像编辑软件GIMP的安装程序。 但是,它很容易被修改成隐藏着恶意软件的安装程序。 如果有人向你发送.docx.pdf文件,它们可能包含可能试图通过Microsoft Word或Adobe Reader中的漏洞攻击你的恶意软件。 如何安全地打开你收到的文件超出了OnionShare 的范围,所以请谨慎使用此功能。

公共模式

OnionShare 2有一个新功能:公共模式。 但在解释它的作用之前,我将先解释OnionShare如何在没有它的情况下工作。

 

默认情况下,OnionShare地址看起来是http://[tor-address].onion/[slug],其中slug是7,776个单词列表中的两个随机单词(从技术上讲,这是一个2字的diceware密码短语)。背后的想法是,如果攻击者能够找出地址的“tor-address”部分,但不知道slug,他们仍然无法下载你正在共享的文件或上传文件到你的计算机。 slug本质上是一个密码。 (当使用v3洋葱服务时,这不太重要。旧的v2onion服务有一个已知的问题,如果洋葱连接碰巧被恶意的Tor节点促成时,该节点可以知悉tor-address的部分。 这是“v3`洋葱更安全的原因之一。”但slug也只有两个词,并且OnionShare使用的词表是公开的,是什么阻止了攻击者通过猜测每一个可能的组合呢?

 

img

 

OnionShare计算出现了多少404错误(文件未找到Web请求),并且在第20个404错误中,它假定有人试图猜测slug并自动停止服务器。这使攻击者有20次机会正确猜出这两个单词。 因为这些单词是从7,776个单词的列表中选择的,这意味着有7,776 ^ 2,即超过6000万个可能的组合。 这基本上意味着如果攻击者试图猜测slug,他们在其仅有的20次机会中的正确率的0.00003%,也就是99.99996%的失败机会,同时会迫使OnionShare停止共享。这很好用,但是如果你希望任何人能够加载你的OnionShare地址怎么办?

 

比如说你要匿名发布一些文件,你禁用了“文件发送后停止共享”的设置,将文件拖到OnionShare开始共享并发布OnionShare地址。 事实证明,互联网上看到推文的任何人都可以通过发出20次404错误来强制您的服务器停止。 (顺便说一下,这种情况确实发生了,有些服务器一直在关闭,因为人们一直在制造404错误。)

 

这时体现了公共模式的优势。 如果您想公开共享OnionShare地址,只需转到“设置”并选中“公共模式”旁边的框。 当你开始共享时,OnionShare地址看起来像http://[tor-address].onion/,没有slug,无论有多少404错误,服务器都会保持运行状态。

匿名接收文件

接收模式对于允许人们私下发送文件非常有用。但是,如果你想允许任何人私下向你发送文件,可以考虑使用一些设置。

 

首先,你肯定希望启用公共模式。

 

其次,你还需要进入“设置”并启用“使用持久性地址”。使用此设置时,当您停止OnionShare服务器然后再次启动它时,您将获得与上次相同的洋葱地址。这使您可以灵活地重新启动计算机并再次启动OnionShare,而无需切换OnionShare地址。

 

最后,你可能希望在无头Linux服务器上运行匿名保管箱,而不是你普通日常工作的电脑。 OnionShare附带两个二进制文件,onionshare(命令行版)和onionshare-gui(图形版)。它们都共享相同的配置文件 - Linux下的~/.config/onionshare/onionshare.json文件。因此,使用OnionShare的图形版本,选择您想要的所有设置,然后将onionshare.json复制到您的服务器,并像这样运行OnionShare:

$ onionshare --receive
OnionShare 2.0 | https://onionshare.org/
Connecting to the Tor network: 100% - Done
Setting up onion service on port 17612.
 * Running on http://127.0.0.1:17612/ (Press CTRL+C to quit)

Files sent to you appear in this folder: /home/user/OnionShare

Warning: Receive mode lets people upload files to your computer. Some files can potentially take control of your computer if you open them. Only open things from people you trust, or if you know what you are doing.

Give this address to the sender:
http://v2oxpolhvyd3kh44drt6gtz57v7wwun2twddcw3xhim2kgu2vvcewvqd.onion

Press Ctrl+C to stop the server
127.0.0.1 - - [18/Feb/2019 10:48:04] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [18/Feb/2019 10:48:06] "GET /static/css/style.css HTTP/1.1" 200 -
127.0.0.1 - - [18/Feb/2019 10:48:07] "GET /static/js/receive-noscript.js HTTP/1.1" 200 -
127.0.0.1 - - [18/Feb/2019 10:48:07] "GET /static/js/receive.js HTTP/1.1" 200 -
127.0.0.1 - - [18/Feb/2019 10:48:07] "GET /static/js/jquery-3.3.1.min.js HTTP/1.1" 200 -
127.0.0.1 - - [18/Feb/2019 10:48:07] "GET /static/img/logo.png HTTP/1.1" 200 -
127.0.0.1 - - [18/Feb/2019 10:48:08] "GET /static/img/logo_large.png HTTP/1.1" 200 -
127.0.0.1 - - [18/Feb/2019 10:48:10] "GET /static/img/favicon.ico HTTP/1.1" 200 -
Feb 18, 10:48AM: Upload of total size 102.1 KiB is starting
=> 101.9 KiB       2016_tax_return.pdf
Received: /home/user/OnionShare/2019-02-18/10.48.18/2016_tax_return.pdf
127.0.0.1 - - [18/Feb/2019 10:48:20] "POST /upload-ajax HTTP/1.1" 200 -
127.0.0.1 - - [18/Feb/2019 10:48:21] "GET /static/img/ajax.gif HTTP/1.1" 200 -

丰富的语言

img

 

最后,OnionShare 2最有意思的事情之一是它现在已被翻译成十二种新语言,使得相当多的人可以接触到OnionShare。 OnionShare 2翻译的一些主要语言包括西班牙语(4亿母语人士),葡萄牙语(2.15亿),俄语(1.7亿)和日语(1.3亿)。 (这些数字来自Babbel杂志。)

 

新语言包括:孟加拉语(বাংলা),加泰罗尼亚语(Català),丹麦语(Dansk),法语(Français),希腊语(Ελληνικά),意大利语(Italiano),日语(日本語),波斯语(فارسی),巴西葡萄牙语(Português Brasil),俄语(Русский),西班牙语(西班牙语)和瑞典语(Svenska),未来将包括更多语言。 如果您是母语为非英语的人并且有兴趣为OnionShare做贡献,您可以在维基上找到帮助说明

 

希望你喜欢OnionShare 2!

 

翻译:看雪翻译小组 一壶葱茜

 

校对:看雪翻译小组 Nxe

 

原文地址:https://micahflee.com/2019/02/onionshare-2/


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞1
打赏
分享
最新回复 (3)
雪    币: 6103
活跃值: (1207)
能力值: (RANK:30 )
在线值:
发帖
回帖
粉丝
CCkicker 2019-3-18 09:23
2
0
感谢分享!
雪    币: 1378
活跃值: (3067)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风中小筑V 2019-4-24 12:36
3
0
我下好了..就等谁来共享点破解秘籍给我了 = =
雪    币: 533
活跃值: (85)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zzz_cloud 2019-4-27 12:10
4
0
在github看到了这个项目:https://github.com/micahflee/onionshare
和楼主说的应该是同一个,感觉很赞。
没能看到对于分享的文件大小的限制,或许是我浏览的太仓促。
游客
登录 | 注册 方可回帖
返回