论坛: 菜鸟乐园 标题: 专家公认的20个最危险的安全漏洞[转] 复制本贴地址    
作者: BearKing [bking]    版主   登录
转至CCERT

大概在一年前,SANS研究所和国家基础设施保护中心(NIPC)发布了一份文档,总结了
10个最严重的网络安全漏洞。数以千计的组织利用这份文档来安排他们工作的先后次序,以便
能够首先关掉最危险的漏洞。2001年10月1日发布的这份新的列表更新并扩展了以前的TOP10
列表,增加为20个最危险的安全漏洞,并将其分为三大类,通用漏洞,Windows漏洞,UNIX
漏洞。

这份SANS/FBI最危险的20个漏洞列表是非常有价值的,因为大多数通过Internet对计算
机系统的入侵均可以追溯到这20个安全漏洞,例如对五角大楼Solar Sunrise系统的攻击,Code 
Red和Nimda蠕虫的快速传播,均可以归结为没有对这20个漏洞打补丁。

就是这少数几个软件漏洞成就了大多数的成功攻击,是因为攻击者是机会主义者,他们使
用最简单和常用的方法。他们使用最有效和广泛传播的攻击工具,去攻击众所周知的漏洞。他们
寄希望于有关组织不解决这些漏洞。他们扫描网络上有任何漏洞的系统,不做区分地加以攻击。
过去,系统管理员报告说他们没有弥补很多漏洞,是因为他们不知道哪些漏洞是最危险的,
他们太忙了,没有时间修补全部漏洞。一些扫描工具可以扫描300或500,甚至800个漏洞,
这就分散了系统管理员的注意力。系统管理员应该保障所有系统免于最常见的攻击。这份列表集
合了大多数联邦安全机构,安全软件开发商,咨询公司,大学中的安全组织,CERT/CC和SANS
研究所的首席安全专家的知识,以简化以上问题。这份文件末尾可以找到参与成员列表。

影响所有系统的漏洞(G)

G1―操作系统和应用软件的缺省安装

G1.1描述:
大多数软件,包括操作系统和应用程序,都包括安装脚本或安装程序。这些安装程序的目的是尽
快安装系统,在尽量减少管理员工作的情况下,激活尽可能多的功能。为实现这个目的,脚本通
常安装了大多数用户所不需要的组件。软件开发商的逻辑是最好先激活还不需要的功能,而不是
让用户在需要时再去安装额外的组件。这种方法尽管对用户很方便,但却产生了很多危险的安全
漏洞,因为用户不会主动的给他们不使用的软件组件打补丁。而且很多用户根本不知道实际安装
了什么,很多系统中留有安全漏洞就是因为用户根本不知道安装了这些程序。

那些没有打补丁的服务为攻击者接管计算机铺平了道路。
对操作系统来说,缺省安装几乎总是包括了额外的服务和相应的开放端口。攻击者通过这些端口
侵入计算机系统。一般说来,你打开的端口越少,攻击者用来侵入你计算机的途径就越少。对于
应用软件来说,缺省安装包括了不必要的脚本范例,尤其对于 Web服务器来说更是如此,攻击
者利用这些脚本侵入系统,并获取他们感兴趣的信息。绝大多数情况下,被侵入系统的管理员根
本不知道他们安装了这些脚本范例。这些脚本范例的安全问题是由于他们没有经历其他软件所必
须的质量控制过程。事实上,这些脚本的编写水平极为低劣,经常忘记出错检查,给缓冲区溢出
类型的攻击提供了肥沃的土壤。
 

G1.2 受影响的系统
大多数操作系统和应用程序。请注意几乎所有的第三方web服务器扩展都存在这样的样本文件,
它们中间的大多数是极度危险的。

G1.3 CVE 表项
(注意:以下列表并不完整,只是部分样本)
CVE-1999-0415, CVE-1999-0678, CVE-1999-0707, CVE-1999-0722, CVE-1999-0746, 
CVE-1999-0954, CVE-2000-0112, CVE-2000-0192, CVE-2000-0193, CVE-2000-0217, 
CVE-2000-0234, CVE-2000-0283, CVE-2000-0611, CVE-2000-0639, CVE-2000-0672, 
CVE-2000-0762, CVE-2000-0868, CVE-2000-0869, CVE-2000-1059

G1.4 怎样判断你是易受攻击的:
如果你使用了安装程序去安装系统或服务软件,而且没有移走不需要的服务,或没有安装所有的
安全补丁,那么你的系统是易于被黑客攻击的。

即使你进行了附加的配置,你也仍然是易受攻击的。你应该对任何连到Internet上的系统进行端
口扫描和漏洞扫描。在分析结果时,请记住以下原则:你的系统应该提供尽可能少的服务,并安
装为提供这些服务所需的最少的软件包。每一个额外的软件或服务都为攻击者提供了一个攻击手
段,这主要是由于系统管理员不会为他们不经常使用的软件打补丁。

G1.5 怎样防范:
卸载不必要的软件,关掉不需要的服务和额外的端口。这会是一个枯燥而且耗费时间的工作。正
是由于这个原因,许多大型组织都为他们使用的所有操作系统和应用软件开发了标准安装指南。
这些指南包括了为使系统有效运作所需的最少的系统特性的安装。

