作为睁眼看世界和保护隐私重要的方式,代理一直都是我装完系统首先想到的
Kali作为渗透测试者必备的一款系统,在代理的设置上还是有一些欠缺的
the quieter you become,the more you can hear
上一节我已经告诉大家如何在本地使用ss,实现浏览器代理,今天我就来说说如何实现全局代理,让更多的应用使用上代理。
1
环境背景
国内的网络安全学习环境不忍吐槽,只要是你研究深一点的东西就会没有任何资料。
Kali实现全局代理上百度或者谷歌搜索就会发现,基本上跟Freebuf上的都一样,然而那种方式并不是真正意义上的的全局代理,感觉很无语
直到现在,我越来越怀疑国内了解Kali 的人究竟有多少?精通Kali 的人又有多少
2
全局代理
全局代理的定义问题
本片文章所提到的全局代理就是指所有的流量都走代理
3
proxychains
proxychains代理链是一个比较出名的代理工具,据称是可以代理bash下的任何工具,实际上我进行测试的时候并不是这样的,apt就不可以,所以我怀疑很多系统功能可能并不会走代理
不过这个代理链依旧是一个很好的工具,下面我来介绍一下使用方法(已经安装好Shadowsocks)
安装
Kali中已经为我们安装好了,其他系统(比如Ubuntu)可以使用sudo apt-get install proxychains 来进行安装
修改配置
vim /etc/proxychains.conf
配置我们的代理如图
之后就可以通过proxychains来进行实现各种工具的代理了
比如: 在命令行下输入 proxychains firefox
在启动的火狐浏览器中,直接就可以访问谷歌,而不需要配置代理了
在这之后我还是有一些顾虑的,因为如果在工具A中调用了工具B,那是否工具B会实现代理呢?
经过的写的脚本,还有msf进行了一下实验,如果A工具调用B工具,B工具也会使用和A一样的代理的,所以这个工具还是很给力的
之后我们在每个工具前加上 proxychains就可以实现任意工具代理了
不过这并不是我们的目标,我们想要的是全局代理,这仅仅是一个工具代理而已
4
命令行代理
其实可以通过修改配置文件的方式修改命令行的代理
之前我的老师在讲这个部分的时候其实一直埋了一个大坑,没有说明白是怎么回事,或者说他使用的是http代理,所以一切都显得很轻松
vim /etc/bash.bashrc
添加下面一行
export http_proxy="socks5://127.0.0.1:1080"
之后就可以实现命令行下的工具使用ss进行代理了,不过遗憾的是apt还是不可以,根本就不认识socks5这种格式
不过其他工具应该是可以的,比如你输入 curl ip.gs
你可以看到出现的ip是你的vps的ip
其实这种方式我现在依旧有疑惑,添加上面一条是不是只是http的流量通过上面的代理走,其他协议还是通过本机走,这个具体还需要做一下试验。
5
实现全局代理
在Ubuntu中可以很轻易的实现这个,不过在Kali中有一些小坑。。
在Kali的图示位置可以看到有代理的选项,我们选择网络设置
点击齿轮图标就可以显示下图的选项,可以看到其实Kali系统(或者说Linux)系统其实是有系统级别的代理选项的
遗憾的是当我们在Socks Host处填写我们的ss的地址时候,重新打开一个shell窗口,会出现根本上不了网的状态(火狐浏览器除外,它比较特殊),例如我们curl ip.gs 会出现访问不了的状态
这样的事情在Ubuntu 16.04中就没有出现,Ubuntu中直接在这里填写就可以实现全局代理
我们需要将socks5转化为http代理,用到一个工具 privoxy
apt-get install privoxy
修改配置文件
vim /etc/privoxy/config
添加
forward-socks5 / 127.0.0.1:1080 .
保存后启动privoxy就好
service privoxy start
之后就会将我们的socks5代理转换为 http代理,端口为8118(当然可以修改)
此时我们在系统代理设置出按照上面那张图那样配置就好了
之后就实现了全局代理,包括apt