当前位置: 首页 > 通知公告 > 正文

关于解决W32.Nachi.Worm 蠕虫病毒的方法

发布时间:2003-08-26   来源:   作者:石家庄经济学院   编辑:

蠕虫名称

  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接口远程缓冲区溢出漏洞(漏洞信息参见http://www.ccert.edu.cn/ advisor ies/all.php?ROWID=48) 和Microsoft Windows 2000 WebDAV远程缓冲区溢出漏洞(漏洞信息参见http://www.ccert. 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%SYSTEM32WINSDLLHOST.EXE
  %SYSTEMROOT%SYSTEM32WINSSVCHOST.EXE

  2、注册表中增加如下子项:

  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
  RpcTftpd
  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
  RpcPatch

  3、增加两项伪装系统服务:

  Network Connection Sharing
  WINS Client

  4、监听TFTP端口(69),以及一个随机端口(常见为707);

  5、发送大量载荷为“aa”,填充长度92字节的icmp报文,大量icmp报文导致网络不可用。

  6、大量对135端口的扫描;

  蠕虫的详细信息

  在被感染的机器上蠕虫会做以下操作:

  1、蠕虫首先将自身拷贝到%System%WinsDllhost.exe (%system%根据系统不同而不同,win2000为c:winntsystem32,winxp为c:windowssystem32)

  2、拷贝%System%DllcacheTftpd.exe到%System%Winssvchost.exe

  3、创建RpcTftpd服务,该服务取名Network Connections Sharing,并拷贝Distributed Transaction Coordinator服务的描述信息给自身。

  服务的中文描述信息为:并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器

  创建RpcPatch服务,该服务取名WINS Client,并拷贝Computer Browser服务的描述信息给自身。服务的中文描述信息为:维护网络上计算机的最新列 表以及提供这个列表给请求的程序。

  4、判断内存中是否有msblaster蠕虫的进程,如果有就杀掉,判断system32目录下有没有msblast.exe 文件,如果有就删除。

  5、使用类型为echo的ICMP报文ping根据自身算法得出的ip地址段,检测这些地址段中存活的主机。

  6、一旦发现存活的主机,便试图使用135端口的rpc漏洞和80端口的webdav漏洞进行溢出攻击。 溢出成功后会监听666-765范围中随机的一个端口等待目标主机回连。但是从我们监测情况看,通常都是707端口。

  7、建立连接后发送“dir dllcachetftpd.exe”和“dir winsdllhost.exe”命令,根据返回字符串判断目标系统上是否有这两个文件,如果目标系统上有tftpd.exe文件,就将tfptd拷贝到%system%winssvhost.exe,如果没有,就利用自己建立的tftp服务将文件传过后再拷贝。

  8、检测自身的操作系统版本号及server pack的版本号,然后到微软站点下载相应的ms03-26补丁并安装。如果补丁安装完成就重新启动系统。

  9、监测当前的系统日期,如果是2004年,就将自身清除。

  网络控制方法

  如果您不需要应用这些端口来进行服务,为了防范这种蠕虫,你应该在防火墙上阻塞下面的协议端口:

  UDP Port 69, 用于文件下载
  TCP Port 135, 微软:DCOM RPC
  ICMP echo request(type 8) 蠕虫用于发现活动主机

  如果您使用基于网络的入侵检测系统(比如Snort),snort兼容的系统可使用如下检测规则:
  alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"W32.Nachi.Worm infect ";content:"|aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|";itype:8;depth:32; reference:http://www.ccert.edu.cn; sid:483; classtype:misc-activity; rev:2;)

  手动清除方法

  如果您的计算机感染了Nachi蠕虫,可以用如下方法清除:

  1、停止如下两项服务(开始->程序->管理工具->服务):

  WINS Client
  Network Connections Sharing

  2、检查、并删除文件:

  %SYSTEMROOT%SYSTEM32WINSDLLHOST.EXE
  %SYSTEMROOT%SYSTEM32WINSSVCHOST.EXE

  3. 进入注册表(“开始->运行:regedit),删除如下键值:

  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
  RpcTftpd
  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
  RpcPatch

  4. 给系统打补丁(否则很快被再次感染),

  CCERT补丁下载地址: http://www.ccert.edu.cn
  微软公司:http://www.microsoft.com/technet/security/ bulletin/ MS03-026.asp