如何用TOR搭建软路由


发布人:admin分类:网络安全浏览量:64发布时间:2017-12-12

尽管文中介绍的方法同样适用于Tor浏览器之外的其他匿名代理,但我们还是专注于介绍如何在研究环境中建立安全的Tor。

通过Tor通信的VM

正如大多安全研究者所经历的,在VM(Virtual Machine虚拟机)中分析恶意软件或者exp的时候都需要做一个重要决定,而大多数人更愿意选择在离线环境中进行逆向,但是如果你是在监控C&C通信或者一个exp工具包,那离线环境就不可行了。你会使用你真实的IP吗?你会使用强迫所有东西通过tor的第三方代理工具吗(希望没有软件会将你的IP泄露出去)?你会通过一个VPN运行整个系统,然后再重新链接回你的所有软件吗?

我想出的解决方案是使用一个独立的虚拟机创建一个透明的Tor代理作为路由器,而虚拟机可以用于让所有流量通过Tor(无须额外配置或者软件,甚至不会发现代理的存在)。尽管搭建路由器需要花费15分钟左右的时间,但是一旦搭建好了之后,所有的VM根本无需任何配置就可以通过Tor进行通信了。

这里举了一个例子,展示了使用我的(没有任何代理)设置便可轻松通过tor连接一个全新的虚拟机上。

视频演示

安装路由器

VM要求:

Ram——至少200MB

Disk——至少500MB

我选择使用pfSense软件,这是一个基于FreeBSD,专为防火墙和路由器功能定制的开源软件,你可以从官网上下载最新版本。尽管教程中我使用的是VMware Workstation,但是这个方法应该在大多数VM软件中都可以使用。

1、创建一个新的VM,你通常会用到pfSense ISO(但是请暂时不要启用它)。

2、进入VM设置,将网络适配器设置为你通常连接互联网使用的那个选择(这里是“NAT”)。

3、点击“LAN segments…”按钮,添加一个新的局域网区段。

4、点击“Add…”按钮,添加一个新的网络适配器(仅保留默认设置然后点击finish)。

5、设置新的适配器应用你创建的局域网区段,对另一个适配器不作处理。

现在你可以开启VM。几秒钟之后你便会看到如下图显示,按1然后等待。

下图中你将会需要对调用安装程序进行选择,按“I”。如果10秒内你没有选择,引导将继续进行,你需要重新启动一次。

在安装程序时你可以点击“Accept these Settings”(接受这些设置),然后再“Quick/Easy Install”(快速安装)时候选择“OK”。

接下来提示会要求你安装内核,选择“Standard Kernel”(标准内核),等待完成之后让系统重新引导(确保在VM开始运行前移除CD以防止任何意外发生)。

如果一切顺利,你会到达欢迎页面。顶部提供了广域网和局域网适配器的信息。广域网应该为em(),你设置连接到互联网的适配器,当局域网为em1时,这个适配器便是连接到局域网区段上的。广域网适配器的IP地址应该与你host电脑虚拟适配器(通常为“虚拟网络适配器VMnet8”)为同一子网。

出于安全因素,默认路由器的网络控制面板不可接受广域网的访问,因此为了访问控制面板你需要启动另一个虚拟机(最好是你打算链接到tor的那个),然后设置虚拟网络适配器连接到你为路由器设置的局域网区段。

现在,你只需要打开一个浏览器,导航到pfSense路由的局域网IP(在这里我的地址是192.168.1.1),然后你就能看见如下图所示(登录信息 admin:pfSense)

你可以跳过设置导向,直接去修改登录信息,然后去主配置页面。

你需要到“Services>DNS Resolver”(服务>DNS解析器)然后取消“Enable DNS Resolver”(启用DNS解析器)的功能并保存设置(我们将使用tor作为我们的DNS解释器,系统便可以同时访问.onion洋葱域)

Tor的安装

