IIS组件管理对保护IIS安全很重要

Web服务器将成为下一代黑客施展妖术的对象。在很大程度上,进行这种攻击只需一个Web浏览器和一个创造性的头脑。以前,黑客的攻击对象集中在操作系统和网络协议上,但随着这些攻击目标的弱点和漏洞逐渐得到修补,要进行这类攻击已经变得非常困难。操作系统正在变得更加稳健,对攻击的抵抗能力日益提高。随着身份验证和加密功能渐渐被内置到网络协议中,网络协议也变得更加安全。此外,防火墙也越来越智能,成为网络和系统的外部保护屏障。

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

IIS安全设置对于Web网站服务器来说,很重要的,它是很容易被黑客攻击的,随时都会有被入侵的危险。这里我们介绍IIS安全设置的小技巧,防范攻击。IIS组件是我们经常被忽略的部分。今天,我们就了管理下IIS组件。

另一方面,电子商务技术正在日益普及开来,其复杂性有增无减。基于Web的应用程序正在与基本的操作系统和后端数据库更加紧密地集成在一起。遗憾的是,人们在基于Web的基础设施安全性方面所做的工作还很不够。Web服务器和Web应用程序中的弱点被发现的速度为何这么快呢?

一、Unicode漏洞

Microsoft Internet 信息服务器 (IIS服务器) 是一个包含在Microsoft Windows
NT服务器操作系统中的Internet文件和应用程序服务器。IIS服务器的4.0版本是Windows
NT 4.0
的选项包装携带的,可以通过免费下载或在CD-ROM上装运。它还包含在所有新版的Windows
NT中。

有很多因素促成了这种Web黑客活动的快速增加。其中最主要的原因是防火墙允许所有的Web通信都可以进出网络,而防火墙无法防止对Web服务器程序及其组件或Web应用程序的攻击。第二个原因是,Web服务器和基于Web的应用程序有时是在\”功能第一,安全其次\”的思想指导下开发出来的。

1.漏洞危害

IIS服务器可以作为一个Web
服务器单独使用,也可以与相兼容的工具一起使用,它可以用来建立Internet商务、访问和操作来自不同数据源的数据以及创建Web
应用程序,其中这些应用程序利用服务器脚本和组件代码来完成一些客户-服务器功能。

当您的Web服务器面临巨大威胁时,怎样保障它们的安全呢?这就需要您不断了解新信息,新情况,每天跟踪您所用服务器的有关网站,阅读相关新闻并向它进行咨询。为了让你着手这方面的工作,下面介绍黑客对NT系统的四种常用攻击手段,同时介绍如何防止这类攻击。

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

组件管理 删除不安全的组件

Microsoft IIS ism.dll缓冲区溢出

2.漏洞成因

服务器默认支持很多IIS组件,但是这些IIS组件也会成为危害,最危险的IIS组件是wsh和shell,因为它们可以运行服务器硬盘里的exe程序,比如它们可以运行提权程序来提升Serv-u权限甚至用Serv-u来运行更高权限的系统程序。

受影响的服务器:运行IIS 4.0并带有\”Service Pack 3/4/5\”的Windows
NT服务器Microsoft
IIS缓冲区溢出这一安全弱点是Web服务器无时不有的重大缺陷之一。该弱点被称为IIS
eEye,这个名称来自发现此问题的一个小组。在实施缓冲区溢出攻击时,黑客向目标程序或服务输入超出程序处理能力的数据,导致程序突然终止。另外,还可以通过设置,在执行中的程序终止运行前,用输入的内容来覆盖此程序的某些部分,这样就可以在服务器的安全权限环境下执行任意黑客命令。

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。

卸载最不安全的IIS组件,最简单的办法是直接删除相应的程序文件。除了以上的安全设置,一些操作的细节也需要注意,比如不要在服务器上浏览网页,给服务器安装杀毒软件、安装防止ARP攻击软件等安全程序。

eEye发现,IIS用来解释HTR文件的解释程序是ism.dll,它对缓冲区溢出攻击的抵抗力十分脆弱。如果攻击者将一个以.htr结尾的超长文件名大约3,000个字符,或更多)传递给IIS,那么输入值将在ism.dll中造成输入缓冲区溢出,并导致IIS崩溃。如果攻击者输入的不是一串字母而是可执行代码通常称为\”鸡蛋\”或\”外壳代码\”),那么在IIS终止之前将执行该代码。由eEye小组发现的这一攻击方法包括三个步骤:

3.漏洞检测

1.创建一个用于侦听任意TCP端口上连接活动的程序。一旦接收到连接信号,该程序将执行一个Windows命令外壳程序(cmd.exe),并将该外壳与连接绑定在一起。这个程序是经过修改的Netcat。Netcat是一个流行的网络连接实用程序,其源代码可以免费获得。

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

2.在IIS的ism.dll中制造缓冲区溢出,并使IIS从外部Web站点下载侦听程序由步骤1产生)。

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

