Linux下Tor网络作任意应用代理

  1 min to read  

List [CTL]

    • 为何要使用Tor

    在安全审计中,匿名性的重要无庸置疑,开源项目Tor自然而然成为了大多数安全人员保护自己的工具。虽然它不能保证100%匿名不可追踪,但相比之下它是最好的选择。

    • 什么是Socks5代理

    Socks协议是一个代理协议。最常见的Socks代理就是网上的代理服务器,通过代理服务器更改自己请求网站时的IP。本文使用的是$$R(You Know)

    • 为何需要前置代理

    在国内,Tor网络被封,只能依靠Tor的网桥,但速度极慢。通过配置前置代理,可以越过GFW。


    Tor Browser

    Tor Browser是Tor与Filefox结合的产物,使用简单,可直接配置前置Socks5代理。

    使用时打开$$R并且配置Socks5代理后即可连接Tor网络

    本文重点是接下来的部分



    利用ProxyChains

    Tor Browser有局限性,仅限于浏览器的流量。在安全审计时,我们需要使用SqlMap,需要使用W3af,需要使用MSF,所以我们需要利用Proxychains来为任意应用配置Tor代理。

    • 首先安装Proxychains

    sudo apt-get install proxychains

    • 安装Tor

    sudo apt-get install tor

    • 下载$$R

    git clone https://github.com/ssrbackup/shadowsocksr

    解压并进入目录,配置config.json,修改服务器IP:端口,密码,混淆协议等内容


    安装完成,开始配置

    cd /etc/proxychains.conf

    修改[Proxy List]为socks4 127.0.0.1 9050,9050是Tor服务的监听端口,不同于Tor Browser的9150

    vim /etc/tor/torrc

    添加Socks5Proxy 127.0.0.1:1080,1080是$$R的监听端口,视本机情况修改


    测试

    ./shadowsocksr/shadowsocks/local.py -c ./shadowsocksr/config.json

    ./etc/init.d/tor start

    proxyresolv google.com

    回显:

    启动火狐proxychains firefox,访问百度,测试本机IP。看到IP为利比里亚,证明连接Tor网络成功,访问网页很快,证明前置Socks5配置成功(如无前置代理基本请求不到)


    后话

    由于最初把重点放在配置Proxychains上,想直接利用它配置双层代理,但访问网络是一直timeout

    socks5 127.0.0.1 1080
    socks4 127.0.0.1 9050
    

    之后看了Tor说明doc,修改了/etc/tor/torrc


    Tor连接有时候会莫名丢包,访问延迟极高,原因不详,需要service tor restart几次。在正常情况下访问速度基本与直接Tor浏览器速度相当。在使用其他应用时只需要proxychains sqlmap -u www.test.com --level 3等,参见Proxychains文档。