CodeRed II&III 程序代码分析及清除指南      
关键字:
codered,病毒,代码,红色代码  贴文时间
2001-8-9 11:09:14  文章类型: 
转贴  给贴子投票 
投票  
  chutium    转贴  出处: http://com.6to23.com/  
  
CodeRed II&III 程序代码分析及清除指南 By Seraph Chutium
   <A href="http://com.6to23.com/">http://com.6to23.com/</A> 
   <A href="http://www.cnhack.org/">http://www.cnhack.org/</A> 新浪科技报道:
代号红色C来势更猛 专家称危险性大
http://tech.sina.com.cn/s/n/2001-08-07/79179.shtml
最新信息表明红色代码Ⅲ来势更猛
http://tech.sina.com.cn/s/n/2001-08-08/79420.shtmlCodeRed 蠕虫病毒未对中文视窗系统造成多大影响,
不过近来的 CodeRed II 型可是专门针对中文系统的病毒,
最新的 CodeRed.v3 蠕虫病毒继承了 CodeRed II 的大部分功能。
同样是有意针对中文 Windosws 操作系统的攻击性病毒,
它与 CodeRed II 都将对 简体中文/繁体中文 Windows 系统进行双倍的攻击。别名:CodeRed.v3, CodeRed III, W32.Bady.C 病毒的详细分析可在此下载:
<A href="http://chutium.top263.net/software.htm">http://chutium.top263.net/software.htm</A> 微软已经发布了一个安全公告MS01-033:
http://www.microsoft.com/technet/security/bulletin/MS01-033.asp同时提供了针对NT和2000系统的补丁:Windows NT 4.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30833Windows 2000 Professional, Server and Advanced Server:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30800研究了一下,现在以成功清除,分析结果及手动清除方法如下:<STRONG>一、分析
</STRONG>
这个蠕虫的行为可以分为三部分:初始化、感染、繁殖、安装木马。
  
