渗透工具之TOR(洋葱头)之Linux篇

简介

TOR或许不是网络匿名访问的唯一手段,但毫无疑问它是目前最流行、最受开发者欢迎的。这个免费、开源的程序可以给网络流量进行三重加密,并将用户流量在世界各地的电脑终端里跳跃传递,这样就很难去追踪它的来源。

原理

Tor(The Onion Router,洋葱路由器)由已经安装了Tor软件的电脑连接网络而成。它之所以被称为onion,是因为它的结构就跟洋葱相同,你只能看出它的外表,而想要看到核心,就必须把它层层的剥开。即每个路由器间的传输都经过点对点密钥(symmetric key)来加密,形成有层次的结构。它中间所经过的各节点,都好像洋葱的一层皮,把客户端包在里面,算是保护信息来源的一种方式。

流程图:

这里写图片描述

安装

说明:目前国内必须要挂vpn才能进入tor匿名网络。具体的原因,你懂得。

VPN

此处以openvpn安装为例。

apt-get install network-manager-openvpn
apt-get install network-manager-openvpn-gnome

很多小伙伴经常问我那个vpn比较好用?

就目前我已经用过的vpn来说;如果是土豪的话,可以自己买一个香港的服务器搭建;如果没钱的话,我推荐云梯vpn,因为比较稳定;我这里提供给大家一个推荐链接云梯 VPN,可以少10元,如果你购买成功,我也可以赚10元哈,但是此处真心不是广告,确实很稳定,速度也比较快。

Privoxy

sudo apt-get install privoxy

使用说明,请查看使用手册

这里写图片描述

Tor

apt-get install tor

这里写图片描述

启动服务

service tor start

这里写图片描述

配置Privoxy 指向Tor

使用Privoxy 和 Tor组合最主要的原因就是DNS。如果我想控制本地的dns请求,以便我所有的dns请求都不泄露我的信息,我可以不停的换用一些公用dns服务器(比如8.8.8.8)。但是Privoxy还提供了一些附加功能用来阻断请求,而且它还会阻止那些有可能会暴露我们IP的请求。

这配置其实非常简单。在Linux里,只需要简单的配置下Privoxy让它链接到Tor,那么Privoxy就会将所有的DNS和HTTP请求转发到Tor网络里。
要让Tor帮你转发请求,只需在Privoxy里这样配置:
forward-socks5 / 127.0.0.1:9050

下面是privoxy 的完整配置文件(没有注释)。从里面可以很清楚的看到它并没有监听所有的端口,而是直接把请求转发给了Tor。

这里写图片描述

这里写图片描述

启动服务

service privoxy start

通过代理上网

检查服务是否开启

这里写图片描述

配置环境变量(http_proxy, https_proxy, ftp_proxy)和命令行工具,以便通过代理上网。

export http_proxy=127.0.0.1:8118
wget -nc -nd http://www.google.com

这里写图片描述

用-http-proxy选项来开启安卓虚拟机

通过一个安卓虚拟机安装一些app来进行渗透测试是一个不错的方法,当你在虚拟机里输入命令时,多半会用到 “-http-proxy ipaddr:port”。
确保你先运行了privoxy 。如果虚拟机不能访问privoxy 的本地端口,那么这些设置会失效。还会以图解的方式出现警告。

emulator -avd IceCreamSandwich -partition-size 256 -qemu -http-proxy 127.0.0.1:8118

现在,所有虚拟机里的数据包都会通过privoxy转发到Tor网络里。

不得忽视的一点是:在虚拟机启动前,必须先开启privoxy ,并确保本地端口监听是正常的。如果虚拟机在启动了之后不能连接到privoxy 的端口,那么它就会忽略这些代理选项,而且虚拟机还会直接使用本地网络来与外界通信,这无疑会暴露我们的源IP。

配置一个应用程序(或者设备)来使用代理。

此处以AutoProxy代理为例。

这里写图片描述

这里写图片描述

通过 iptables 规则来分配数据包。

4)如果你的应用程序不使用命令行代理环境变量,而且你也不能通过配置一个应用程序来连接代理,你还可以通过配置iptables 来使用NAT转换数据包到代理上。
常用的bash脚本:

#!/bin/bash
## CHECK FOR ROOT
wai=`whoami`
if [[ "$wai" != "root" ]]
then
 echo "
You need to be uid 0. Re-run as:
sudo $0
"
 exit
fi
## SET SYSTEM TO PREROUTING IP PACKETS
echo "1" > /proc/sys/net/ipv4/ip_forward
## HTTP TRAFFIC
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8118
## HTTPS TRAFFIC
iptables -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-port 8118
## CHECK FOR BURP
pgrep -fl privoxy 2>&1 > /dev/null || echo "Are you sure privoxy is running?\\nOr maybe you intend to use something else I didn't check for."

测试:

wget http://www.google.com

然后用tcpdump抓包看了下。

tcpdump -Xnnv -i eth0 port 80 or port 443 or port 53

因为如果我的代理工作正常的话,我在本地用tcpdump应该是抓不到任何数据包的。

另一种上网模式

使用proxychains指向Tor

上网命令:

proxychains iceweasel
Proxychains msfconsole

Proxychains 强制任何TCP客户端发起的TCP连接通过代理传输,支持SOCKS4 5 和http连接代理服务。

配置文件: /etc/proxychains.conf

不推荐使用动态代理。

使用:在配置文件的末尾把新代理填进去 。

proxy_type host port [user pass]

 

文/忆蓉之心(简书作者)
原文链接:http://www.jianshu.com/p/7632b1529ad8

评论 在此处输入想要评论的文本。

Copied title and URL