当你的才华
还撑不起你的野心时
那你就应该静下心来学习
目录
ssocks+proxychains搭建代理
0x01 前言
工具搜集
0x02 操作演示
使用ssocks搭建正向代理
使用xsocks搭建反向代理
使用xsocks搭建代理中继
ssocket是linux环境下功能比较完善的一款socks代理软件,较之于xsocks而言,socket不仅能实现正向代理、反向代理,还能实现代理中继和灵活的权限认证机制。下面将讲述如何使用ssocks搭建socks正向代理、反向代理和代理中继。
工具搜集
首先需要明确的是该Web服务器是Windows Server 2008 R2系统,所以选用的SOCKS代理软件服务端必须能够在Windows平台上正常运行,并且尽可能不需要安装其他依赖软件。同时,如果我们处于渗透测试的过程中,尽可能使用无GUI界面的工具。必须使用GUI界面配置和启动的SOCKS服务端程序将会放在最后考虑。
按照这两条标准进行搜集,我发现下面几款工具,推荐一下!
1、Earthworm
作者:rootkiter 工具网址:http://rootkiter.com/EarthWorm
Earthworm不仅具备SOCKSv5的功能,还具备反弹式SOCKS代理和lcx端口转发、映射的全部功能(listen、tran、slave)。同时提供了多种可执行文件,以适用不同的操作系统,Linux、Windows、MacOS、Arm-Linux。命令行操作,无GUI,适合渗透测试使用。
2、xsocks
作者:5loyd 工具网址:https://github.com/5loyd/xsocks
xsocks是一款能在Windows和Linux系统上运行的反弹式SOCKS代理服务端。命令行操作,无GUI,适合渗透测试使用。当然使用前需要从github上下载代码编译,Windows用VS2010及以上版本即可编译。
3、ShadowSOCKS(影梭)
作者:@clowwindy等 工具网址:https://github.com/shadowSOCKS 还有官网呀:http://s.org
ShadowSOCKS是一个开源 SOCKS5 代理项目。如其官网所言,它是 “A secure SOCKS5proxy, designed to protect your Internet traffic” (一个安全的 SOCKS5 代理)。其作用,亦如该项目主页的 wiki中所说,“A fast tunnel proxy that helps you bypass firewalls” (一个可穿透防火墙的快速代理)。
ShadowSOCKS有python、nodejs等诸多版本,还有移动版。
在Windows平台下,推荐使用libQtShadowSOCKS,用C++编写并使用了Qt 5框架。
Release版本地址:https://github.com/shadowSOCKS/libQtShadowSOCKS/releases
无GUI界面,命令行版,支持x86和x64系统,相当好用。
后面会详细介绍这款代理服务端程序的使用。
前面主要是代理服务端程序的推荐,当然我们还需要客户端。
4、SocksCap64
作者:Taro 工具网址:http://www.sockscap64.com
一般浏览器是支持代理设置的,但如果是渗透测试,肯定要使用很多不同的工具,但这些工具并不能保证都支持代理设置。因此我们需要使用应用程序外壳代理软件来使不能设置代理的软件和程序的网络数据流量通过代理。
推荐SocksCap64,比较靠谱的一个软件,可在Windows系统下使用。
SocksCap64是由Taro Labs开发的一款免费的应用程序外壳代理软件。SocksCap64可以使Windows应用程序通过SOCKS代理服务器来访问网络而不需要对这些应用程序做任何修改, 即使某些本身不支持SOCKS代理的应用程序通过SocksCap64之后都可以完美的实现代理访问。例如: Web Browsers, IM程序, FTP Clients, e-mail programs or games。
(1)完美支持SOCKS4/5/Http/Shadowsocks代理协议。 (2)完美支持TCP& UDP网络协议。 (3)支持远程SOCKS代理解析域名。
1. xsocks源码:https://github.com/5loyd/xsocks
2. ssocks源码:https://sourceforge.net/projects/ssocks/
3. proxychains 源码:http://proxychains.sourceforge.net/
4. socks5 RFC:http://www.ietf.org/rfc/rfc1928.txt
实验环境网络拓扑图
为了更好环境演示,我们先关闭防火墙
service iptables stop
编译ssocks
1.执行如下命令编译 ssocks
./configure && make
备注:此处假设内网服务器有公网IP,可以直接搭建正向代理,所有xsocks命令都是在ssocks/src目录下执行的。
1.内网主机执行如下命令创建代理并监听10.1.1.31:6020
./ssocksd --bind 10.1.1.31 --port 6020
2.在攻击主机编辑proxychains代理配置文件,添加代理配置信息:socks5 10.1.1.31 6020
vi /etc/proxychains.conf
3.执行如下命令,连接内网服务器,查看ip得知代理成功。
proxychains ssh 127.0.0.1
备注:此处内网服务器没有公网IP,代理主机由公网IP,攻击主机也没有公网IP,所有ssocks命令都是在ssocks/bin目录下执行的。
1.代理主机执行如下命令,实现6020端口流量向6010端口的转发
./rcsocks -l 6020 -p 6010 -vv
2.内网主机执行如下命令,建立代理服务器并反向连接代理主机6010端口
./rssocks -s 10.1.1.32:6010 -vv
3.在攻击主机编辑proxychains代理配置文件,添加代理配置信息:socks5 10.1.1.32 6020
vi /etc/proxychains.conf
4.执行如下命令,连接内网服务器,查看ip得知代理成功。
proxychains ssh 127.0.0.1
备注: ssocks代理中继不仅可实现多个网络之间的互联互通还能提高更高的安全性。此处假设内网服务器和代理服务器分别处于不同的内网,但它们所在的网络中只有它们两台主机可以互联,本实验将在两台主机上分别搭建代理,并实现代理主机代理对内网主机代理的中继功能。所有ssocks命令都是在xsocks/bin目录下执行的。
1.在内网服务器,执行如下命令创建一个socks5代理,该代理监听10.1.1.31:6020
./ssocksd --bind 10.1.1.31 --port 6020 -vv
2.在代理服务器,执行如下命令创建一个socks5代理,该代理监听10.1.1.31:6020,并实现对内网服务器代理的中继。
./ssocks --socks 10.1.1.31:6020 --listen 6020
3.在攻击主机编辑proxychains代理配置文件,添加代理配置信息:socks5 10.1.1.32 6020
4.执行如下命令,连接内网服务器,查看ip得知代理成功。
proxychains ssh 127.0.0.1
参考链接:
http://www.hetianlab.com/expc.do?ce=bb9cf6a8-53f4-4336-8cd9-ce3ef1624fa6
我不需要自由,只想背着她的梦
一步步向前走,她给的永远不重