标题：CodeRed.F
基本资料
发现： 2003 年 3 月 11 日
更新： 2007 年 2 月 13 日 11:44:38 AM
别名： CodeRed.v3, CodeRed.C, CodeRed III, W32.Bady.C, W32/CodeRed.f.worm [McAfee], Win32.CodeRed.F [CA]
类型: Trojan Horse, Worm
受感染的系统： Microsoft IIS
CVE 参考： CVE-2001-0500 CVE-2001-0506
CodeRed.F 与原来的 CodeRed II 只有两个字节之差。CodeRed II 会在年份大于 2001 时重启系统，但该变种没有这种情况。
如果 CodeRed.F 被保存到文件，Symantec 防病毒产品会将其检测为 CodeRed Worm。该蠕虫还会放置会被检测为 Trojan.VirtualRoot 的特洛伊木马程序。现有的 CodeRed 杀毒工具将会正确地检测和杀除该新变种。
有关如何充分利用 Symantec 技术抗击 CodeRed 威胁的信息，请单击此处。
CodeRed.F 扫描可攻击的 Microsoft IIS 4.0 和 5.0 Web 服务器的 IP 地址，并利用缓冲区溢出漏洞感染远程计算机。该蠕虫会将自己直接注入内存，而不是作为文件复制到系统上。此外，CodeRed.F 会创建被检测为 Trojan.VirtualRoot 的文件。Trojan.VirtualRoot 会给予黑客对 Web 服务器的完全远程访问权限。
如果运行的是 Microsoft IIS 服务器，建议您应用最新的 Microsoft 修补程序来预防该蠕虫的感染。可在 http://www.microsoft.com/technet/security/bulletin/MS01-033.asp 找到该修补程序。
http://www.microsoft.com/technet/security/bulletin/MS01-044.asp 上提供了 IIS 的累积修补程序，其中包括先后发布的四个修补程序。
此外，Trojan.VirtualRoot 会利用 Windows 2000 的漏洞。下载和安装以下 Microsoft 安全修补程序以解决该问题并组织该特洛伊木马再次感染计算机：http://www.microsoft.com/technet/security/bulletin/MS00-052.asp。
计算机一旦遭到 CodeRed.F 攻击，就很难确定该计算机是否也暴露在其他威胁之下。
在大多数情况下，不会发生更改（除了 CodeRed.F 或放置的特洛伊木马进行的更改）。但是，黑客可以利用该特洛伊木马访问该计算机以进行更改。
除非您十分确定该计算机上未执行恶意活动，否则请完全重新安装操作系统。
防护
* 病毒定义（每周 LiveUpdate™） 2001 年 8 月 5 日
* 病毒定义（智能更新程序） 2001 年 8 月 5 日
威胁评估
广度* 广度级别： Low
* 感染数量： 0 - 49
* 站点数量： 0 - 2
* 地理位置分布： Medium
* 威胁抑制： Moderate
* 清除： Moderate
损坏* 损坏级别： Medium
* 有效负载： Installs a backdoor Trojan on the Web server allowing remote execution/access
* 危及安全设置： Creates backdoor in Web server分发* 分发级别： High
* 端口： 80
* 感染目标： Microsoft IIS Web Server
CodeRed.F 利用 Idq.dll 文件中已知的缓冲区溢出漏洞，将自己安装在随机的 Web 服务器上，从而进行传播。只有尚未使用最新的 Microsoft IIS 服务包修补的系统才可能受到感染。
Microsoft 已发布了有关该漏洞的信息，可从 http://www.microsoft.com/technet/security/bulletin/MS01-033.asp 获得 Microsoft 修补程序。http://www.microsoft.com/technet/security/bulletin/MS01-044.asp 上提供了 IIS 的累积修补程序，其中包括先后发布的四个修补程序。建议系统管理员应用 Microsoft 修补程序以防止被该蠕虫感染并阻止其他非授权访问。
感染
当 Web 服务器受到感染时，该蠕虫会：
1. 调用其初始化例程，确定 IIS Server 服务的进程地址空间中 Kernel32.dll 的基本地址。
2. 查找 GetProcAddress 的地址。
3. 开始调用 GetProcAddress 来获取对一组 API 地址的访问权限，例如：
LoadLibraryA
CreateThread
..
..
GetSystemTime
然后，该蠕虫会加载 WS2_32.dll 以访问 socket、closesocket 和 WSAGetLastError 等函数。该蠕虫会从 User32.dll 获得 ExitWindowsEx，用于重新启动系统。
检查
主线程检查两个不同的标记符：
1. 第一个标记符是“29A”，它控制 Trojan.VirtualRoot 的安装。
2. 另一个标记符是名为“CodeRedII”的信号。如果存在该信号，此蠕虫会进入无限睡眠状态。
接着，主线程将检查默认语言。如果默认语言是中文（无论繁体还是简体），它将创建 600 个新线程，否则，只创建 300 个。这些线程将产生一些随机的 IP 地址，用于搜索要感染的新 Web 服务器。这些线程运行时，主线程会将 Cmd.exe 文件从 Windows NT \System 文件夹复制到下列文件夹（如果存在）：
* C:\Inetpub\Scripts\Root.exe
* D:\Inetpub\Scripts\Root.exe
* C:\Progra~1\Common~1\System\MSADC\Root.exe
* D:\Progra~1\Common~1\System\MSADC\Root.exe
如果该蠕虫放置的特洛伊木马程序已更改了注册表键，
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots
（通过添加几个新键并将用户组设置为 217），黑客就能够发送 HTTP GET 请求以在受感染的 Web 服务器上运行 scripts/root.exe ，从而完全控制该 Web 服务器。
主线程在中文系统中睡眠 48 小时，在其他系统中睡眠 24 小时。这 300 或 600 个线程将继续运行并试图感染其他系统。主线程从睡眠中唤醒后将导致计算机重新启动。另外，所有线程都会检查当前月份是否是 10 月或超过 10 月，或当前年份是否大于 34951 年，如果是，将重新启动计算机。
此蠕虫将命令解释程序 (cmd.exe) 复制到 IIS Web 服务器的默认可执行目录下，从而实现远程控制。它还将一个属性设置为隐藏、系统和只读的文件以 C:\Explorer.exe 或/和 D:\Explorer.exe 形式放入根驱动器上。Norton AntiVirus 认为这些特洛伊木马文件就是 Trojan.VirtualRoot。该蠕虫会以打包的形式携带此文件并在放入此文件时解包。
感染持续 24 或 48 小时，然后重新启动计算机。不过，如果没有安装 Microsoft 最新的修补程序，同一台计算机可能被再次感染。如果月份是 10 月或超过 10 月，或年份大于 34951 年，也将重新启动计算机。当计算机重新启动时，Trojan.VirtualRoot 在系统试图执行 Explorer.exe 时执行（根据 Windows NT 执行程序时解析或搜索程序路径的方式）。该特洛伊木马 (C:\Explorer.exe) 将睡眠几分钟，然后重新设置注册表键以确保其已被更改。
注意：重启后，内存驻留的蠕虫将处于不活动状态；即在已重启的受感染系统上，该蠕虫将不尝试将其自身传播到其他计算机，除非碰巧该计算机受到再次感染。
该特洛伊木马还会修改注册表键：
HKEY_LOCAL_MACHINE\Software\Microsoft\
Windows NT\CurrentVersion\Winlogon
将值 SFCDisable
设置为 0xFFFFFF9D
这会禁用系统文件检查程序 (SFC)。
注意
* 如果运行 Microsoft FrontPage 或此类用于设计网页的程序，计算机上可能会安装 IIS。
* 有关添加到 IIS 日志文件的字符串等其他信息，请访问 CERT Coordination Center 页：http://www.cert.org/incident_notes/IN-2001-08.html。
Symantec ManHunt
Symantec Manhunt 2.2 使用其 Anomaly Engine 将 CodeRed.F 检测为“HTTP Malformed URL”，如果应用了最新的特征更新，在混合模式下会将其检测为“HTTP_IIS_ISAPI_Extension”。
建议
赛门铁克安全响应中心建议所有用户和管理员遵循以下基本安全“最佳实践”：
* 禁用并删除不需要的服务。 默认情况下，许多操作系统会安装不必要的辅助服务，如 FTP 服务器、telnet 和 Web 服务器。这些服务可能会成为攻击所利用的途径。 如果将这些服务删除，混合型威胁的攻击途径会大为减少，同时您的维护工作也会减少，只通过补丁程序更新即可完成。
* 如果混合型威胁攻击了一个或多个网络服务，则在应用补丁程序之前，请禁用或禁止访问这些服务。
* 始终安装最新的补丁程序，尤其是那些提供公共服务而且可以通过防火墙访问的计算机，如 HTTP、FTP、邮件和 DNS 服务（例如，所有基于 Windows 的计算机上都应该安装最新的 Service Pack）。. 另外，对于本文中、可靠的安全公告或供应商网站上公布的安全更新，也要及时应用。
* 强制执行密码策略。 复杂的密码使得受感染计算机上的密码文件难以破解。这样会在计算机被感染时防止或减轻造成的损害。
* 配置电子邮件服务器以禁止或删除带有 vbs、.bat、.exe、.pif 和 .scr 等附件的邮件，这些文件常用于传播病毒。
* 迅速隔离受感染的计算机，防止其对企业造成进一步危害。 执行取证分析并使用可靠的介质恢复计算机。
* 教育员工不要打开意外收到的附件。 并且只在进行病毒扫描后才执行从互联网下载的软件。如果未对某些浏览器漏洞应用补丁程序，那么访问受感染的网站也会造成病毒感染。
Symantec 安全响应中心已经创建了一套工具以对计算机进行防漏洞性评估，该工具还可以杀除 CodeRed 蠕虫和 CodeRed II。要想获得该 CodeRed 杀毒工具，请单击此处。如果因为某种原因而无法获得或使用 CodeRed 杀毒工具，就必须手动杀除该蠕虫。
手动杀毒
要手动杀除该蠕虫，必须应用必需的 Microsoft 修补程序、删除文件、进行其他几处更改，然后编辑注册表。按照所有指导依次执行。获得修补程序重要：请不要跳过此步骤。
可从 http://www.microsoft.com/technet/security/bulletin/MS01-033.asp 下载、获得和应用该修补程序。
或者，可以下载并安装 IIS 的累计修补程序，可在 http://www.microsoft.com/technet/security/bulletin/MS01-044.asp 找到。
删除蠕虫文件1. 终止与所放置的特洛伊木马（NAV 将其检测为 Trojan.VirtualRoot）相关的当前进程：
1. 按 Ctrl+Alt+Delete，并单击“任务管理器”。
2. 单击“进程”选项卡。
3. 单击“映像名称”列标题，按字母顺序对进程排序。您会发现有两个名为 Explorer.exe 的进程，一个是正常的进程，另一个就是特洛伊木马。
4. 要确保终止正确的进程，请单击“查看”，然后单击“选择列…”。
5. 选中“线程计数”框，然后单击“确定”。
6. 此时，任务管理器中就会出现一个新列，列出与每个进程相关的当前线程数量。（可能需要滚动到右侧才能看见。）
7. 在两个 Explorer.exe 进程中，单击只有一个线程的进程。
8. 选中后，单击“结束进程”。（出现警告消息。）
9. 单击“是”终止该进程。
10. 单击“文件”，然后单击“退出任务管理器”。
2. 然后，删除在受感染系统上创建的 Explorer.exe 文件。这些文件具有隐藏、系统和只读属性。
1. 单击“开始”，然后单击“运行”。
2. 键入 cmd，然后按 Enter 键。
3. 键入下列命令：
cd c:\
attrib -h -s -r explorer.exe
del explorer.exe
键入每个命令后按 Enter 键。
4. 这会更改到根目录、删除属性并从驱动器 C 删除该特洛伊木马。
Type d:
5. 然后按 Enter 键。
这将更改到驱动器 D（如果存在）。（如果没有驱动器 D，则跳到步骤 f。）
键入下列命令：
cd d:\
attrib -h -s -r explorer.exe
del explorer.exe
键入每个命令后按 Enter 键。
6. 键入 exit，然后按 Enter 键。
3. 使用 Windows 资源管理器删除以下四个文件（如果存在），它们是 %Windir%\root.exe 文件的副本：
* C:\Inetpub\Scripts\Root.exe
* D:\Inetpub\Scripts\Root.exe
* C:\Progra~1\Common~1\System\MSADC\Root.exe
* D:\Progra~1\Common~1\System\MSADC\Root.exe
4. 打开“计算机管理器”，删除 Web 服务器上打开的共享。要执行该操作，请用鼠标右键单击桌面上的“我的电脑”图标，然后选择“管理”。
（出现“计算机管理”窗口。）
5. 在左窗格中，导航到 \计算机管理（本地）\服务和应用程序\默认 Web 站点。
6. 在右窗格中，用鼠标右键单击驱动器 C 图标，然后单击“删除”。对“默认 Web 站点”下所列出的其他所有驱动器重复该操作。
7. 请继续下一部分。编辑注册表警告：强烈建议您在对系统注册表进行任何更改之前先将其备份。错误地更改注册表可能会导致数据永久丢失或文件损坏。应只修改指定的键。继续操作之前，请参阅文档“如何备份 Windows 注册表”。
1. 单击“开始”，然后单击“运行”。（将出现“运行”对话框。）
2. 键入 regedit，然后单击“确定”。（将打开注册表编辑器。）
3. 导航至以下键：
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots
在右窗格中，会看见几个值，其中两个是 CodeRed II 所创建的，可以进行删除。更改其他值。
4. 选择值：/C
按 Delete 键，然后单击“是”确认。
5. 选择值：/D
6. 按 Delete 键，然后单击“是”确认。
7. 双击值：/MSADC
8. 从当前值数据中仅删除数字“217”并替换为数字“201”，然后单击“确定”。
9. 双击值：/Scripts
10. 从当前值数据中仅删除数字“217”并替换为数字“201”，然后单击“确定”。
注意：CodeRed 杀毒工具会从注册表完全删除 /MSADC 和 /Scripts 项。使用该工具后，会在重新启动 IIS 时使用正确的值重新创建这些项。
11. 执行下列操作之一：
* 如果不是 Windows 2000 系统，则跳到步骤 16。
* 如果是 Windows 2000 系统，则跳到步骤 13。
12. 导航至以下键：
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinLogon
13. 在右窗格中，双击值：SFCDisable
14. 删除当前的值数据，然后键入 0（这是数字零，不是字母“O”）。单击“确定”。
15. 退出注册表编辑器。
16. 重新启动系统以确保 CodeRed II 已被正确杀除。