Internet安全中心(CIS) 根据多个国家的170个组织(http://www.cisecurity.org/)的知识和
经验,针对Solaris和Windows 2000开发了一套公认的最小安全配置基准,针对其他操作系统的
配置基准和测试工具还在开发中。CIS工具可以测试安全性能,分区比较系统安全状态。CIS指南
可用来提高大多数操作系统的安全性能。

G2 �C 没有口令或使用弱口令的帐号

G2.1 描述:
大多数系统都把口令作为第一层和唯一的防御线。用户的ID是很容易获得的,而且大多数公司
都使用拨号的方法绕过防火墙。因此,如果攻击者能够确定一个帐号名和密码,他(或她)就能
够进入网络。易猜的口令或缺省口令是一个很严重的问题,但一个更严重的问题是有的帐号根本
没有口令。实际上,所有使用弱口令,缺省口令和没有口令的帐号都应从你的系统中清除。

另外,很多系统有内置的或缺省的帐号,这些帐号在软件的安装过程中通常口令是不变的。攻击
者通常查找这些帐号。因此,所有内置的或缺省的帐号都应从系统中移出。

G2.2受影响的系统
所有通过用户ID和口令进行认证的操作系统或应用程序。

G2.3 CVE entries:
(注意:以下列表并不完整,只是部分样本)
CVE-1999-0291, CAN-1999-0501, CAN-1999-0502, CAN-1999-0503,  
CAN-1999-0505, CAN-1999-0506, CAN-1999-0507, CAN-1999-0508,  
CAN-1999-0516, CAN-1999-0517, CAN-1999-0518, CAN-1999-0519

G2.4 怎样判断你是易受攻击的:
为判断你是否易受攻击,你需要了解你的系统上都有哪些帐号。应进行以下操作:
1.审计你系统上的帐号,建立一个使用者列表,别忘了检查例如路由,连接Internet的打印机、
复印机和打印机控制器等系统的口令。
2.制定管理制度,规范增加帐号的操作,及时移走不再使用的帐号。
3.经常检查确认有没有增加新的帐号,不使用的帐号是否已被删除。
4.对所有的帐号运行口令破解工具,以寻找弱口令或没有口令的帐号。(在你这么做之前,先
确定你有权利这么做)
a.LC3 �C Microsoft Windows NT and Microsoft Windows 2000, http://www.atstake.com/

b.Microsoft Personal Security Advisor, �C Microsoft Windows NT and Microsoft Windows 
2000, www.microsoft.com/security/mpsa
c.John the Ripper �C Unix, http://www.openwall.com/john
d.Pandora �C Novell, http://www.nmrc.org/pandora
5.当雇员或承包人离开公司时,或当帐号不再需要时,应有严格的制度保证删除这些帐号。

G2.5 怎样防范:

应采取两个步骤以消除口令漏洞。第一步,所有没有口令的帐号应被删除或加上一个帐号,所有
弱口令应被加强。可悲的是,当用户被要求改变或加强他们的弱口令时,他们经常又选择一个容
易猜测的。这就导致了第二步,用户的口令在被修改后,应加以确认。可以用程序来拒绝任何不
符合你安全策略的口令,可在如下地址获得常用的程序:
1.For UNIX: Npasswd, http://www.utexas.edu/cc/unix/software/npasswd 
2 .For Windows NT: Passfilt, http://support.microsoft.com/support/kb
/articles/Q161/9/90.asp

这些程序保证了修改口令时,口令的长度和组成使得破解非常困难。应指出,很多UNIX系统有
保证口令强壮性的功能,另外还有很多其他软件包也可以达到这个目的。

很多组织使用口令控制程序,以保证口令经常更改,而且旧口令不可重用。如果使用口令有效期,
请确认用户在口令过期之前收到警告并有足够的时间改变口令。当面对以下信息时,"your 
password has expired and must be changed," 用户往往会选择一个坏口令。

Microsoft Windows 2000在Group Policy中包括口令限制选项。系统管理员可以配置网络,使
口令有最小长度,最小和最大有效期等限制。限制口令的最小有效期是很重要的,如果没有它,
用户在被要求修改口令后会很快又把口令改回去。限制口令的最小有效期使得用户不得不记住现
在的口令,而不太会把口令改回去。

另外一个很重要的手段是使用户了解,为什么以及怎样去选择强壮的口令。选择口令最常见的建
议是选取一首歌中的一个短语或一句话,将这些短语的非数字单词的第一或第二个字母,加上一
些数字来组成口令,在口令中加入一些标点符号将使口令更难破解。

另一个避免没有口令或弱口令的方法是采用其他认证手段,例如口令产生令牌
(password-generating tokens)或生物尺度(biometrics)。如果你没有办法解决弱口令的问题,
尝试一下其它认证手段。

G3 �C 没有备份或者备份不完整

G3.1 描述:
当事故发生时(这在每一个组织均有可能发生),从事故中恢复要求及时的备份和可靠的数据存
储方式。一些组织的确每天做备份,但是不去确认备份是否有效。其他一些组织建立了备份的策
略和步骤,但却没有建立存储的策略和步骤。这些错误往往在黑客进入系统并已经破坏数据后才
被发现。

第二个问题是对备份介质的物理保护不够。备份保存了和服务器上同样敏感的信息,它们应以相
同的方式加以对待。

G3.2受影响的系统
任何运行紧要任务的系统

G3.3 CVE entries: 
N/A

G3.4怎样判断你是易受攻击的:
应列出一份紧要系统的列表。然后对每一个系统可能遇到的风险和威胁进行分析。应根据这些重
要的服务器制定备份方式和策略。一旦确认了这些重要系统,应明确以下重要问题:
1. 系统是否有备份?
2. 备份间隔是可接受的吗?
3. 系统是按规定进行备份的吗?
4. 是否确认备份介质正确的保存了数据?
5. 备份介质是否在室内得到了正确的保护?
6. 是否在另一处还有操作系统和存储设施的备份?(包括必要的license key)
7. 存储过程是否被测试及确认?

G3.5怎样防范:
应当每天做备份。在大多数组织中,最低的要求是一周做一次完整的备份,之后每天再做增量备
份。至少一个月要对备份介质做一次测试,以保证数据确实被正确的保存了下来。这是最低要求。
很多公司每天都做完整的备份,并且一天就要做多次备份。备份的终极目的是一个完全冗余的网
络,并且具备自动防故障能力---实时金融和电子商务系统,重要设施的控制系统和一些国防部门
的系统都需要这样一个备份方案。

G4 �C 大量打开的端口

G4.1 描述
合法的用户和攻击者都通过开放端口连接系统。端口开得越多,进入系统的途径就越多。因此,
为使系统正常运作,保持尽量少的端口是十分必要的。所有无用的端口都应被关闭。

G4.2受影响的系统:
大多数操作系统。

G4.3 CVE entries:
(注意:以下列表并不完整,只是部分样本)

CVE-1999-0189, CVE-1999-0288, CVE-1999-0351, CVE-1999-0416, CVE-1999-0675, 
CVE-1999-0772, CVE-1999-0903, CVE-2000-0070, CVE-2000-0179, CVE-2000-0339, 
CVE-2000-0453, CVE-2000-0532, CVE-2000-0558, CVE-2000-0783, CVE-2000-0983,

G4.4怎样判断你是易受攻击的:
netstat命令可以在本地运行以判断哪些端口是打开的,但更保险的方法是对你的系统进行外部
的端口扫描.这会给你列出所有实际在侦听的端口号.如果二者结果不同,你应该研究一下是什么
原因.如果两个列表一致,检查一下为什么这些端口是打开的,每一个端口都在运行什么.任何无
法确认的端口都应被关闭.应记录最终端口列表,以确定没有额外的端口出现。

在众多的端口扫描器中,最流行的是nmap。在http://www.insecure.org/nmap/ 可以找到UNIX
下的nmap。这个版本在NT下也可以编译。在 http://www.eeye.com/html/Research/Tools/
nmapnt.html可以找到NT版的nmap。无论你使用那种扫描器,都应扫描从1-65,535的所有TCP和UDP
端口。

在进行扫描之前,你应对系统拥有写入权限。一些操作系统,特别是一些有内置的TCP/IP协议
栈的器件,在被扫描时,会出现难以预计的后果。扫描同时会触发入侵检测系统和防火墙,而被
认为是一种入侵。

G4.5怎样防范:
一旦你确定了哪些端口是打开的,接下来的任务是确定所必须打开的端口的最小集合―关闭其他
端口,找到这些端口对应的服务,并关闭/移走它们。

在UNIX系统下,很多服务是由inted和它的配置文件inetd.conf控制的。inetd.conf列出了侦听
端口的服务,可用来关闭端口:将一种服务从inetd.conf中移出,重启inted,以避免端口被再
次打开。其他一些服务是通过启动时的一些脚本来运行的(例如/etc/rc, /etc/rc.local,或在
/etc/rc*目录下的。由于在不同UNIX系统下关闭这些脚本的方式不同,请查询你的系统文档。

在Windows NT 和 Windows 2000下,可使用一种fport(http://www.foundstone.com/)的程
序来确定在某个特定端口上侦听的服务或程序。在Windows XP下,你可以netstat命令加-o来
完成相同的功能。

G5 �C 没有过滤地址不正确的包

G5.1描述
IP地址欺诈是黑客经常用来隐藏自己踪迹的一种手段。例如常见的smurf攻击就利用了路由的
特性向数以千记的机器发出了一串数据包。每一个数据包都假冒了一个受害主机的IP地址作为
源地址,于是上千台主机会同时向这个受害的主机返回数据包,导致该主机或网络崩溃。
对流进和流出你网络的数据进行过滤可以提供一种高层的保护。过滤规则如下:
1.任何进入你网络的数据包不能把你网络内部的地址作为源地址。
2.任何进入你网络的数据包必须把你网络内部的地址作为目的地址。
3.任何离开你网络的数据包必须把你网络内部的地址作为源地址。
4.任何离开你网络的数据包不能把你网络内部的地址作为目的地址。
5.任何进入或离开你网络的数据包不能把一个私有地址(private address)或在RFC1918中
列出的属于保留空间(包括10.x.x.x/8, 172.16.x.x/12 或192.168.x.x/16 和网络回送地址
127.0.0.0/8.)的地址作为源或目的地址。
6.阻塞任意源路由包或任何设置了IP选项的包。

G5.2受影响的系统:
大多数操作系统和网络设备。

G5.3 CVE entries:
(注意:以下列表并不完整,只是部分样本)
CAN-1999-0528, CAN-1999-0529, CAN-1999-0240, CAN-1999-0588

G5.4怎样判断你是易受攻击的:
试图发送一个假冒IP地址的包,看你的防火墙或路由器是否阻隔了它。你的设备不仅应该阻隔
它的传输,而且应该在日志文件中记录下假冒IP包已被丢弃。注意,这又为一种新的攻击敞开
了大门:日志文件泛滥。应确认你的日志系统可以处理很强的负载,否则就易受DOS攻击。nmap
程序可以发出假冒IP包以测试这类过滤。一旦设置了过滤规则,不要认为它总能正常工作,经
常测试。

G5.5怎样防范:
应在你的外部路由或防火墙上设置过滤规则。以下是CISCO路由器的简单规则:
1.进入过滤:
interface Serial 0
ip address 10.80.71.1 255.255.255.0
ip access-group 11 in
access-list 11 deny 192.168.0.0 0.0.255.255
access-list 11 deny 172.16.0.0 0.15.255.255
access-list 11 deny 10.0.0.0 0.255.255.255
access-list 11 deny 
access-list 11 permit any
2. 离开过滤:
interface Ethernet 0
ip address 10.80.71.1 255.255.255.0
ip access-group 11 in
access-list 11 permit 

G6 �C 不存在或不完整的日志:

G6.1 描述:
安全领域的一句名言是:“预防是理想的,但检测是必须的”。只要你允许你的网络与Internet
相连,黑客入侵的危险就是存在的。每周都会发现新的漏洞,而保护你不被黑客攻击的方法很少。
一旦被攻击,没有日志,你会很难发现攻击者都作了什么。不了解这一点的话,你只能在两者之
间做出选择:要么从原始状态重装系统,寄希望于数据备份是正确的,要么冒险使用一个黑客可
能仍然控制的系统。

如果你不知道在你的系统上都发生了什么,你是不可能发现入侵的。日志提供了当前系统的细节,
哪些系统被攻击了,那些系统被攻破了。

在所有重要的系统上应定期做日志,而且日志应被定期保存和备份,因为你不知何时会需要它。
许多专家建议定期向一个中央日志服务器上发送所有日志,而这个服务器使用一次性写入的介质
来保存数据,这样就避免了黑客篡改日志。

G6.2受影响的系统:
所有的操作系统和网络设备。

G6.3 CVE entries:
CAN-1999-0575, CAN-1999-0576, CAN-1999-0578

G6.4怎样判断你是易受攻击的:
查看每一个主要系统的日志,如果你没有日志或它们不能确定被保存了下来,你是易被攻击的。

G6.5怎样防范:
所有系统都应在本地记录日志,并把日志发到一个远端系统保存。这提供了冗余和一个额外的安
全保护层。现在两个日志可以互相比较。任何的不同显示了系统的异常。另外,这提供了日志文
件的交叉检测。一个服务器中的一行日志可能并不可疑,但如果在一分钟内出现在一个组织的
50个服务器的同一出口,可能标志着一个严重问题。

不论何时,用一次性写入的媒质记录日志。

G7 �C 易被攻击的CGI程序

大多数的web服务器,包括Microsoft的IIS和Apache,都支持CGI程序,以实现一些页面的
交互功能,例如数据采集和确认。事实上,大多数web服务器都安装了简单的CGI程序。不幸的
是,大多数CGI程序员没有认识到他们的程序为Internet上的任一个人提供了一个连向web服
务器操作系统的直接的链接。易被攻击的CGI程序格外吸引攻击者,是因为他们很容易确定和使
用web服务器上软件的权限。攻击者们可以利用CGI程序来修改web页面,窃取信用卡帐号,为
未来的攻击设置后门。当司法部的页面被篡改后,深入调查得出的结论是可能性最大的攻击手段
是CGI程序中的漏洞。由没有受过良好教育或很粗心的程序员编写的web服务器应用程序也很容
易受到攻击。作为一个基本的规则,所有系统都应删除示范(sample)程序。

G7.2受影响的系统:
所有的web服务器。

G7.3 CVE entries:
(注意:以下列表并不完整,只是部分样本)
CVE-1999-0067, CVE-1999-0346, CVE-2000-0207, CVE-1999-0467, CAN-1999-0509, 
CVE-1999-0021, CVE-1999-0039, CVE-1999-0058, CVE-2000-0012, CVE-2000-0039, 
CVE-2000-0208, CAN-1999-0455, CAN-1999-0477

G7.4 怎样判断你是易受攻击的:
如果你的web服务器上有任何示范程序,你是易被攻击的。如果你有合法的CGI程序,请保证你
是在运行最新版,然后对你的站点运行漏洞扫描工具。通过模仿攻击者的行为,你可以保护你的
系统。你可以使用一个叫whisker(http://www.wiretrip.net/rfp/)的CGI扫描工具来发现CGI程
序的漏洞。

G7.5怎样防范:
以下是为保护易受攻击的CGI程序所需做的首要工作:
1.从你的web服务器上移走所有CGI示范程序。
2.审核剩余的CGI脚本,移走不安全的部分。
3.保证所有的CGI程序员在编写程序时,都进行输入缓冲区长度检查。
4.为所有不能除去的漏洞打上补丁。
5.保证你的CGI bin目录下不包括任何的编译器或解释器。
6.从CGI bin目录下删除"view-source"脚本。
7.不要以administrator或root权限运行你的web服务器。大多数的web服务器可以配置成较
低的权限,例如"nobody."
8.不要在不需要CGI的web服务器上配置CGI支持。

最危险的Windows系统漏洞(W)

W1 -  Unicode漏洞

W1.1 描述:
不论何种平台,何种程序,何种语言,Unicode为每一个字符提供了一个独一无二的序号。Unicode
标准被包括Microsoft在内的很多软件开发商所采用。通过向IIS服务器发出一个包括非法
Unicode UTF-8序列的URL,攻击者可以迫使服务器逐字“进入或退出”目录并执行任意(程
序)(script―脚本),这种攻击被称为目录转换攻击。

Unicode用%2f和%5c分别代表/和\。但你也可以用所谓的“超长”序列来代表这些字符。“超
长”序列是非法的Unicode表示符,它们比实际代表这些字符的序列要长。/和\均可以用一个字
节来表示。超长的表示法,例如用%c0%af代表/用了两个字节。IIS不对超长序列进行检查。这
样在URL中加入一个超长的Unicode序列,就可以绕过Microsoft的安全检查。如果是在一个
标记为可执行的文件夹中发出的请求,攻击者可以在服务器上运行可执行文件。更多的有关
Unicode的威胁信息可在这里找到: http://www.wiretrip.net/rfp/p/doc.asp?id=57&face=2

W1.2 受影响的系统:
安装了IIS 4.0的Microsoft Windows NT 4.0和安装了IIS 5.0,而没有安装Service Pack 2的
Windows 2000 server。

W1.3 CVE entries: 
CVE-2000-0884

W1.4 怎样判断你是易受攻击的:
如果你在运行一个未打补丁的IIS,那么你是易受到攻击的。最好的判断方法是运行hfnetchk。
Hfnetchk是用来帮助管理员来判断系统所打补丁情况的工具。Unicode目录转换漏洞可通过打
以下补丁进行修补:
? Q269862 - MS00-057 
? Q269862 - MS00-078 
? Q277873 - MS00-086 
? Q293826 - MS01-026 
? Q301625 - MS01-044 
? Windows 2000 Service Pack 2
如果一个补丁都没有安装,那么系统是易受到攻击的:

为进行进一步确认,你可以键入以下命令: http://victim/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\
这个地址需要被修改以准确测试每一个特定系统。如果你已移走了scripts目录(建议这
么做),这个命令就失效了。你可以暂时建立一个有执行权限的目录,或使用一个已有的有
执行权限的目录,来替代scripts目录。例如,你可能已经删除了scripts目录,但另外有一
个cgi-bin目录,使用cgi-bin目录替代scripts目录测试你的系统。
如果你是易受攻击的,这个URL会送回一个目录,列出驱动器C下的所有内容。你只是运
行DIR命令,如果是一个攻击者的话,他就有可能大肆破坏或在你的系统上安装一个后门。

W1.5 怎样防范:
为避免这一类攻击,你应下载Microsoft的最新补丁,在Microsoft Security Bulletin: http://www.microsoft.com/technet/security/bulletin/MS00-078.asp 你可以找到这些补丁的
信息。
IIS Lockdown和URL Scan均可以避免这类攻击。IIS Lockdown可以帮助管理员锁住IIS 
server,可在以下地址获得: http://www.microsoft.com/technet/security/tools/locktool.asp
URLScan是一个可以过滤很多HTTP请求的过滤器。例如,它可以过滤包含UTF8编码字
符的请求。URLScan可在以下地址获得: http://www.microsoft.com/technet/security/URLScan.asp

W2 �C ISAPI 缓冲区扩展溢出

W2.1描述:
Microsoft's Internet Information Server (IIS)是在大多数Microsoft Windows NT和 
Windows 2000服务器上使用的服务器软件。安装IIS后,就自动安装了多个ISAPI 
extensions。ISAPI,代表Internet Services Application Programming Interface,允许开发
人员使用DLL扩展IIS服务器的性能。一些动态连接库,例如idq.dll,有编程错误,使得他
们做不正确的边界检查。特别是,它们不阻塞超长字符串。攻击者可以利用这一点向DLL
发送数据,造成缓冲区溢出,进而控制IIS服务器。

W2.2受影响的系统:
idq.dll缓冲区溢出影响Microsoft Index Server 2.0和Windows 2000中的Indexing Service。
打印机缓冲区溢出影响Windows 2000 Server, Advanced Server, 和安装了IIS 5.0的
Server Data Center Edition. Windows 2000 Professional也装载了idq.dll,但不是缺省安装。
如果可能,你应使用Group Policy,禁止基于web的打印(在Computer 
Configuration:Administrative Templates:Printers下)。

W2.3 CVE entries:
CVE-1999-0412, CVE-2001-0241, CAN-2000-1147, CAN-2001-0500

W2.4怎样判断你是易受攻击的:
如果你的web服务器没有安装Service Pack 2,你是易受攻击的。如果你不确定安装了哪
一个补丁,从以下地址下载hfnetchk并运行它: http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/tools/hfnetch
k.asp
以下补丁可以修正打印机缓冲区溢出:
? Q296576 - MS01-023 
? Q300972 - MS01-033 
? Q301625 - MS01-044 
? Windows 2000 SP2 
? Q299444 �C The Windows NT 4.0 Security Roll-up Package
以下补丁可以修正idq.dll缓冲区溢出:
? Q300972 - MS01-033 
? Q301625 - MS01-044 
? The Windows NT 4.0 Security Roll-up Package

W2.5 怎样防范:
安装最新的Microsoft的补丁。
? Windows NT 4.0:  http://www.microsoft.com/ntserver/nts/downloads/critical/q299444/default.asp 
? Windows 2000 Professional, Server and Advanced Server:  http://www.microsoft.com/technet/security/bulletin/MS01-044.asp 
? Windows 2000 Datacenter Server: 
Windows 2000 Datacenter Server是基于硬件的,可以从设备生产商处获得。

? Windows XP: 
该漏洞不影响Windows XP.
同时,管理员应检查并取消所有不需要的ISAPI扩展。经常检查这些扩展没有被恢复。
请记住最小权限规则,你的系统应运行系统正常工作所需的最少服务。
IIS Lockdown和URL Scan均可以避免这类攻击。IIS Lockdown可以帮助管理员锁住IIS 
server,可在以下地址获得: http://www.microsoft.com/technet/security/tools/locktool.asp
URLScan是一个可以过滤很多HTTP请求的过滤器。例如,它可以过滤包含UTF8编码字
符的请求。URLScan可在以下地址获得: http://www.microsoft.com/technet/security/URLScan.asp

W3 - IIS RDS的使用(Microsoft Remote Data Services)

W3.1 描述:
Microsoft's Internet Information Server (IIS)是在大多数Microsoft Windows NT和 
Windows 2000服务器上使用的服务器软件。黑客可以利用IIS's Remote Data Services 
(RDS)中的漏洞以administrator权限在远端运行命令。

W3.2受影响的系统:
运行IIS,有/msadc虚拟路径的Microsoft Windows NT 4.0系统是最易受攻击的。
W3.3 CVE entries: 
CVE-1999-1011

W3.4 怎样判断你是易受攻击的:
如果你在运行一个未打补丁的系统,你是易被攻击的。
可以在以下地址找到有关RDS漏洞和怎样清除它的指南: http://www.wiretrip.net/rfp/p/doc.asp?id=29&iface=2

W3.5怎样防范:
这不是仅打一个补丁就能修复的。为进行防范,请遵循以下安全公告(security bulletins)
的指南:
? http://support.microsoft.com/support/kb/articles/q184/3/75.asp 
? http://www.microsoft.com/technet/security/bulletin/ms98-004.asp 
? http://www.microsoft.com/technet/security/bulletin/ms99-025.asp 
另外,你也可以通过升级到2.1版的MDAC来解决这个问题。最新版的MDAC可在以下地址
获得: http://www.microsoft.com/data/download.htm

W4 �C NETBIOS �C 未保护的Windows网络共享

W4.1 描述:
Server Message Block (SMB)协议,也称为Common Internet File System (CIFS), 允许网络间
的文件共享。不正确的配置可能会导致系统文件的暴露,或给予黑客完全的系统访问权。许多计
算机所有者不知道他们在为了外来的研究人员或工作人员方便,而把文件设置为可读,可写后,
就为黑客们敞开了大门。用于开发任务规划软件的政府网站的管理员们把他们的文件设为世界范
围可读的,于是来自不同政府机构的人员可以轻易进入。在两天之内,黑客们就发现了这个开放
文件共享,并偷走了这个软件。

在Windows的主机上允许文件共享使得它们容易受到信息窃贼和某种快速移动的病毒的攻击。
在Macintosh和UNIX的主机上允许文件共享也存在相同的问题。

允许进行Windows文件共享的Windows机制可被攻击者利用获取系统的敏感信息。用户和组
信息(用户名,上次登录时间,口令策略,RAS信息),系统信息和某种注册密钥都可通过与
NetBIOS对话服务连接的一个“空对话”过程获得。这些信息对黑客很有帮助,因为这些信息
可以帮助他们进行口令猜测和破解。

W4.2 受影响的系统:

Microsoft Windows NT and Windows 2000 systems

W4.3 CVE entries:
CVE-1999-0366, CVE-2000-0222, CVE-2000-0979, CAN-1999-0518, CAN-1999-0519, 
CAN-1999-0520, CAN-1999-0621, CAN-2000-1079

W4.4怎样判断你是易受攻击的:
可在Gibson Research Corporation的网站http://grc.com/. 进行快速,免费安全的测试,以检查
SMB文件共享和其他漏洞的存在。点击"ShieldsUP"图标可以检查是否存在SMB漏洞。注意,
如果你所连接网络的某个中间器件阻塞了SMB,ShieldsUP会报告说你不存在这个漏洞,但事
实上你可能存在。例如,对使用cable modem上网,而供应商禁止SMB进入cable modem的
用户,ShieldsUP会报告说你不存在漏洞,但事实上,大约4000个和你使用同一个cable modem
连接用户均可使用这一漏洞。

Microsoft Personal Security Advisor也可以判断你是否存在SMB漏洞,并修复它,由于它是在
本地运行,所以结果十分可靠。可在以下网址获得: http://www.microsoft.com/technet/security/tools/mpsa.asp

W4.5怎样防范:
可采取以下手段防范:
1.在共享数据时,确保只共享所需目录。
2.为增加安全性,只对特定IP地址进行共享,因为DNS名可以欺诈。
3.对Windows系统(NT,2000),只允许特定用户访问共享文件夹。
4.对Windows系统,禁止通过“空对话”连接对用户,组,系统配置和注册密钥进行匿名列
举。在W5中有更详尽的信息。
5.对主机或路由器上的NetBIOS会话服务(tcp 139), Microsoft CIFS (TCP/UDP 445)禁止不绑
定的连接。
6.考虑在独立或彼此不信任的环境下,在连接Internet的主机上部署RestrictAnonymous 
registry key。可在以下网页找到更多信息:
Windows NT 4.0:  http://support.microsoft.com/support/kb/articles/Q143/4/74.asp 
Windows 2000:  http://support.microsoft.com/support/kb/articles/Q246/2/61.ASP

W5 �C 通过空对话连接造成的信息泄露

W5.1 描述:
一个空对话连接(null session),也称为匿名登录,是一种允许匿名用户获取信息(例如用户
名或共享文件),或不需认证进行连接的机制。explorer.exe利用它来列举远程服务器上的共
享文件。在Windows NT和Windows 2000系统下,许多本地服务是在SYSTEM帐号下运行的,
又称为Windows 2000的LocalSystem。很多操作系统都使用SYSTEM帐号。当一台主机需要
从另一台主机上获取系统信息时,SYSTEM帐号会为另一台主机建立一个空对话。

SYSTEM帐号实际拥有无限的权利,而且没有密码,所以你不能以SYSTEM的方式登录。
SYSTEM有时需要获取其它主机上的一些信息,例如可获取的共享资源和用户名等典型的网上
邻居功能。由于它不能以用户名和口令进入,所以它使用空对话连接进入,不幸的是攻击者也可
以相同的方式进入。

W5.2受影响的系统:
Windows NT 4.0和Windows 2000 systems

W5.3 CVE entries: 
CAN-2000-1200

W5.4怎样判断你是易受攻击的:
试用以下命令通过一个空对话连接到你自己的系统:
net use \\a.b.c.d\ipc$ "" /user:"" 
(a.b.c.d是远端系统的IP地址)

如果你收到一个"connection failed"回复,你的系统就不存在这类漏洞,如果没有回复,就意味
着以上命令执行成功,你的系统存在这类漏洞。

也可使用"Hunt for NT",它是NT Forensic Toolkit中的一个组件。
可从以下地址获得:http://www.foundstone.com/。
W5.5 怎样防范:
域控制器需要空对话进行通信。因此,如果你处在一个域的环境中,你可以通过以下手段尽量减
少攻击者所能获取的信息,但你永远不能消除所有泄露信息的手段:

在Windows NT 4.0的主机上,修改以下注册表项:
HKLM/System/CurrentControlSet/Control/LSA/RestrictAnonymous=1
将RestrictAnonymous 改为1仍然可使匿名用户获取某些信息。在Windows 2000下,你可以
把相应的值设为2。这样做会使得在不允许外来的匿名用户(包括空对话用户)进行访问的时候,
匿名用户不能获取任何信息。

修改注册表可能会造成你的系统工作不正常。因此必须事先进行测试。另外,所有系统应加以备
份以便于恢复。如果你不需要文件或打印机共享,把NetBIOS从TCP/IP中解除。

注意这里在域控制器和其他主机上设置RestricAnonymous可能会影响网络的正常工作。因此建
议只修改在Internet上可见的主机。其他主机都应受到可阻塞NetBIOS和CIFS的防火墙的保
护。

Internet用户应不能访问任何的域内控制器或其他不是用来提供外部访问服务的主机。为避免这
类访问,关闭外部路由器或防火墙的以下端口:
从135到139,和445的TCP,UDP端口。

W6 - Weak hashing in SAM (LM hash)

W6.1 描述: 

尽管Windows的大多数用户不需要LAN Manager的支持,微软还是在Windows NT 和 2000系
统里缺省安装了LAN Manager口令散列。由于LAN Manager使用的加密机制比微软现在的方法
脆弱,LAN Manager的口令能在很短的时间内被破解。即使是强健的口令散列也能在一个月内破
解掉。LAN Manager散列的主要脆弱性在于: 
? 长的口令被截成14个字符 
? 短的口令被填补空格变成14个字符
? 口令中所有的字符被转换成大写
? 口令被分割成两个7个字符的片断
这就意味着口令破解程序只要破解两个7个字符的口令而且不用测试小写字符情况。另外,
LAN Manager容易被侦听口令散列。侦听可以为攻击者提供用户的口令。

W6.2 影响的系统: 
Microsoft Windows NT 和 2000 系统

W6.3 CVE 条款: 
N/A

W6.4 怎样确认是否受影响: 
如果你的NT或2000是缺省安装,你就可能受到这个攻击,因为LAN Manager散列被缺省创建。
你可以测试一下破解你的系统的口令是多么容易(如果你从你的上司那里得到写的权限)。你可
以使用象LC3 (l0phtcrack version 3)这样自动密码破解工具,它可以从这里找到:  http://www.atstake.com/research/lc3/download.html

W6.5 怎样抵御攻击: 
有两种方法可以用来防止LM散列的密码被破解。第一种方法是取消LAN Manger 在整个网络的
鉴定功能,使用NTLMv2 。NTLMv2 (NT LanManager version 2) 的认证方法克服了LAN Manger
的大部分脆弱性,使用了更强健的编码,并改进了认证的安全机制。

从Windows NT 4.0 SP4 及以后的系统,包括Windows 2000,微软使你可以在网络上只使用
NTLMv2成为可能。在Windows NT 和 2000中这个功能的控制键是
HKLM\System\CurrentControlSet\Control\LSA\ LMCompatibilityLevel。 如果你把它的值设置成
3,工作站或服务器将只使用NTLMv2信任证书进行认证。如果设置成5,任何域控制器将拒绝
LM和NTLM的认证而只接受NTLMv2.

如果在你的网络里还有象Windows 95怎样旧的操作系统,必须得小心计划你的升级。旧的系统
无法在微软网络客户端使用NTLMv2。在Win9x中,该键值是
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA\ LMCompatibility ,它只接受
0到3 的值(目录服务客户端)。最安全的做法是除去旧的系统,因为它妨碍你为你的组织提供
所需的最低安全标准。
微软的Technet 文章 "How to Disable LM Authentication on Windows NT [Q147706]" 详细解释
了在Windows 9x 和 Windows NT/2000注册表中需要的改变。"LMCompatibilityLevel and Its 
Effects [Q175641]" 解释了这个参数的互用性问题。Technet中另一篇很有用的文章是"How to 
Enable NTLMv2 Authentication for Windows 95/98/2000/NT [Q239869].",它解释了怎样使用
Windows 2000的目录服务客户端为Windows 95/98克服NTLMv2的兼容性限制。
简单的删除网络LanMan散列带来的问题是在SAM或Active Directory中散列还会产生和存储。
微软最近提供了一次性取消LanMan散列防止再生的方法。在Windows 2000上,找到下面注册
键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
在RegEdt32或者RegEdit的菜单中选择Edit, 单击Add 键…..加入一个名为NoLMHash的键值。
然后,退出注册表编辑器,重启计算机。下次用户改变口令时,计算机就不会再产生LanMan散
列。如果这个键是在Windows 2000域控制器上产生的,LanMan散列就不会被生成并存储在
Active Directory。
在Windows XP, 同样的功能可以通过设置键值来完成:
Hive: HKEY_LOCAL_MACHINE 
Key: System\CurrentControlSet\Control\Lsa 
Value: NoLMHash 
Type: REG_DWORD 
Data: 1
这将和Windows 2000 中生成NoLMHash 键的效果一样。
关于更多的信息,请参考下面微软知识库文章Q299656 : http://support.microsoft.com/support/kb/articles/q299/6/56.asp. 


Unix 系统漏洞 
Top Vulnerabilities To Unix Systems (U)

U1 - RPC 服务缓冲区溢出
U1.1 描述: 
远程请求(Remote procedure calls ,RPCs) 允许一台机器上的程序执行另一台机器上的程序。
它们被广泛的用来提供网络服务如NFS文件共享和NIS。由于RPC缺陷导致的弱点正被广泛的
利用着。有证据显示,1999年到2000年间的大部分分布式拒绝服务型攻击都是在那些通过RPC
漏洞被劫持的机器上执行的。在Solar Sunrise事件中取得广泛成功的对美国军方系统的攻击就是
通过利用国防部几百个系统中的一个RPC缺陷来实现的。

U1.2 影响的系统: 
Unix的大部分版本

U1.3 CVE 条款: 
CVE-1999-0003, CVE-1999-0693, CVE-1999-0696, CVE-1999-0018, CVE-1999-0019, 
CVE-1999-0704, CAN-2001-0236, CVE-2000-0666
U1.4 怎样确定你是否受影响: 
检查你是否运行了下面3个被广泛利用的RPC服务中的一个: 
? rpc.ttdbserverd 
? rpc.cmsd 
? rpc.statd 
这些服务通常被缓冲区溢出攻击成功利用,因为RPC程序不进行合适的错误检查。缓冲区溢出允
许攻击者发送程序不支持的数据,因为程序不进行合理的错误检查,数据被继续传递和处理。

U1.5 怎样抵御该攻击: 
按照下面步骤保护你的系统避免该攻击:
1. 只要允许,在可以从Internet 直接访问的机器上关闭或删除这些服务
2. 在你必须运行该服务的地方,安装最新的补丁:
Solaris Software 补丁:   http://sunsolve.sun.com/
IBM AIX Software:   http://techsupport.services.ibm.com/support/rs6000.support/downloads  http://techsupport.services.ibm.com/rs6k/fixes.html
SGI Software 补丁:  http://support.sgi.com/ 
Compaq (Digital Unix) 补丁:  http://www.compaq.com/support
3. 定期搜索供应商的补丁库查找最新的补丁并立刻安装。
4. 在路由或防火墙关闭RPC 端口 (port 111) 。
5. 关闭 RPC "loopback" 端口, 32770-32789 (TCP and UDP)
关于3个RPC漏洞的专门的总结性文档可以在下面找到: 
 http://www.cert.org/incident_notes/IN-99-04.html
下面提供了关于每一个漏洞服务的信息:
statd: http://www.cert.org/advisories/CA-99-05-statd-automountd.html  
ToolTalk: http://www.cert.org/advisories/CA-98.11.tooltalk.html 
Calendar Manager: http://www.cert.org/advisories/CA-99-08-cmsd.html 
 
U2 - Sendmail 漏洞

U2.1 描述: 
Sendmai 是在UNIX和Linux上用的最多的发送,接收和转发电子邮件的程序。Semdmail在
Internet上的广泛应用使它成为攻击者的主要目标。过去的几年里发现了若干个缺陷。事实上,第
一个建议是CERT/CC 在1988年提出的,指出了Sendmail中一个易受攻击的脆弱性。其中最为
常用的是攻击者可以发送一封特别的邮件消息给运行Sendmail的机器,Sendmail会根据这条消
息要求受劫持的机器把它的口令文件发给攻击者的机器(或者另一台受劫持的机器),这样口令
就会被破解掉。

U2.2 影响的系统: 
Unix 和 Linux 的大部分版本。
U2.3 CVE 条款: 
CVE-1999-0047, CVE-1999-0130, CVE-1999-0131, CVE-1999-0203, CVE-1999-0204, 
CVE-1999-0206

U2.4 怎样确认是否受影响: 
Sendmail 有很多的易受攻击的弱点,必须定期的更新和打补丁。检查Sendmail最新版本和补丁
版本,如果你没有更新版本或安装补丁文件,你可能就受此条影响。

U2.5 怎样抵御攻击: 
应当采取下列步骤来保护Sendmail: 
1. 更新Sendmail到最新版本或安装相应的补丁文件.   http://www.cert.org/advisories/CA-97.05.sendmail.html 
2. 在不是邮件服务器和代理服务器上,不要在daemon 模式下(关闭 the -bd 开关) 运行
Sendmail。

U3 - Bind 脆弱性

U3.1 描述: 
Berkeley Internet Name Domain (BIND) 是域名服务DNS (Domain Name Service) 用的最多的
软件包。DNS非常重要,我们利用它在Internet上通过机器的名字(例如www.sans.org )找到
机器而不必知道机器的IP地址。这使它成为攻击这钟爱的目标。令人悲哀的是,根据1999年中
期的调查,连接在Internet上的50%的DNS服务器运行的都是易受攻击的版本。在一个典型的
BINDG攻击的例子里,入侵者删除了系统日志并安装了工具来获取管理员的权限。然后他们编辑
安装了IRC工具和网络扫描工具,扫描了12个B类网来寻找更多的易受攻击的BIND。 在一分
钟左右的时间里,他们就使用已经控制的机器攻击了几百台远程的机器,并找到了更多的可以控
制的机器。这个例子说明了象DNS这些无处不在的Internet服务软件中的一个单独的缺陷可能带
来的一片混乱的局面。过期版本的Bind还存在缓冲区溢出的问题,攻击者可以用来获取未经授权
的权限。

U3.2 影响的系统: 
多个 UNIX and Linux 系统

U3.3 CVE 条款: 
CVE-1999-0024, CVE-1999-0184, CVE-1999-0833, CVE-1999-0009, CVE-1999-0835, 
CVE-1999-0848, CVE-1999-0849, CVE-1999-0851, CVE-2001-0010, CVE-2001-0011, 
CVE-2001-0013

U3.4 怎样确定是否受影响: 
运行漏洞扫描器,检查BIND版本,或手工检查文件是否易受攻击。如果可疑,小心总不为过,
升级该系统。

U3.5 怎样抵御攻击: 
应该采取下面步骤来防止BIND缺陷导致的攻击: 
1. 在所有不是DNS服务器的机器上,取消BIND name daemon (称为 "named"). 有些
专家建议删除DNS软件。
2. 在被制定为DNS服务器的机器上升级到最新版本和补丁版本。 采用下面的文章中的建
议:
NXT 漏洞: http://www.cert.org/advisories/CA-99-14-bind.html 
QINV (Inverse Query) 和NAMED 漏洞:  http://www.cert.org/advisories/CA-98.05.bind_problems.html  http://www.cert.org/summaries/CS-98.04.html 
3. 以非特权的用户身份运行BIND以免远程控制的攻击。(然而DNS要求只有做为root才
有权配置1024以下的端口并运行该程序。因此你必须配置BIND使其与端口捆绑后改变
用户ID. 
4. 在chroot 目录下运行BIND以免受到远程控制攻击。 
5. 除了对授权的用户外取消区域转换功能。
6. 取消递规和粘合以保护DNS缓冲区位置。(Disable recursion and glue fetching, to 
defend against DNS cache poisoning. )
7. 隐藏版本字符串。 
 
U4 - R 命令

U4.1 描述: 
在UNIX世界里,相互信任关系到处存在,特别是在系统管理方面。公司里经常指定一个管理员
管理几十个区域或者甚至上百台机器。管理员经常使用信任关系和UNIX的 r 命令从一个系统方
便的切换到另一个系统。 R 命令允许一个人登录远程机器而不必提供口令。取代询问用户名和口
令,远程机器认可来自可信赖IP地址的任何人。如果攻击者获得了可信任网络里的任何一台的机
器,他(她)就能登录任何信任该IP的任何机器。下面命令经常用到:
1. rlogin �C remote login,远程登录 
2. rsh �C remote shell ,远程shell
3. rcp �C remote copy ,远程拷贝

U4.2 影响的系统: 
Unix, 包括 Linux 的大部分变量。

U4.3 CVE 条款: 
CVE-1999-0046, CVE-1999-0113, CVE-1999-0185, CAN-1999-0651

U4.4 怎样确认是否受影响: 
信任关系通过设置两个文件来建立的,不是 /etc/hosts.equiv 就是 ~/.rhosts. 检查这些文件确认
你的Unix 是否设置了信任关系。

U4.5 怎样抵御攻击: 
不要允许以 IP 为基础的信任关系,不要使用 r 命令。基于IP 地址的认证太容易被跳过。认证
应该基于更安全的方式象tokens 或者至少是口令。如果使用 r 命令,限制它的登录范围,极其
小心的控制可触及的网络的范围。永远不要在把“rhost”文件放在“root”用户下。 你可以经常
使用ix的“find”命令来查找由用户生成的任何“rhost”文件。 


U5 - LPD (remote print protocol daemon)

U5.1 描述: 
Unix 里,in.lpd 为用户提供了与本地打印机交互的服务。lpd侦听TCP 515端口的请求。程序员
在写代码时犯了一点错误,使得当打印工作从一台机器传到另一台机器时会导致缓冲区溢出的漏
洞。如果在较短的时间里接受了太多的任务,后台程序就会崩溃或者以更高的权限运行任意的代
码。

U5.2 影响的系统: 
下面的系统受影响:
? Solaris 2.6 for SPARC 
? Solaris 2.6 x86 
? Solaris 7 for SPARC 
? Solaris 7 x86 
? Solaris 8 for SPARC 
? Solaris 8 x86 
? Most variants of Linux 

U5.3 CVE 条款: 
CVE-1999-0032, CVE-1999-0299, CVE-2000-0917, CAN-2001-0670, CAN-2001-0668, 
CAN-2001-0353, CAN-1999-0061

U5.4 怎样确认是否受影响: 
你可以对你的系统运行一个漏洞扫描程序来查找这个漏洞或者进行手工检查。最简单的办法是查
看你的系统是否运行LDP以及它的版本。
如果你使用的是该软件容易受攻击的版本并且没有打补丁,那么你的系统就将受到影响。

U5.5 怎样抵御攻击: 
在这个问题被发表的时候,Sun正在做补丁。一旦发布,这些补丁文件应该被安装在受影响的机
器上。同时,还有其它的一些方法防止利用这个漏洞的攻击: 
1. 如果对远程的打印处理不是必要的,在 /etc/inetd.conf  中关闭打印设备。
2. 打开 noexec_user_stack, 可以在 /etc/system  文件里加入下面的行,然后重启来打开
该功能: 
? set noexec_user_stack = 1 
? set noexec_user_stack_log = 1 
3. 限制到 port 515/tcp 的连接。
4. 配置安装 tcpwrappers, 它是tcpd-7.6 软件包的一部分,可以从下面下载:  http://www.sun.com/solaris/freeware.html#cd 
 
U6 �C sadmind and mountd

U6.1 描述: 
Sadmind 允许远程登录到Solaris 系统进行管理,并提供了一个系统管理功能的图形用户接口。
Mountd 控制和判断到安装在UNIX主机上的NFS的连接。由于软件开发人员的错误导致的这些
应用的缓冲区溢出漏洞能被攻击者利用获取root的存取权限。

U6.2 影响的系统: 
Unix的多个版本

U6.3 CVE 条款: 
CVE-1999-0977, CVE-1999-0002, CVE-1999-0493, CVE-1999-0210

U6.4 怎样确认是否受影响: 
使用漏洞扫描器查看这些服务是否在运行以及他们是否易于攻击。

U6.5 怎样抵御攻击: 
下面的措施会保护 NFS 漏洞,包括sadmind 和mountd:
1. 只要有可能,在直接与Internet连接的机器上关闭或者删除sadmind 和 mountd.
2. 安装最新的补丁:
For Solaris Software Patches:  http://sunsolve.sun.com/
For IBM AIX Software  http://techsupport.services.ibm.com/support/rs6000.support/downloads  http://techsupport.services.ibm.com/rs6k/fixes.html
For SGI Software Patches:  http://support.sgi.com/ 
For Compaq (Digital Unix) Patches:  http://www.compaq.com/support
3. 使用基于 host/ip 的输出清单
4. 只要可能,把输出文件系统设置成只读或者没有suid 。
5. 使用 nfsbug 扫描漏洞。
可以在下面找到更多的信息: http://www.cert.org/advisories/CA-99-16-sadmind.html  http://www.cert.org/advisories/CA-98.12.mountd.html 
 
U7 �C 缺省 SNMP 字串

U7.1 描述: 
SNMP (Simple Network Management Protocol, 简单网络管理协议) 是管理员广泛使用的协议,
用来管理和监视各种各样与网络连接的设备,从路由器到打印机到计算机。SNMP使用没有加密
的公共字符串作为唯一的认证机制。 没有加密已经够糟了,不仅如此,绝大部分SNMP设备使
用的公共字符串还是“public”, 只有少部分“聪明”的设备供应商为了保护敏感信息把字符串
改为“private”。 攻击者可以利用这个SNMP中的漏洞远程重新配置或关闭你的设备。 被监听
的SNMP通讯能泄漏很多关于网络结构的信息,以及连接在网络上的设备。入侵者可以使用这些
信息找出目标和谋划他们的攻击。

U7.2 影响的系统: 
所有的UNIX 系统和网络设备

U7.3 CVE 条款: 
CAN-1999-0517, CAN-1999-0516, CAN-1999-0254, CAN-1999-0186

U7.4 怎样确认是否受影响:
检查你的设备是否运行了SNMP协议。如果是,检查配置文件找到公共漏洞:
? 缺省的和空白的 SNMP community 名字; 
? 容易猜测的 SNMP community 名字;
隐藏 SNMP community 字符串

U7.5 怎样抵御攻击: 
下面的步骤会帮助抵御SNMP漏洞的攻击: 
1. 如果你不是一定需要 SNMP, 关闭它;
2. 如果你一定要使用SNMP, 对社团号(community names )使用和口令一样的策略;确保
它们难于猜测和破解,并定期改变;
3. 使用snmpwalk 命令验证和检验逆查社团号(community names,可以在下面的链接中
找到更多内容: http://www.zend.com/manual/function.snmpwalk.php 
4. 除非必需从本地网外部访问和管理设备,否则在边界路由器或防火墙处过滤掉SNMP 
(Port 161/UDP)。 
5. 只要可能,设置MIB(管理信息结构)为只读,可以在下面找到更多信息:  http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/snmp.htm#xtocid210315 
 
附录A �C 公用易受攻击端口

在这一部分里,我们列出了一些常被探测和攻击的端口。屏蔽这些端口是保证周边的安全的最低
要求,并不能构成防火墙全面的策略。一个更好的原则是关闭所有不需要的端口。即使你能确信
这些端口被关闭了,你也应该监视它们以发现入侵企图。请特别注意:屏蔽下表中的一些端口可
能导致一些设备无法使用,请在采取下面的建议前考虑可能带来的影响。 
请记住,关闭这些端口并不是全面的安全解决方案。 即使端口被关闭了,如果你的组织里的机器
不是每一台都采取了合理的安全措施,攻击者还是可能通过其它方式(如拨号调制解调器,带特
洛伊木马的邮件附件,组织内部的人员)获取网络的使用权来利用这些端口的。 
1.Login services-- telnet (23/tcp), SSH (22/tcp), FTP (21/tcp), NetBIOS (139/tcp), 
rlogin et al (512/tcp through 514/tcp) 
2.RPC and NFS-- Portmap/rpcbind (111/tcp and 111/udp), NFS (2049/tcp and 2049/udp),
lockd (4045/tcp and 4045/udp) 
3.NetBIOS 在 Windows NT -- 135 (tcp and udp), 137 (udp), 138 (udp), 139 (tcp). 
Windows 2000 �C 前面的端口加上 445(tcp and udp) 
4.X Windows -- 6000/tcp 到 6255/tcp 
5.Naming services-- DNS (53/udp) 对于所有非DNS 服务器,, 除了外边的备份外DNS 区
域传输(zone transfers )(53/tcp) , LDAP (389/tcp 和 389/udp) 
6.Mail-- SMTP (25/tcp) 对于所有不是用来中继外部邮件的机器, POP (109/tcp and 110/tcp),
 IMAP (143/tcp) 
7.Web-- HTTP (80/tcp) 和 SSL (443/tcp) 除了对外部网站服务器,它们也应该关闭通用的大的
HTTP可选的端口 (8000/tcp, 8080/tcp, 8888/tcp, etc.) 
8."Small Services"―低于 20/tcp 和 20/udp的小端口, time (37/tcp 和 37/udp) 
9.Miscellaneous-- TFTP (69/udp), finger (79/tcp), NNTP (119/tcp), NTP (123/tcp), LPD 
(515/tcp), syslog (514/udp), SNMP (161/tcp and 161/udp, 162/tcp and 162/udp), BGP 
(179/tcp), SOCKS (1080/tcp) 
10.ICMP―屏蔽到来的回应请求(ping and Windows traceroute), 关闭对外面请求的应答,
可以使用“ time exceeded”, “and destination unreachable”,但不要使用 
"packet too big" (type 3, code 4)。 (这条假定你愿意支持ICMP的合理回应请求但会屏蔽掉已
知的恶意使 用。 

除了这些端口,屏蔽"伪造"地址―-----包来自于你的公司的外部但却用着内部的地址,某些协议
(RFC1918 和 network 127) 和 IANA 保留的地址。 Also block source routed packets or 
any packets with IP options set.
 


地主 发表时间: 07/03 12:53

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号