你可以直接通过pfSense控制台完成这个步骤(按下8进入shell),或者进入客户虚拟机的配置面板,通过“System>Advanced”(系统>高级)开启SSH,然后选中“Enable Secure Shell”复选框中的“OK”。

如果你选中SSH选项,必须使用来自虚拟机内部的putty。IP与控制面板IP相同,并且登录信息与管理面板一样。

一旦进入shell,我们便可以安装tor:

pkg install tor
rm -rf /usr/local/tor/torrc

打开“/usr/local/etc/tor/torrc”,按如下配置编辑后保存:

DNSPort 53
 DNSListenAddress YOUR_PFSENSE_LAN_IP_HERE
 VirtualAddrNetworkIPv4 10.192.0.0/11
 AutomapHostsOnResolve 1
 RunAsDaemon 1
 TransPort 9040

现在,我们可以在启动项添加tor然后运行起来:

touch /usr/local/etc/rc.d/tor.sh
cd /usr/local/etc/rc.d/
echo "/usr/local/bin/tor" >> tor.sh && chmod +x tor.sh
/usr/local/bin/tor

防火墙设置

现在我们需要给通过tor给代理设置一些规则;不幸的是你无法促进整个端口范围,因此最好只为每个主流端口(HTTP、HTTPS、IRC等)添加端口传递规则,那么任何与规则不符的流量则会被阻止。

首先,我们需要去设置“Firewall>Nat>Port Forwarding”(防火墙>Nat>端口转发),为我们想通过tor传递的每个TCP端口或者端口范围添加一个规则(你可以只添加HTTP和HTTPS端口,后面再陆续添加更多)。

规则设置如下:

Interface: LAN (Traffic from VMs)
Protocol: TCP
Source: Any (All devices on the LAN)
Destination: not LAN net (Ignore traffic between VMs or the VMs and pfSense router)
Destination port range: from 80 to 80 (HTTP)
Redirect Target IP: 127.0.0.1 (The pfSense router)
Redirect target port: 9040 (The transparent proxy port we set in tor config)
Description: Doesn't matter, put what you want

在其他目标端口/端口范围重复上述设置(如HTTPS为443,SSH为22等等),你无法让(1到65535)全部范围转发,但是你可以转发大多数的。值得注意的是Tor不支持UDP,因此你无须转发UDP的流量或者使用你的真实IP

现在去设置“Firewall>Rules>LAN”(防火墙>规则>局域网),同时取消IPv4和IPv6 的“默认允许局域网IPv4/6任意链接”。

删除下述规则将会阻止不遵循端口转发规则(不经过tor)的所有流量,这就意味着我们需要创建一个遵循pfSense服务器DNS请求的规则,在“Firewall>Rules>Lan”(防火墙>规则>局域网)创建一个新的规则,详情如下:

Action: Pass (Allow traffic matching this rule)
Interface: LAN (Traffic from VMs)
TCP/IP: Version: IPv4
Protocol: TCP/UDP (DNS can be both)
Source: LAN net (From VMs)
Destination: (type): Single host or alias
Destination (address): The LAN ip of your pfSense router.
Destination port range: from 53 to 53
Description: Allow DNS

如果你想让流量在链接路由器的虚拟机之间流动,请完成如下设置:

Action: Pass (Allow traffic matching this rule)
Interface: LAN (Traffic from VMs)
TCP/IP: Version: IPv4
Protocol: TCP/UDP 
Source: LAN net (From VMs)
Destination: LAN net (To VMs)
Destination port range: from Any to Any
Description: Allow VM Communication

完成了所有设置。现在你应该可以使用dnsleaktest.com检查一下你的IP地址,你的DNS应该无法被检测出来(即使你启动了WebRTC,STUN的exp也仍无法工作)。

小编翻译水平有限,各位有兴趣童鞋可以点击下面的原文链接,涨姿势。

*参考来源:malwaretech,转载需注明来自FreeBuf黑客与极客(FreeBuf.COM)


被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21943594(PV) 页面执行时间:78.03(MS)
  • xml
  • 网站地图