3.执行刚下载的程序由步骤2产生),该程序将等待传入的连接并使攻击者进入Windows命令外壳程序中。由于缓冲区溢出导致IIS在崩溃之前转而运行Windows命令外壳,所以该外壳程序将在IIS的安全权限背景下运行,而该安全权限背景等价于NT
Administrator权限。这样,攻击者要做的只是与被攻击的IIS服务器的侦听端口建立连接,然后等着出现c:>提示就万事大吉了。现在,攻击者拥有对整个NT服务器的管理权限,可以做任何事,比如,添加新用户、修改服务器的内容、格式化驱动器,甚至将该服务器用作攻击其它系统的踏脚石。运行IIS
4.0并带有\”Service Pack 3/4/5\”的Windows
NT服务器容易受到此类攻击。Microsoft已经发布了对该弱点的修补程序。Windows
NT Service Pack6也已经修补了该问题。

4.解决方法

Microsoft IIS MDAC RDS安全弱点

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

受影响的服务器:运行IIS 4.0并安装了MDAC 2.1或更早版本的Windows
NT服务器在发现IIS eEye安全弱点的大约一个月后,IIS
4.0的另一个弱点又暴露出来。使用Microsoft数据访问组件(MDAC)和远程数据服务(RDS),攻击者可以建立非法的ODBC连接,并获得对Web服务器上的内部文件的访问权。如果安装了Microsoft
Jet OLE DB提供程序或Datashape提供程序,攻击者可以使用Visual Basic for
Applications shell()函数发出能够在服务器上执行的命令。

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

在安装了MDAC 2.1或更高版本的IIS
4.0上,从位于其公共目录中的msadcmsa-dcs.dll,可以找到MDAC RDS弱点。Rain
Forest
Puppy在其站点中对该弱点进行了详细说明。该弱点利用了IIS上MDAC默认安装时的不适当配置和安全机制的缺乏这一漏洞。在等价于NT
Administrator的IIS
Web服务器进程的安全权限背景下,进行这种攻击的黑客可以在NT系统上远程执行任意命令。

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

MDAC的弱点不是由于技术造成的,而是由于用户对它的配置方式所致。很多站点是通过NT
Option Pack 4.0安装IIS 4.0的。如果NT Option Pack
4.0是以典型或默认配置安装的,那么MDAC就容易遭到这种攻击。大多数使用默认安装的系统管理员都没有具体调整过这些设置,从而使Web服务器的安全性大大降低。Foundstone公司的George
Kurtz、Purdue大学的Nitesh
Dhanjani和我曾经共同设计了一个只有一行的命令字符串,该命令将利用MDAC
RDS弱点,使远程NT系统启动一个通过FTP或TFTP进行的文件传输过程。这个命令将告诉服务器到从某个外部系统下载并执行Netcat。Netcat将运行Windows命令外壳程序,并建立一个返回攻击者计算机的连接,这样,攻击者就获得了对远程NT系统的完全管理控制权。

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

Microsoft已经发布了相应的安全公告,并对使IIS
4.0免受该弱点攻击的保护措施进行了说明。

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

Allaire ColdFusion 4.0弱点

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

受影响的服务器:运行在Windows NT上的Allaire ColdFusion Server 4.0

1.漏洞危害及成因

作为还算容易使用的、功能强大的脚本语言,ColdFusion已经广泛流行起来。但流行并不意味着安全。ColdFusion的问题不在于该服务器自身,而是在于它附带的脚本。

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

ColdFusion
4.0提供了示范应用程序和范例,它们可以在位于Web服务器根目录中的cfdocsexampleapp和cfdocsexpeval目录中找到。当用户执行典型安装时,将安装这些应用程序和脚本。ColdFusion所附带的部分范例经过修改后,将允许非法访问服务器上所包含的敏感数据。这些弱点表明,基本的应用程序服务器可以被编写得不好的应用程序脚本歪曲利用。

2.解决方法

存在这种弱点的一个范例应用程序是cfdocsexampleappdocssourcewindow.cfm。因为ColdFusion是作为具有Administrator权限的系统服务运行的,所以,该程序可以被用来任意访问和查看NT
Web服务器上的任何文件,包括boot.ini。用这种方法可以检索任何文件。Packet
Storm对该弱点做了完整解释。而更严重的弱点存在于cfdocsexpevalopenfile.cfm、cfdocsexpevaldisp
layopenedfile.cfm和cfdocsexpevalexprcalc.cfm中。这三个文件可以用来查看服务器上的任何文件,更为严重的是,它们还能将任意文件上载到服务器。对该弱点如何发作的讨论超出了本文的范围,欲了解详细信息请访问L0pht
Heavy
Industries的咨询信息。表达式求值程序exprcalc.cfm用于让开发人员计算被上载文件中的Cold-Fusion表达式的值。作为预防手段,该脚本在进行表达式计算时便会把被上载的文件删除掉,但要避免删除却是件容易的事。这样,攻击者可以上载恶意文件,并最终控制服务器。

用户可以分别到