“红色代码”病毒是2001年7月15日发现的一种网路蠕虫病毒,感染运行Microsoft IIS Web伺服器的计算机。其传播所使用的技术可以充分体现网路时代网路安全与病毒的巧妙结合,将网路蠕虫、计算机病毒、木马程式合为一体,开创了网路病毒传播的新路,可称之为划时代的病毒。如果稍加改造,将是非常致命的病毒,可以完全取得所攻破计算机的所有许可权并为所欲为,可以盗走机密数据,严重威胁网路安全。
基本介绍
- 中文名:红色代码
- 外文名:Code Red
- 技术名:CRv1和CRv2
- 类型:伺服器蠕虫病毒
- 发现日期:2001-07-15
- 程式类型:计算机病毒
- 感染对象:Microsoft IIS Web伺服器
名称由来
红色病毒首先被eEye Digital Security公司的雇员Marc Maiffret和Ryan Permeh发现并研究。他们将其命名为“Code Red”,因为他们当时在喝Code Red Mountain Dew。

病毒原理
“红色代码”蠕虫採用了一种叫做"快取区溢出"的黑客技术, 利用微软IIS的漏洞进行病毒的感染和传播。该病毒利用HTTP协定, 向IIS伺服器的连线埠80传送一条含有大量乱码的GET请求,目的是造成该系统快取区溢出, 获得超级用户许可权,然后继续使用HTTP 向该系统送出ROOT.EXE木马程式,并在该系统运行,使病毒可以在该系统记忆体驻留, 并继续感染其他IIS系统。Code Red 在向侵害对象传送GET 乱码时,总是在乱码前加上一个后缀为.ida的档案名称,表示它正在请求该档案, 这是红色代码的重要特徵。

运行过程
- 设定运行环境。首先修改堆叠指针,设定堆大小为0218H位元组。接着使用RVA( 相对虚拟地址) 查找Get Proc Address的函式地址, 再调用此函式获得其他函式的地址, 如socket,connect,send,recv,close socket 等。
- 如果C: \ not worm 档案存在,则不进一步传染其他主机。
- 传染其他主机。创建100 个执行绪, 其中99 个执行绪用于感染其他的Web 伺服器。通过一个算法来计算出一系列的IP位址作为传染目标。按照IP位址的生成算法, 能够产生重複传染的情况, 从而在这些伺服器之间传输大量的数据而消耗其网路频宽, 达到拒绝服务攻击的效果。
- 篡改主页。如果系统的默认语言不为美国英语( 代码页不等于0x 409) , 第100 个执行绪和前99 个执行绪一样去感染其他系统。否则会篡改系统的网页, 被感染的Web 伺服器的网页将被篡改成某条讯息。
这个讯息持续10 h 后会消失。与其他通过网路攻击篡改网页的方法不同, 该病毒并不修改磁碟上的主页档案, 而是修w3svc.dll 的TcpSockSend 入口指向病毒代码, 当浏览器访问这个被感染的Web 伺服器时, TcpSockSend 返回前述的篡改讯息。 - 产生对电脑的白宫的拒绝服务攻击。每一蠕虫执行绪都会检查C: \ not worm档案。如果档案存在,则转为休眠,否则检查当前时间, 如果时间在20: 00UTC 和23: 59 UTC 之间,将对白宫进行攻击。创建一个socket 并与白宫网站的80连线埠建立连线,并传送18000H ( 98 K 位元组)的数据。在休眠大约415h 后, 再次重複传送数据。由于在全世界範围内有大量Web 伺服器被感染,其结果就可能会产生对白宫网站的拒绝服务攻击。
病毒破坏力
篡改被感染的网站,使其显示上节中提到的讯息。
蠕虫病毒的活动一般与时间相关,根据系统时间不同会採取不同的活动:
1-19天
通过查找网路上更多地IIS伺服器尝试自我传播。
20-27天
对几个固定的IP位址发动拒绝服务攻击,包括白宫的IP位址。
28天到月末
休眠,没有攻击活动。
判别方法
检查伺服器日誌
检查web伺服器的日誌档案,如果出现下面的字元串,则表示可能遭到红色代码病毒的攻击:
GET/default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=aHTTP/1.0
检查连线埠
如果在1025 以上连线埠出现很多SYN SENT 连线请求,或者1025 号以上的大量连线埠处于listening状态,那幺你的机子也是已经遭受红色代码病毒的感染。
检查档案
如果在以下目录中存在Root.exe档案, 则说明已经感染红色代码病毒:
- C:/inetpub/scripts/Root.exe
- D:/inetpub/scripts/Root.exe
- C:/program Files/common file/system/MSADC/Root.exe
- D:/program Files/common file/system/MSADC/Root.exe
- C:/explorer.exe
- D:/explorer.exe
清除方法
(1) 结束进程explorer.exe
有两个explorer进程。关闭其中执行绪计数为1 的进程。
(2) 删除上节“检查档案”中列出的档案
( 3) 打开“计算机管理”、"服务和应用程式"、"默认应用程式",默认web 站点,删除其中的C和D的共享。
( 4) 修改如下注册表键值
HKEY-LOCAL-MACHINE/SYSTEM/Currentcontrolset/Services/w3svc/parameters/virtua/roots
删除其中的/C, /D, 并将其中/ MSADC和scripts的值217
删除HKEY-LOCAL-MACHINE/Software/Microsoft/windowsNT/currentversion/winlogon
将其中的CFSDisable的值还原为0。
( 5) 更新最新的作业系统补丁。重启计算机即可。
病毒变种
红色代码II
红色代码II病毒不同于以往的档案型病毒和引导型病毒,它只存在于记忆体中,传染时不通过档案这一常规载体,可以直接从一台电脑记忆体感染到另外一台电脑的记忆体,并且它採用随机产生IP位址的方式,搜寻未被感染的计算机,每个病毒每天能够扫描40 万个IP位址,因而其传染性特彆强。一旦病毒感染了计算机后,会释放出一个 特洛伊木马程式,为入侵者大开方便之门,黑客可以对被感染的计算机进行全程遥控。且红色代码II病毒不仅能感染英文Windows2000和NT,同时也可以感染中文作业系统。
“红色代码II”蠕虫代码首先会判断记忆体中是否以注册了一个名为CodeRedII的Atom(系统用于对象识别),如果已存在此对象,表示此机器已被感染,蠕虫进入无限休眠状态,未感染则注册Atom并创建300个恶意执行绪,当判断到系统默认的语言ID是中华人民共和国或中国台湾时,执行绪数猛增到600个,创建完毕后初始化蠕虫体内的一个随机数生成器(Rundom Number Generator),此生成器随机产生IP位址让被蠕虫去发现这些IP位址对应的机器的漏洞并感染之。每个蠕虫执行绪每100毫秒就会向一随机地址的80连线埠传送一长度为3818位元组的病毒传染数据包。巨大的蠕虫数据包使网路陷于瘫痪。
红色代码III
红色代码三代病毒允许黑客拥有远程访问w eb 伺服器的完全许可权。红色代码三代发现于2001年8月4日,因为它同样利用快取溢出对其他网路服务进行传播,所以被称为原红色代码病毒的变种。红色代码三代具有很高的危险性,红色代码蠕虫病毒会感染运行微软index server 2.0 或windows 2000索引服务的系统, 它只会威胁到在windos NT和windows 2000作业系统上运行IIS 4.0和IIS 5.0的计算机。红色代码三代能够建立超过300个进程来寻找其他容易被攻击的伺服器以进行传播。红色代码三代能探测更多的IP位址,这引起Internet 访问量的增加和网路速度的下降。