知已知彼 Windows系统常见漏洞分析

ZDNet软件频道 时间:2009-11-05 作者: | 比特网 我要评论()
本文关键词:系统漏洞 Windows Windows
由于Windows NT/2000操作系统的普及率和市场占有率比较高,所以很容易使它成为很多黑客攻击的目标。目前,Windows NT/2000最主要的漏洞有Unicode漏洞、.ida/.idq缓冲区溢出漏洞、Microsoft IIS CGI文件名错误解码漏洞、MSADCS RDS弱点漏洞、FrontPage服务器扩展和.Printer漏洞等等。下面笔者将对这些漏洞的原理、危害程度、检测和解决办法分别进行介绍。

  由于Windows NT/2000操作系统的普及率和市场占有率比较高,所以很容易使它成为很多黑客攻击的目标。目前,Windows NT/2000最主要的漏洞有Unicode漏洞、.ida/.idq缓冲区溢出漏洞、Microsoft IIS CGI文件名错误解码漏洞、MSADCS RDS弱点漏洞、FrontPage服务器扩展和.Printer漏洞等等。下面笔者将对这些漏洞的原理、危害程度、检测和解决办法分别进行介绍。

  一、Unicode漏洞

  1.漏洞危害

  在Unicode字符解码时,IIS 4.0/5.0存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当用户用IIS打开文件时,如果该文件名包含Unicode字符,系统会对其进行解码。如果用户提供一些特殊的编码,将导致IIS错误地打开或者执行某些Web根目录以外的文件。未经授权的用户可能会利用IUSR_machinename账号的上下文空间访问任何已知的文件。该账号在默认情况下属于Everyone和Users组的成员,因此任何与Web根目录在同一逻辑驱动器上的能被这些用户组访问的文件都可能被删除、修改或执行。通过此漏洞,您可查看文件内容、建立文件夹、删除文件、拷贝文件且改名、显示目标主机当前的环境变量、把某个文件夹内的全部文件一次性拷贝到另外的文件夹去、把某个文件夹移动到指定的目录和显示某一路径下相同文件类型的文件内容等等。

  2.漏洞成因

  Unicode漏洞的成因可大致归结为: 从中文Windows IIS 4.0+SP6开始,还影响中文Windows 2000+IIS 5.0、中文Windows 2000+IIS5.0+SP1。台湾繁体中文也同样存在这样的漏洞。它们利用扩展Unicode字符(如利用“../”取代“/”和“”)进行目录遍历漏洞。据了解,在Windows NT中编码为%c1%9c,在Windows 2000英文版中编码为%c0%af。

  3.漏洞检测

  首先,对网络内IP地址为*.*.*.*的Windows NT/2000主机,您可以在IE地址栏输入http:// *.*.*.*/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir(其中%c1%1c为Windows 2000漏洞编码,在不同的操作系统中,您可使用不同的漏洞编码),如漏洞存在,您还可以将Dir换成Set和Mkdir等命令。

  其次,您要检测网络中某IP段的Unicode漏洞情况,可使用有如Red.exe、SuperScan、RangeScan扫描器、Unicode扫描程序Uni2.pl及流光Fluxay4.7和SSS等扫描软件来检测。

  4.解决方法

  若网络内存在Unicode漏洞,可采取如下方法进行补救:

  (1)限制网络用户访问和调用CMD命令的权限;

  (2)若没必要使用SCRIPTS和MSADC目录,删除或改名;

  (3)安装Windows NT系统时不要使用默认WINNT路径,您可以改为其他的文件夹,如C:myWindowsnt;

  (4)用户可从如下地址下载Microsoft提供的补丁:http://www.microsoft.com/ntserve ... q269862/default.asp为IIS 4.0的补丁地址,http://www.microsoft.com/Windows ... q269862/default.asp为IIS 5.0补丁地址。

  二、.ida/.idq缓冲区溢出漏洞

  1.漏洞危害及成因

  作为安装IIS过程的一部分,系统还会安装几个ISAPI扩展.dlls,其中idq.dll是Index Server的一个组件,对管理员脚本和Internet数据查询提供支持。但是,idq.dll在一段处理URL输入的代码中存在一个未经检查的缓冲区,攻击者利用此漏洞能导致受影响服务器产生缓冲区溢出,从而执行自己提供的代码。更为严重的是,idq.dll是以System身份运行的,攻击者可以利用此漏洞取得系统管理员权限。

  2.解决方法

  用户可以分别到http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30833和http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30800处下载补丁,或删除对.idq和.ida的脚本映射。如果其他系统组件被增删,有可能导致该映射被重新自动安装。

  注意:安装Index Server或Index Services而没有安装IIS的系统无此漏洞;另外,即使Index Server/Indexing Service没有开启,但是只要对.idq或.ida文件的脚本映射存在,攻击者也能利用此漏洞。受影响平台有Windows NT 4.0、Windows 2000、Windows XP beta; 受影响的版本有Microsoft Index Server 2.0、Indexing Service in Windows 2000。

  三、Microsoft IIS CGI 文件名错误解码漏洞

  1.漏洞危害及成因

  IIS在加载可执行CGI程序时,会进行两次解码。第一次解码是对CGI文件名进行Http解码,然后判断此文件名是否为可执行文件,如检查后缀名是否为“.exe”或“.com”等。在文件名检查通过之后,IIS会进行第二次解码。正常情况下,应该只对该CGI的参数进行解码,然而,当漏洞被攻击后,IIS会错误地将已经解过码的CGI文件名和CGI参数一起进行解码。这样,CGI文件名就被错误地解码两次。通过精心构造CGI文件名,攻击者可以绕过IIS对文件名所做的安全检查。在某些条件下,攻击者可以执行任意系统命令。

  2.漏洞检测

  该漏洞对IIS 4.0/5.0(SP6/SP6a没有安装)远程本地均适用,您可通过前文所述的SSS软件进行测试。

  3.解决方法

  如果您的主机有此漏洞,可在http://www.microsoft.com/Downloads/Release.asp?ReleaseID=29787处下载补丁。

  四、MSADCS RDS弱点漏洞

  1.漏洞危害

  虽然MSADCS RDS弱点漏洞对许多黑客来说已经有点儿过时,不过,对于网络上一些粗心大意的网管来说,还是有为数众多的机器并没有针对这个漏洞进行防堵。

  该漏洞可以导致攻击者远程执行用户系统的命令,并以设备用户的身份运行。

  2.漏洞成因

  此漏洞是因Windows NT 4.0 Option Pack中的组件MDAC(即Microsoft Data Access Components)引起的,它包含了一项RDS(Remote Data Service)的功能。RDS是Microsoft提供给使用者远程访问数据库的服务,它能够让使用者透过ODBC远程存取/查询服务器数据库中的数据信息,而在IIS服务器中,还能够让使用者通过一个位于/msadc虚拟目录内名为msadcs.dll的文件提供RDS服务,以便与远程使用者沟通。

  3.漏洞检测

  用户可使用Shadow Security Scanner 5.35(本文简称SSS)、流光Fluxay 4.7、Nmap以及SuperScan或MSADC2.PL(Perl程序,执行需要ActivePerl环境,您可去雨林小狗网站下载,网址为http://www.wiretrip.net/rfp)来进行测试,也可以通过以下办法测试本机是否存在这个漏洞。

  c:>nc -nw -w 2 <目标机> 80

  GET /msadc/msadcs.dll HTTP

  4.解决方法

  其实,Microsoft对关于Msadc的问题发了3次以上的补丁,但仍然存在问题。

  笔者认为最好的办法是:通过移除或删除系统内/msadc目录,同时移除c:Program FilesCommon FilesSystemMsadcmsadcs.dll,或安装MDAC 2.1 SP2补丁(下载网址为http://www.microsoft.com/data/download.htm),并注意及时上网更新。

  五、FrontPage 服务器扩展漏洞

  1.漏洞危害

  该漏洞对网站构成严重威胁,可以让入侵者轻易地获得整个网站的信息。

  2.漏洞成因

  对于安装Frontpage服务器的网站,通常会在Web目录(缺省)下有若干个以字母“_vti”开头的目录,正是这些目录隐藏了潜在的攻击性。当用户在任何常用的搜索引擎上搜索默认的Frontpage目录时,会得到大量从引擎上返回的信息,这时,给入侵者一可乘之机,使他们得以对服务器进行简单而又反复的攻击。

  对攻击者来说,此漏洞可使他们获得被攻击方的Frontpage口令文件、通过Frontpage扩展名执行任意二进制文件,以及通过用_vti_cnf替换index.html,即入侵者能看到该目录下的所有文件,并有可能获得访问权限等。

  3.解决方法

  如对目录定义许可、移去某些目录、设置用户密码或不安装Frontpage扩展服务器等。

  六、.Printer漏洞

  1.漏洞危害及成因

  此漏洞只存在于运行IIS 5.0的Windows 2000服务器中。由于IIS 5的打印ISAPI扩展接口建立了.printer扩展名到Msw3prt.dll的映射关系(缺省情况下该映射也存在),当远程用户提交对.printer的URL请求时,IIS 5.0会调用Msw3prt.dll解释该请求,加之Msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printer的URL请求,其“Host:”域包含大约420B的数据,此时在Msw3prt.dll中发生典型的缓冲区溢出,潜在地允许执行任意代码。在溢出发生后,Web服务会停止用户响应,而Windows 2000将接着自动重启它,进而使得系统管理员很难检查到已发生的攻击。

  2.漏洞检测

  针对.Printer漏洞的检测软件很多,如easyscan(http:// www.netguard.com.cn)、x-scaner(http:// www.xfocus.org )和SSS等。

  3.解决方法

  可通过安装Microsoft漏洞补丁http://www.microsoft.com/Downloads/...ReleaseID=29321来解决此影响系统的安全问题


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134