常见蠕虫病毒介绍和常见ACL配置
 
目前网络蠕虫病毒是当前网络最大的危害,是造成当前很多网络堵塞的重要原因。但是目前发现的这些蠕虫病毒,容易通过防火墙识别出这些被感染的计算机,它具有比较明显的扫描和连接特征,Eudemon防火墙支持黑名单功能,可以通过显示黑名单列表功能直接查看哪些设备可能感染了蠕虫病毒。当然有些BT下载用户,也可能被认为是在扫描被动态加入黑名单,这个还需要具体鉴别
为了尽量减少蠕虫病毒在网络上的传播,现在常常配置ACL,把已知的蠕虫病毒常用的一些端口给封掉,可参考下面的配置,但需要注意的是,因为有些端口和一些网络游戏的端口是相同的,可能会导致一些游戏玩不起来,因此需要根据情况,把某些端口还是要打开。注意因为配置的ACL规则条数比较多时,例如超过5个,因为Eudemon 防火墙支持高速ACL算法,要注意配置启动ACL加速命令(acl accelate ),这时,无论配置多少ACL,查找ACL速度和ACL条数无关。(Eudemon 200,100支持该命令,5001000默认就是支持,因此无需单独配置该命令)
 rule 5 deny tcp destination-port eq 135                                       
 rule 10 deny udp destination-port eq 135                                      
 rule 15 deny tcp destination-port eq 139                                      
 rule 20 deny udp destination-port eq netbios-ssn                              
 rule 25 deny tcp destination-port eq 445                                      
 rule 30 deny udp destination-port eq 445                                      
 rule 35 deny tcp destination-port eq 593                                       
 rule 40 deny udp destination-port eq 593                                      
 rule 45 deny tcp destination-port eq 4444                                     
 rule 50 deny tcp destination-port eq 5554                                      
 rule 55 deny udp destination-port eq tftp                                     
 rule 60 deny udp destination-port eq 1434                                     
 rule 65 deny tcp destination-port eq 9996                                     
 rule 70 deny tcp destination-port eq 44445  
 

1.1.1     slammer 蠕虫

slammer是针对 Microsoft SQL Server 2000 Microsoft Desktop Engine (MSDE) 2000 的一种蠕虫。该蠕利用MS-SQL的一个漏洞进行传播。(MS-SQL的漏洞信息请参见sql漏洞)由于蠕虫发送大量的udp包,因此会造成网络Dos攻击。
 
影响版本:
 
  SQL Server 2000 RTM
  SQL Server 2000 SP1
  SQL Server 2000 SP2
  Microsoft SQL Desktop Engine Version (MSDE) 2000
 
详细信息:
 
  蠕虫感染一台有漏洞的主机过程如下:
 
  1.将自身封装在一个376字节的udp数据包中发送到网络上任意地址主机的udp 1434端口
 
  2.如果主机的SQL 服务器解析服务(SQL Server Resolution Service)开放并没有安装相应的补丁,蠕虫将利用漏洞覆盖一部分系统内存,以此获得SQL 服务进程所拥有的安全权限。
 
  3.调用 Windows API 功能 GetTickCount 随机生成 IP 4.在受害主机上建立一个socket,使用一个临时的端口发送封装有蠕虫的udp包到刚才产生的那些地址中,只要这些地址中存在具有该漏洞的主机均能感染.
 
蠕虫具有以下特征:
 
  1.使用udp协议传播,传播速度快,传播面积广
  2.蠕虫感染系统后,只驻留内存不在硬盘上写任何文件
  3.由于发送大量的udp包会产生巨大的网络流量,造成Dos攻击
 
网络检测方法:
symantec提供了如下的网络检测规则
alert udp $EXTERNAL_NET any -> $HOME_NET 1434 (msg:"W32.SQLEXP.Worm propagation";
content:"|68 2E 646C 6C 68 65 6C 33 32 68 6B 65 72 6E|"; content:"|04|"; offset:0;
depth:1;)
 
本地检测方法: 
微软提供了专门的检测工具,你可以在我们的网站上下载到相关的工具: 检测工具
使用里面的sqlscan你可以扫描出网络上易受slammer感染的主机来。软件内附有详细的使用说明。
 
 
网络控制方法: 
你可以在边界路由器上添加以下规则:
access-list 110 deny udp any any eq 1434
本地控制方法: 
为有MS-SQL的机器安装最新的补丁
使用单机防火墙屏蔽udp1434端口
解决方法: 
  请先确定您的MS-SQL安装了最新补丁,如果没有请尽快安装补丁。如果不及时安装补丁,即便是你有效的清除了该蠕虫也会很快被重新感染。相关的补丁你可以在我们的网站上下载:chs_sql2ksp3
 
如果确定你的机器已经被感染了slammer蠕虫,请按以下方法操作:
  1.暂时将本地的MS-SQL服务设为禁用,重新启动机器
  2.下载相关的补丁到本地并安装
  3.重新启用本地的MS-SQL服务