<STRONG>1.</STRONG>初始化  当一个 WEB 服务器感染此病毒后,它首先将初始化:  (1) 确定 Kernel32.dll 动态链接库中 ISS 服务器的服务进程地址。
  (2) 查找调用 API 函数 GetProcAddress 以使用以下 API 函数:
       LoadLibraryA
       CreateThread
       ..
       ..
       GetSystemTime
  (3) 加载 WS2_32.dll 库使用socket closesocket SAGetLastError 等函数。
  (4) 从 USER32.DLL 中调用 ExitWindowsEx 以重新启动系统。<STRONG>2.</STRONG>感染  (1) 蠕虫设置一个跳转表,以便得到所有需要的函数地址。
  (2) 获得当前主机的IP地址,以便在后面的繁殖步骤中处理子网掩码时使用。
  (3) 检查系统语言是否中文 (台湾或中华人民共和国版本)。
  (4) 检查是否已经执行过了,如已执行则跳至繁殖步骤。
  (5) 检查"CodeRedII" atom是否已被放置。这个步骤可以确保此主机不会被重复感染。
     (如已放置,则进入永久休眠状态。)
  (6) 如上一检查没有发现中没有发现"CodeRedII" atom,则增加一个"CodeRedII" atom。
     (用来表示此主机已经被感染。)
  (7) 对于非中文系统,将工作线程数目定为300。如果是中文系统,则设置为600。
  (8) 蠕虫开始产生一个新的线程跳到第一步去执行。蠕虫会根据上一步骤中设定的线程。
  (数目产生新线程。这些线程都会跳至繁殖步骤去执行。)
  (9) 调用木马功能。
  (10) 如果是非中文系统,休眠1天;如果是中文系统,休眠2天。
  (11) 重起系统。这会清除内存中驻留的蠕虫,只留下后门和explorer.exe木马。<STRONG>3.</STRONG>繁殖  (1) 设置IP_STORAGE变量。保证不会重复感染本主机。
  (2) 休眠64h毫秒。
  (3) 获取本地系统时间。蠕虫会检查当前时间是不是小于2002年或月份小于10月。
      如果日期超出了上述条件,蠕虫会重启系统。这使蠕虫的传播不会超过10月1日。
  (4) 设置SockAddr_in变量,获取攻击主机IP时会使用这个变量。
  (5) 设置Socket套接字。蠕虫调用socket()函数,产生一个套接字,并设置该套接
      字为非阻塞模式。这可以加速连接速度。
  (6) 产生下一要攻击主机的IP并发起连接。如果连接成功,将跳到"设置套接字为
      阻塞模式"步骤。
  (7) 调用select()。如果没有返回句柄,则跳到最后一步。
  (8) 设置套接字为阻塞模式。 这是因为连接已经建立,没有必要再使用非阻塞模式。
  (9) 向该套接字发送一份蠕虫的拷贝。
  (10) 执行recv调用。
  (11) 关闭套接字,返回第一步。  繁殖中的 IP 地址分析:    这个蠕虫的独特之处在于它选择下一个要连接的主机IP的方法。它首先在1到254的范
    围内随机生成4个字节(防止IP地址为一个0或255)。然后,随机从这些字节中取出一个
    字节,然后与7做与操作('AND'),产生一个0 - 7之间的随机数。然后根据这个随机数
    从一个地址掩码表中取出相应的掩码,实际掩码在内存中的位置是反向存储的。    这个表可以决定随机生成的IP地址有多少会被使用。例如,如果生成一个随机数5,则
    根据上面的掩码表,新的地址应该一半为随机地址一半为旧IP地址。比如如目前受害
    者IP地址是192.168.1.1,随机产生的IP可能是 01.23.45.67,则新的攻击地址可能为
    192.168.45.67。    其结果就是新的被攻击IP会有八分之三的机率(5,6,7)在当前机器IP所在的B类地址
    范围内产生,有八分之四的机率(1,2,3,4)在A类范围内产生,另八分之一的机
    率是随机IP地址(0)。    蠕虫如果发现产生的IP是127.x.x.x或者是224.x.x.x或者与当前IP相同,它就会重新
    产生一个新的IP.    很多情况下,与被感染的主机在同一或相近网段内的主机也使用相同的系统。因此,
    蠕虫使用这种机制就会大大增加感染的成功率。<STRONG>4.</STRONG>安装木马  (1) 获取%SYSTEM%系统目录。例如C:\WINNT\SYSTEM32
  (2) 将cmd.exe加到系统目录字符串的末尾,例如C:\WINNT\SYSTEM32\cmd.exe
  (3) 将驱动器盘符设置为C:
  (4) 将cmd.exe拷贝到 驱动器盘符:\inetpub\scripts\root.exe
  (5) 将cmd.exe拷贝到 驱动器盘符:\progra~1\common~1\system\MSADC\root.exe
  (6) 创建"驱动器盘符:\explorer.exe"
  (7) 往"驱动器盘符:\explorer.exe"中写入二进制代码。
  (8) 关闭"驱动器盘符:\explorer.exe"
  (9) 将驱动器盘符改为D,重复从第四步开始的操作
  (10) 回到 1.感染 阶段的最后一步,开始休眠。
    
  安装木马的详细分析:    蠕虫创建的"explorer.exe"是一个木马,它的主要工作方式与 CodeRed II 基本相同:    获取本地windows目录
    执行真正的"explorer.exe"
    进入下面的死循环:
      while(1)
       {
        设置"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SFCDisable"
            为 0FFFFFF9Dh, 禁止系统文件保护检查
        设置"SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\Scripts"
            为 ,,217
        设置"SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\msadc"
            为 ,,217
        设置"SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\c"
            为c:\,,217
        设置"SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\d"
            为d:\,,217
        休眠10分钟
       }    蠕虫通过修改上面的注册表增加了两个虚拟web目录(/c和/d),并将其分别映射到C:    和D:\。这使得即使用户删除了root.exe,只要"explorer.exe"木马仍在运行,攻击者
    仍然可以利用这两个虚拟目录来远程访问您的系统。例如:
      http://TARGET/scripts/root.exe?/c+command (如果root.exe还存在)
      http://TARGET/msadcs/root.exe?/c+command
      http://TARGET/c/winnt/system32/cmd.exe?/c+command (如果root.exe已经被删除)
      http://TARGET/c/inetpub/scripts/root.exe?/c+command
      http://TARGET/c/progra~1/common~1/system/MSADC/root.exe?/c+command    蠕虫将"explorer.exe"木马放在"C:\"和"D:\"的根目录下面,这是想利用微软安全公
    告MS00-052(http://www.microsoft.com/technet/security/bulletin/MS00-052.asp)
    中所描述的漏洞,windows系统在执行可执行程序时,会先搜索系统盘根目录下面有没
    有同名的程序,如果有,就先执行该程序。因此,如果攻击者将"exploer.exe"木马放
    在系统盘根目录下面,就可能先于真正的"exploer.exe"被执行。当属于管理员组的用
    户交互地登录进入系统时,木马将被执行。如果您没有安装SP2或者MS00-052中的补丁,
    您就可能执行这个木马程序;否则,您不会执行这个木马。<STRONG>二、清除</STRONG> —— 注:以下修复过程对 CodeRed II 型<U><STRONG>同样有效</STRONG></U>。如果不幸中了此病毒,应该立即关闭所有 80 端口的 web 服务,避免病毒继续传播。<STRONG>1.</STRONG>清除的 web 服务器中的两个后门文件:/msadc/root.exe , /scripts/root.exe
  这两个文件的物理地址一般情况下默认为:
  C:\inetpub\scripts\root.exe
  C:\progra~1\common~1\system\MSADC\root.exe<STRONG>2.</STRONG>清除本地硬盘中:c:\explorer.exe 和 d:\explorer.exe ,  先要杀掉进程explorer.exe,打开任务管理器,选择进程。检查是否进程中有两个
  "exploer.exe".如果您找到两个"exploer.exe",说明木马已经在您的机器上运行了,
  在菜单中选择 查看 -> 选定列 -> 线程计数,按确定。这时您会发现显示框中增加了新的
  一列"线程数"。检查两个"exploer.exe", 显示线程数为"1"的"exploer.exe"就是木马
  程序。您应当结束这个进程。  之后,您就可以删除掉C:\exploer.exe和D:\exploer.exe了,
  这两个程序都设置了隐藏和只读属性。您需要设置"资源管理器"
  的 查看 -> 选项 -> 隐藏文件 为"显示所有文件"才能看到它们。<STRONG>3.</STRONG>清除病毒在注册表中添加的项目:  HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon  删除键:SFCDisable 键值为:0FFFFFF9Dh
  或将键值改为 0 
  ( 设置为0FFFFFF9Dh后,将在登陆时禁止系统文件检查 )  HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots  键:Scripts 键值为:,,217 改为 ,,201 
  ( 这个键默认就是被打开的,不过如果没有特别需要的话,可以关闭 )
  ( 因为很多漏洞都是利用了这个虚拟目录下的文件攻击的。 )  HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots  键:msadc 键值为:,,217 改为 ,,201 
  ( 同Scripts )  HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots  删除键:c 键值为:c:\,,217
  ( 它将本地硬盘中的 C 盘在 web 中共享为 c )  HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots  删除键:d 键值为:d:\,,217
  ( 它将本地硬盘中的 D 盘在 web 中共享为 d )  如果不删除注册表中的以上键,中毒服务器的本地硬盘 C、D 将被完全控制。<STRONG>4.</STRONG>重新启动系统,以确保 CodeRed.v3 彻底清除。<STRONG>三、后记</STRONG>如果要确保清除病毒后不再次被感染,就需要安装微软发布的补丁。<STRONG>以上内容资料引自:</STRONG><A href="http://chutium.top263.net/"><STRONG>http://chutium.top263.net/</STRONG></A><STRONG> 对 CodeRed 病毒程序的分析。</STRONG>文章动态信息:  
人气: 131 得票数: 2票 
对该文的评论       chutium ( 2001-8-9 11:12:49 )  更多资料工具,欢迎访问—— http://com.6to23.com/
 http://www.cnhack.org/ 

解决方案 »

  1.   

    你绝对中招了
    到http://virusview.net/special/newalart/iis-worm.body.htm
    下一个killrc2搞定
      

  2.   

    跟上面说明比: 少一个 root.exe
    c:\progra~1\common~1\system\MSADC\中无 root.exe
      

  3.   

    你可以开启通讯来看看:如果没有任何信息传输,系统会不断的发包就是有问题!而且据观察他的传输包的大小都是48K的倍数,如果你发的包都是48k倍数的话,就绝对中毒了!
    你去kill等网站看看就可以找到详细的解决方法了!
      

  4.   

    现在红虫没有了,局域网络快多了,前几天网上邻居很难出得来。
    从我的BlackICE防火墙不停受攻击的情况,中标的机子一定很多:
    16个IP显示出来了,
      

  5.   

    我的机也中了毒,不过不是红虫,而是叫funlove,我想它比红虫还利害,中了后不停的读我的光驱和硬盘,还经常找不到我的硬盘,要把主板放电之后才能找到。杀来杀去都杀不完(不是杀不死,而是杀死了又有第二个)最后给它搞到我的主板都报废了