(实战篇)手把手实战:利用永恒之蓝(MS17-010)漏洞深入理解渗透测试+修复方法
摘要/导语:理论千万遍,不如实战走一遍。本文将以经典的“永恒之蓝”漏洞为例,带你一步步还原攻击者的视角,在虚拟机环境中完成一次完整的渗透测试演练,深刻理解攻击链是如何串联的。
目录
一、实验声明与环境准备
二、漏洞背景:什么是“永恒之蓝”?
三、实战演练:从扫描到控制
四、修复方法
一、实验声明与环境准备
重要声明:本实验仅供合法授权的安全测试与学习交流,请务必在自己完全控制的虚拟机环境中进行,切勿对任何未授权目标进行测试。
实验环境:
攻击机:Kali Linux
靶机:Windows 7 (未安装MS17-010补丁)
网络:两者处于同一虚拟网络(如VMware的NAT或仅主机模式)
二、漏洞背景:什么是“永恒之蓝”?
漏洞编号:MS17-010
影响:Windows SMB服务远程代码执行漏洞,攻击者可远程控制目标电脑。
严重性:高危,曾被用于“WannaCry”勒索病毒的全球传播。
三、实战演练:从扫描到控制
我们将遵循标准的测试流程:信息收集 -> 漏洞利用 -> 后渗透->修复方案。
步骤1:信息搜集 - 发现目标
首先,我们需要确认靶机存活并探测其开放端口。使用nmap扫描
关键发现:如果扫描结果显示445端口(SMB服务)开放,且操作系统是Windows 7/Server 2008等,就要想到可能存在ms17-010漏洞。
步骤2:启动攻击框架
在Kali中打开终端,启动Metasploit框架。(不用惊慌,它每次打开都可能会显示不同的画面)
步骤3:搜索并加载攻击模块
在msf6>提示符下,搜索与MS17-010相关的模块。发现永恒之蓝漏洞
使用show options查看配置的参数详情,在required为yes的参数,都是需要配置的,但是这里没配置目的(RHOSTS)主机的ip地址,所以要将其配置好。
还有注意:等下要用到序列号24的指令
使用辅助模块验证(辅助模块验证:在专业的渗透测试中,“先验证,后攻击”是黄金法则。使用辅助模块进行验证是必要的前置步骤,它确保了攻击的精准性、合规性,并最大限度地降低了对目标业务系统的潜在风险。直接攻击通常只在验证成功且获得明确攻击授权后才会进行。)
步骤4:配置攻击参数
我们需要告诉框架“打谁”和“从哪打”。
使用永恒之蓝攻击模块:exploit/windows/smb/ms17_010_eternalblue即序列号 0 ,由于没有设置攻击载荷,发出警告
设置攻击载荷
kali要使用etho的ip
注意:当看到最后结果又WIN,说明已经利用ms17-010漏洞获取到Windows7的权限了,这时就可以对被攻击机(Windows7)执行各种非授权操作了。
步骤5:后渗透操作 - 探索与控制
在meterpreter >提示符下,你可以执行多种操作:
进入系统命令行:
shell(输入exit可退回meterpreter)截取屏幕:
screenshot查看Windows7用户名:whoami
获取系统IP地址:ipconfig
使用exit退出Windows7的命令界面,然后就可以使用 screenshot 捕获屏幕Windows7的界面,之后还可以使用
upload /path/to/local/file C:\\ # 上传文件到靶机C盘根目录
还有可以进行其他操作,你们可以自行去探索下
步骤6:清理痕迹与退出
完成测试后,应退出会话。由于退太快没图片,可以使用以下方式退出。
# 在meterpreter中
background # 将当前会话放到后台
sessions -K # 结束所有会话
# 或在meterpreter中直接 exit
战果
四、修复方法
受影响的系统版本可以参照:Microsoft 安全公告 MS17-010 - 严重 | Microsoft Learn
还有用完相应端口后,记得关掉
- 关闭445端口。
- 打开防火墙,安装安全软件。
- 安装对应补丁。