1.1.2     W32.Blaster 蠕虫

 
  蠕虫名称
 
  W32.Blaster.Worm (symantec)
  W32/Lovsan.worm (McAfee)
  WORM_MSBLAST.A (Trend Micro)
  Win32.Posa.Worm (CA)
  Lovsan (F-secure)
  CVE参考:CAN-2003-0352
  BUGTRAQ ID8205
 
  影响系统
 
  Microsoft Windows NT 4.0 (包括所有SP补丁版本)
  Microsoft Windows 2000 (包括所有SP补丁版本)
  Microsoft Windows XP (包括所有SP补丁版本)
  Microsoft Windows Server 2003
 
  特征描述
  W32.Blaster是一种利用DCOM RPC漏洞(请参考[url]http://www.microsoft.com/technet/security/[/url] bulletin/ MS03-026.asp)进行传播的蠕虫,传播能力很强。蠕虫传播时破坏了系统的核心进程svchost.exe,从而导致系统不稳定,并可能造成系统崩溃。它扫描的端口号是TCP/135,攻击成功后它会利用TCP/4444UDP/69端口下载并运行它的代码程序Msblast.exe
  蠕虫感染特征:
  1 蠕虫攻击可能导致RPC 服务停止,因此可能引起其他服务(如IIS)不能正常工作;
  2 攻击不成功时,可能导致系统出现了不正常,比如拷贝、粘贴功能不工作,无法进入网站页面链接等等;
  3 成功溢出时,系统表现为如下特征:
  * 系统被重启动;
  * netstat 可以看到大量TCP/135端口的扫描;
  * 系统中出现文件: %Windir%\system32\msblast.exe
  * 注册表中出现键值:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ "windows auto update"="msblast.exe"
  控制方法
 
  如果您不需要使用下面的端口,可以在防火墙或路由器上暂时阻塞下面的端口:
 
   * TCP 4444 蠕虫开设的后门端口,用于远程命令控制
  * UDP Port 69 用于文件下载
  * TCP Port 135 蠕虫用以下端口发现有漏洞的系统
  * TCP Port 137
  * TCP Port 139
 
  如果您使用cisco 路由器,可以用如下访问控制列表来防止蠕虫的扫描和传播(仅作参考):
  ! 以前的控制规则
  ! ..
  access-list 110 deny tcp any any eq 135
  access-list 110 deny tcp any any eq 4444
  access-list 110 deny udp any any eq 69
  access-list 110 permit ip any any
  interface s0
  ip access-group 110 in
  检测和删除
  如果你的计算机感染了蠕虫,可以用下面办法手工删除:
  1. 检查、并删除文件: %Windir%\system32\msblast.exe
  2. 打开任务管理器,停止以下进程 msblast.exe .
  3. 进入注册表(“开始->运行:regedit) 找到键值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  在右边的栏目, 删除下面键值:
"windows auto update"="msblast.exe"
  4. 给系统打补丁(否则很快被再次感染),补丁下载地址参见下文。
  5.如果您安装了网络入侵检测系统,请尽快升级检测规则,Symantec公司给出的检测规则如下:
alert tcp $EXTERNAL_NET any -> $HOME_NET 135 \ (msg:"DCE RPC Interface Buffer Overflow Exploit"; \ content:"|00 5C 00 5C|"; \ content:!"|5C|"; within:32; \ flow:to_server,established; \ reference:bugtraq,8205; rev: 1; )
 
  补丁下载
[url]http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/[/url] MS03-026.asp
CCERT: [url]http://www.edu.cn[/url]  Windows 2000补丁   Windows XP 补丁
 [url]http://www.ccert.edu.cn[/url]
CNCERT: [url]http://www.cert.org.cn/upload[/url]
蠕虫感染途径
  1. 蠕虫感染系统后首先检测是否有名为"BILLY"的互斥体存在,如果检测到该互斥体,蠕虫就会退出,如果没有,就创建。
  2. 在注册表
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中添加以下键值:windows auto update"="msblast.exe" 以保证每次用户登录的时候蠕虫都会自动运行。
  3. 蠕虫还会在本地的UDP/69端口上建立一个tftp服务器,用来向其它受侵害的系统上传送蠕虫的二进制程序msblast.exe
 
  4. 蠕虫选择目标IP地址的时候会首先选择受感染系统所在子网的IP,然后再按照一定算法随机在互连网上选择目标攻击。
  5. 向目标的TCP/135端口发送攻击数据。如果攻击成功,会监听目标系统的TCP/4444端口作为后门,并绑定cmd.exe。然后蠕虫会连接到这个端口,发送tftp命令,回连到发起进攻的主机(UDP/69端口),将msblast.exe传到目标系统上,然后运行它。
 
  蠕虫检测到当前系统月份是8月之后或者日期是15日之后,也就是说,在1月至8月的16日至此月最后一天,以及九月至十二月的任意一天,就会向微软的更新站点"windowsupdate.com"发动拒绝服务攻击。蠕虫所带的攻击代码来自一个公开发布的攻击代码,当攻击失败时,可能造成没有打补丁的Windows系统RPC服务崩溃,Windows XP系统可能会自动重启。该蠕虫不能成功侵入Windows 2003,但是可以造成Windows 2003系统的RPC服务崩溃,默认情况下,这将使系统重启。
  蠕虫代码中还包含以下文本数据:
  I just want to say LOVE YOU SAN!!
  billy gates why do you make this possible ? Stop making money and fix your software!! (比尔·盖茨,你为什么要使这种攻击成为可能?不要再只顾挣钱了,好好修补你发行的软件吧。)
 参考信息
  1 [url]http://www.securityfocus.com/news/6689[/url]
  2 [url]http://www.cert.org/tech_tips/w32_blaster.html[/url]
 

1.1.3     W32.Nachi.Worm 蠕虫

  蠕虫名称
  MSBlast.D (趋势科技)
  LovSAN.D F-Secure
  W32/Nachi.Worm NAI
  W32.Welchia.Worm (Symantec)
  CVE参考 : CAN-2003-0109, CAN-2003-0352
 
  影响系统
  Windows 2000, Windows XP / Windows 2003
  简单描述
  W32.Nachi.Worm蠕虫(以下简称Nachi蠕虫)利用了Microsoft Windows DCOM RPC接口远程缓冲区溢出漏洞(漏洞信息参见[url]http://www.ccert.edu.cn/[/url] advisor ies/all.php?ROWID=48) Microsoft Windows 2000 WebDAV远程缓冲区溢出漏洞(漏洞信息参见[url]http://www.ccert.[/url] edu.cn/advisories/all.php?ROWID=28)进行传播。如果该蠕虫发现被感染的机器上有“冲击波”蠕虫,则杀掉“冲击波”蠕虫,并为系统打上补丁程序,但由于程序运行上下文的限制,很多系统不能被打上补丁,并被导致反复重新启动。Nachi蠕虫感染机器后,会产生大量长度为92字节的ICMP报文,从而严重影响网络性能。(ICMP流量增长趋势参见附图)
这些ICMP数据包的特征如下(其中xxx为隐去的IP地址):
  xxx.xxx.xxx.xxx > xxx.xxx.xxx.xxx: icmp: echo request
  4500 005c 1a8d 0000 7801 85be xxxx xxxx
  xxxx xxxx 0800 26b1 0200 79f9 aaaa aaaa
  aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa
  aaaa aaaa aaaa
计算机感染特征
  1、被感染机器中存在如下文件:
  %SYSTEMROOT%\SYSTEM32\WINS\DLLHOST.EXE
  %SYSTEMROOT%\SYSTEM32\WINS\SVCHOST.EXE
 2、注册表中增加如下子项:
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
  RpcTftpd
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
  RpcPatch
  3、增加两项伪装系统服务:
  Network Connection Sharing
  WINS Client
  4、监听TFTP端口(69),以及一个随机端口(常见为707);
  5、发送大量载荷为“aa”,填充长度92字节的icmp报文,大量icmp报文导致网络不可用。
  6、大量对135端口的扫描;
  蠕虫的详细信息
  在被感染的机器上蠕虫会做以下操作:
  1、蠕虫首先将自身拷贝到%System%\Wins\Dllhost.exe %system%根据系统不同而不同,win2000c:\winnt\system32,winxpc:\windows\system32)
  2、拷贝%System%\Dllcache\Tftpd.exe%System%\Wins\svchost.exe
 3、创建RpcTftpd服务,该服务取名Network Connections Sharing,并拷贝Distributed Transaction Coordinator服务的描述信息给自身。
  服务的中文描述信息为:并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器
  创建RpcPatch服务,该服务取名WINS Client,并拷贝Computer Browser服务的描述信息给自身。服务的中文描述信息为:维护网络上计算机的最新列 表以及提供这个列表给请求的程序。
  4、判断内存中是否有msblaster蠕虫的进程,如果有就杀掉,判断system32目录下有没有msblast.exe 文件,如果有就删除。
  5、使用类型为echoICMP报文ping根据自身算法得出的ip地址段,检测这些地址段中存活的主机。
  6、一旦发现存活的主机,便试图使用135端口的rpc漏洞和80端口的webdav漏洞进行溢出攻击。 溢出成功后会监听666-765范围中随机的一个端口等待目标主机回连。但是从我们监测情况看,通常都是707端口。
  7、建立连接后发送“dir dllcache\tftpd.exe”和“dir wins\dllhost.exe”命令,根据返回字符串判断目标系统上是否有这两个文件,如果目标系统上有tftpd.exe文件,就将tfptd拷贝到%system%\wins\svhost.exe,如果没有,就利用自己建立的tftp服务将文件传过后再拷贝。
  8、检测自身的操作系统版本号及server pack的版本号,然后到微软站点下载相应的ms03-26补丁并安装。如果补丁安装完成就重新启动系统。
  9、监测当前的系统日期,如果是2004年,就将自身清除。
网络控制方法
  如果您不需要应用这些端口来进行服务,为了防范这种蠕虫,你应该在防火墙上阻塞下面的协议端口:
 
  UDP Port 69, 用于文件下载
  TCP Port 135, 微软:DCOM RPC
  ICMP echo request(type 8) 蠕虫用于发现活动主机