简介
Metasploit Framework (MSF),是一款开源的安全漏洞检测工具。可以收集信息、探测系统漏洞、执行漏洞利用测试等,为渗透测试、攻击编码和漏洞研究提供了一个可靠平台,集成数千个漏洞利用、辅助测试模块。
核心组件
msfconsole:Metasploit的主要接口,提供了命令行界面来访问和使用框架的所有功能。
msfvenom:用于生成各种格式的漏洞利用载荷(payloads),包括但不限于apk、exe、php等。
Meterpreter:一个高级的payload,允许深入控制和操作目标系统。
常用模块
1. Exploits(漏洞利用模块)
这些模块是针对已知漏洞编写的,用于利用这些漏洞获取对目标系统的访问权限。每个exploit模块都针对特定的漏洞和平台,例如Windows、Linux、macOS等。它们可以利用缓冲区溢出、权限提升、拒绝服务等各种类型的漏洞。
2. Payloads(有效载荷)
Payloads是在成功利用漏洞后执行的代码,它们可以执行各种操作,如创建shell、下载和执行其他恶意软件、记录键盘输入等。载荷分为两大类:反向(连接回攻击者)和正向(连接到远程服务器)。
3. Encoders(编码器)
Encoders用于修改payloads的字节序列,使其能够绕过防病毒软件、防火墙和入侵检测系统(IDS)的检测。这通常涉及到对payload进行混淆或编码,以避免特征签名的匹配。
4. Nops(空操作指令)
Nops是无操作指令,通常用于填充payloads中的空白区域,以避免模式匹配的检测。它们可以确保payload的大小和格式符合预期,同时不会引起安全软件的警报。
5. Auxiliary(辅助模块)
辅助模块包括扫描器、嗅探器、信息收集工具等,用于在渗透测试的不同阶段提供支持。例如,扫描模块可以查找网络上的开放端口或易受攻击的服务,而嗅探模块则可用于捕获网络流量。
6. Post-Exploitation(后渗透测试模块)
这些模块在成功利用漏洞后使用,用于在目标系统上执行进一步的行动,如提升权限、收集敏感信息、横向移动等。可以帮助渗透测试员更深入地了解目标网络的结构和安全状况。
7. Evasion(规避技术)
Metasploit Framework还包含了一系列的规避技术,用于帮助payloads避开安全软件的检测。这包括了各种编码和混淆技术,以及针对特定安全软件的规避策略。旨在帮助载荷或漏洞利用代码绕过目标机器的安全检测机制,如入侵检测系统(IDS)和防病毒软件(AV)。通过使用这些模块,攻击者可以增加渗透测试的成功率。
这些组件共同构成了Metasploit Framework的强大功能,使其成为渗透测试和安全研究领域内不可或缺的工具。通过这些组件,用户可以模拟各种类型的网络攻击,以评估和增强系统的安全性。
基础命令使用
1.启动Metasploit
普通\静默模式进入msf控制台
msfconsole
msfconsole -q //静默
2.查找和使用模块
search [关键字/漏洞号]:搜索与关键字相关的模块或查询漏洞
search type:exploit apache //搜索所有针对Apache的exploit模块
search ms17-010 //搜索永恒之蓝漏洞
use [模块路径]:选择一个模块来使用,可选择模块名或已查找出漏洞的序号
msf6 > use 0
msf6 > use exploit/windows/smb/ms17_010_eternalblue
3.配置模块参数并执行
show options //查看可选参数
set RHOST 192.168.1.100 //设置目标ip
run //启动模块
exploit 启动一个渗透模块,run 启动渗透模块或辅助模块