KB891716:在企业环境中部署 Microsoft Windows 恶意软件清除工具
[size=14px]简介Microsoft 已发布 Microsoft Windows 恶意软件清除工具来帮助用户从计算机中清除特定的流行恶意软件。
该工具主要面向当前未在其计算机上安装最新防病毒产品的非企业用户。不过,也可以在企业环境中部署该工具,以增强现有防护并将其作为深层防御策略的一部分。要在企业环境中部署该工具,可以使用以下一种或多种方法:
• Windows Server Update Services
• SMS 软件程序包
• 基于组策略的计算机启动脚本
• 基于组策略的用户登录脚本
有关通过 Windows Update 和“自动更新”部署该工具的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
890830 (http://support.microsoft.com/kb/890830/) Microsoft Windows恶意软件清除工具可帮助从运行 Windows Server 2003、Windows XP 或 Windows 2000的计算机中清除特定的流行恶意软件
该工具的当前版本不 支持以下部署技术和方法:
• Windows Update 目录
• 对远程计算机执行该工具
• 软件更新服务 (SUS)
此外,Microsoft Baseline Security Analyzer (MBSA) 检测不到该工具的执行情况。本文包含在部署过程中如何验证该工具的执行情况的有关信息。
代码示例
此处提供的脚本和步骤只是一些示例。客户必须对这些示例脚本和示例方案进行测试并恰当地进行修改,才能使其适用于他们的环境。必须根据您环境的设置相应地更改 ServerName 和 ShareName。
以下代码示例的功能如下:
• 以静默模式运行该工具
• 将日志文件复制到预先配置的网络共享中
• 为日志文件的名称添加以下前缀:从中执行该工具的计算机名称和当前用户的用户名。必须根据初始安装和配置 一节中的说明设置适当的共享权限。
REM In this example, the script is named RunMRT.cmd.
REM The Sleep.exe utility is used to delay the execution of the tool when used as a
REM startup script. See the "Known issues" section for details.
@echo off
call \\ServerName\ShareName\Sleep.exe 5
Start /wait \\ServerName\ShareName\Windows-KB890830-V1.10-ENU.exe /q
copy %windir%\debug\mrt.log \\ServerName\ShareName\Logs\%computername%_%username%_mrt.log
注意:在上述代码示例中,ServerName 是代表服务器名称的占位符,ShareName 是代表共享名称的占位符。
初始安装和配置
本节面向使用启动脚本或登录脚本部署该工具的管理员。如果您正在使用 Systems Management Server (SMS),则可以继续阅读“部署方法”一节。
要配置服务器和共享,请按照下列步骤操作:
1. 在成员服务器上设置共享。然后将该共享命名为 ShareName。
2. 将该工具和示例脚本 RunMRT.cmd 复制到该共享中。请参阅代码示例 一节以了解详细信息。
3. 配置以下共享权限和 NTFS 文件系统权限:
• 共享权限:
a. 为管理该共享的用户添加域用户帐户,然后单击“完全控制”。
b. 删除 Everyone 组。
c. 如果使用计算机启动脚本方法,则应添加具有更改和读取权限的 Domain Computers 组。
d. 如果使用登录脚本方法,则应添加具有更改和读取权限的 Authenticated Users 组。
• NTFS 权限:
a. 为管理该共享的用户添加域用户帐户,然后单击“完全控制”。
b. 如果 Everyone 组位于该列表中,则将其删除。
注意:如果删除 Everyone 组时收到一条错误信息,则单击“安全”选项卡上的“高级”,然后单击以清除“允许从父系来的继承权限传播到这个对象”复选框。
c. 如果使用计算机启动脚本方法,则为 Domain Computers 组授予“读取和执行”权限、“列出文件夹内容”权限以及“读取”权限。
d. 如果使用登录脚本方法,则为 Authenticated Users 组授予“读取和执行”权限、“列出文件夹内容”权限以及“读取”权限。
4. 在 ShareName 文件夹下,创建名为 Logs 的文件夹。
当该工具在客户机上运行后,最终的日志文件将收集到此文件夹中。
5. 要对 Logs 文件夹配置 NTFS 权限,请按照下列步骤操作。
注意:不得在此步骤中更改共享权限。
a. 为管理该共享的用户添加域用户帐户,然后单击“完全控制”。
b. 如果使用计算机启动脚本方法,则为 Domain Computers 组授予“修改”权限、“读取和执行”权限、“列出文件夹内容”权限、“读取”权限以及“写入”权限。
c. 如果使用登录脚本方法,则为 Authenticated Users 组授予“修改”权限、“读取和执行”权限、“列出文件夹内容”权限、“读取”权限以及“写入”权限。
部署方法
注意:无论选择哪种部署选项,您都必须具有管理员或 SYSTEM 权限才能运行该工具。
使用 SMS 软件程序包
以下示例提供了使用 SMS 2003 的分步说明。使用 SMS 2.0 的操作步骤与这些步骤类似。
1. 从程序包 Windows-KB890830-V1.10-CHS.exe /x 中提取 Mrt.exe 文件。
2. 创建 .bat 文件以启动 Mrt.exe,并通过使用 ISMIF32.exe 获取返回代码。
下面是一个示例。
@echo off
Mrt.exe /q
If errorlevel 13 goto error13
If errorlevel 12 goto error12
Goto end
:error13
Ismif32.exe –f MIFFILE –p MIFNAME –d ”text about error 13”
Goto end
:error 12
Ismif32.exe –f MIFFILE –p MIFNAME –d “text about error 12”
Goto end
:end
有关 Ismif32.exe 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
268791 (http://support.microsoft.com/kb/268791/) SMS:如何在 SMS 2.0 中处理 ISMIF32.exe 文件生成的状态管理信息格式 (MIF) 文件
186415 (http://support.microsoft.com/kb/186415/) SMS:状态 MIF 创建程序 Ismif32.exe 已推出
3. 要在 SMS 2003 控制台中创建程序包,请按照下列步骤操作:
a. 打开 SMS Administrator 控制台。
b. 右键单击“程序包”节点,单击“新建”,然后单击“程序包”。
将出现“包属性”对话框。
c. 在“常规”选项卡上,指定程序包的名称。
d. 在“数据源”选项卡上,单击以选中“此包包含源文件”复选框。
e. 单击“设置”,然后选择包含该工具的源目录。
f. 在“分发设置”选项卡上,将“发送优先级”设置为“高”。
g. 在“报告”选项卡上,单击“将这些字段用于状态 MIF 匹配”,然后为“MIF 文件名”和“名称”字段指定名称。
“版本”和“发布者”是可选的。
h. 单击“确定”创建程序包。
4. 要为程序包指定分发点 (DP),请按照下列步骤操作:
a. 在 SMS 2003 控制台中,在“程序包”节点下,找到新的程序包。
b. 展开该程序包。右键单击“分发点”,指向“新建”,然后单击“分发点”。
c. 启动“新建分发点向导”。选择一个现有分发点。
d. 单击“完成”以关闭向导。
5. 要将先前创建的批处理文件添加到新的程序包中,请按照下列步骤操作:
a. 在新的程序包节点下,单击“程序”节点。
b. 右键单击“程序”,指向“新建”,然后单击“程序”。
c. 单击“常规”选项卡,然后输入一个有效名称。
d. 在“命令行”中,单击“浏览”以选择为启动 Mrt.exe 而创建的批处理文件。
e. 将“运行”更改为“隐藏”。将“之后”更改为“不需要任何操作”。
f. 单击“要求”选项卡,然后单击“该程序只能在指定的客户端操作系统上运行”。
g. 单击“所有 x86 Windows 2000”、“所有 x86 Windows Server 2003”和“所有 x86 Windows XP”。
h. 单击“环境”选项卡,在“程序可以运行”列表中,单击“无论用户是否登录”。将“运行”模式设置为“使用管理权限运行”。
i. 单击“确定”关闭该对话框。
6. 要创建一个公告以向客户端公布该程序,请按照下列步骤操作:
a. 右键单击“公告”节点,单击“新建”,然后单击“公告”。
b. 在“常规”选项卡上,输入公告名称。在“程序包”字段中,选择以前创建的程序包。然后在“程序”字段中,选择以前创建的程序。单击“浏览”,然后单击“所有系统”集合,或选择只包括 Microsoft Windows 2000 和更高版本的计算机的集合。
c. 如果只希望程序运行一次,则保留“计划”选项卡上的默认选项。要按计划运行程序,请指定计划间隔。
d. 将“优先级”设置为“高”。
e. 单击“确定”以创建公告。
使用基于组策略的计算机启动脚本
此方法要求您在安装脚本并应用组策略设置后重新启动客户机。
1. 设置共享。为此,请按照 初始安装和配置 一节中的步骤操作。
2. 安装启动脚本。为此,请按照下列步骤操作:
a. 在“Active Directory 用户和计算机”MMC 管理单元中,右键单击域名称,然后单击“属性”。
b. 单击“组策略”选项卡。
c. 单击“新建”以创建一个新的组策略对象 (GPO),并键入 MRT 部署作为该策略的名称。
d. 单击此新策略,然后单击“编辑”。
e. 展开“计算机配置”下的“Windows 设置”,然后单击“脚本”。
f. 双击“登录”,然后单击“添加”。
将出现“添加脚本”对话框。
g. 在“脚本名称”框中,键入 \\ServerName\ShareName\RunMRT.cmd。
h. 单击“确定”,然后单击“应用”。
3. 重新启动是该域成员的客户机。
该方法要求登录用户帐户是域帐户并且是客户机上本地管理员组的成员。
1. 设置共享。为此,请按照 初始安装和配置 一节中的步骤操作。
2. 安装登录脚本。为此,请按照下列步骤操作:
a. 在“Active Directory 用户和计算机”MMC 管理单元中,右键单击域名称,然后单击“属性”。
b. 单击“组策略”选项卡。
c. 单击“新建”以创建一个新的 GPO,然后键入 MRT 部署作为名称。
d. 单击此新策略,然后单击“编辑”。
e. 展开“用户配置”下的“Windows 设置”,然后单击“脚本”。
f. 双击“登录”,然后单击“添加”。将出现“添加脚本”对话框。
g. 在“脚本名称”框中,键入 \\ServerName\ShareName\RunMRT.cmd。
h. 单击“确定”,然后单击“应用”。
3. 先注销然后再次登录到客户机。
在本方案中,该脚本和该工具将在登录用户的上下文中运行。如果该用户不属于本地管理员组或者不具有足够的权限,那么该工具将不会运行或者不会返回相应的返回代码。
有关使用启动脚本和登录脚本的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
198642 (http://support.microsoft.com/kb/198642/) 关于 Windows 2000 中的登录、注销、启动和关机脚本的概述
322241 (http://support.microsoft.com/kb/322241/) 如何在 Windows 2000 中分配脚本
与企业部署相关的其他信息
检查返回代码
可以在部署登录脚本或部署启动脚本中检查该工具的返回代码,以验证执行结果。请参阅代码示例 一节了解完成此步骤的示例。
下面的列表包含有效的返回代码。
0 = 未发现病毒感染
1 = 操作系统环境错误
2 = 没有以管理员身份运行
3 = 操作系统不受支持
4 = 初始化扫描程序时出错(下载该工具的新副本)
5 = 未使用
6 = 至少检测到一处病毒感染,但没有错误
7 = 至少检测到一处病毒感染,但是出现错误
8 = 至少检测到一处病毒感染并已将其清除,但需要手动操作才能完成清除
9 = 至少检测到一处病毒感染并已将其清除,但需要手动操作才能完成清除并且出现错误
10 = 至少检测到一处病毒感染并已将其清除,但需要重新启动才能完成清除
11 = 至少检测到一处病毒感染并已将其清除,但需要重新启动才能完成清除并且出现错误
12 = 至少检测到一处病毒感染并已将其清除,但需要手动操作和重新启动才能完成清除
13 = 至少检测到一处病毒感染并已将其清除,但需要重新启动。未出现错误
分析日志文件
恶意软件清除工具将有关其执行结果的详细信息写入 %windir%\debug\mrt.log 日志文件中。
注意
• 该日志文件当前只有英文版本。
• 从 3 月发布的 1.2 版清除工具开始,该日志文件使用 Unicode 文本格式。在 1.2 版之前,该日志文件使用的是 ANSI 文本格式。
• 在 3 月发布的 1.2 版中,日志文件格式已经更改,我们建议您下载并使用该工具的最新版本。
如果该日志文件已经存在,该工具会将内容追加到现有文件中。
• 可以使用与前面的示例类似的命令脚本来获取返回代码并将文件收集到网络共享中。
• 由于从 ANSI 格式到 Unicode 格式的转换,1.2 版的清除工具会将 %WINDIR%\debug 中所有 ANSI 版本的Mrt.log 复制到同一目录下的 Mrt.log.old 中,并在该目录下创建一个 Unicode 版本的新 Mrt.log。与 ANSI版本一样,每个月该日志文件中都会追加内容。
以下示例是一个 Mrt.log 文件,它来自感染了 Sasser.A 蠕虫病毒的计算机:
Microsoft Windows Malicious Software Removal Tool v1.2, March 2005
Started On Wed May 01 21:21:42 2002
Scanning Results:
----------------
Found virus:Win32/Sasser.A.worm in process 1856
Found virus:Win32/Sasser.A.worm in process 1856
Found virus:Win32/Sasser.A.worm in file C:\WINDOWS\avserve.exe
Found virus:Win32/Sasser.A.worm in process 1856
Found virus:Win32/Sasser.A.worm in file C:\WINDOWS\avserve.exe
Removal Results:
----------------
Terminating process with pid 1856
Operation succeeded !
Terminating process with pid 1856
Operation had previously completed.
Terminating process with pid 1856
Operation had previously completed.
Deleting registry value HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, entry:avserve.exe
Operation succeeded !
Deleting file C:\WINDOWS\avserve.exe
Operation succeeded !
Deleting file C:\WINDOWS\avserve.exe
Operation had previously completed.
Results Summary:
----------------
Found Win32/Sasser.A.worm and Removed!
Return code: 6
Microsoft Windows Malicious Software Removal Tool Finished On Wed May 01 21:21:45 2002[/code:c579b7639d]
下面是没有找到恶意软件时的日志文件示例。
[code:c579b7639d]Microsoft Windows Malicious Software Removal Tool v1.2, March 2005
Started On Wed May 01 21:19:01 2002
Results Summary:
----------------
No infection found.
Return code: 0
Microsoft Windows Malicious Software Removal Tool Finished On Wed May 01 21:19:05 2002
下面是发现错误时的日志文件示例。
有关该工具所导致的警告和错误的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
891717 (http://support.microsoft.com/kb/891717/) 运行 Microsoft Windows 恶意软件清除工具时出现错误
Microsoft Windows Malicious Software Removal Tool v1.2, March 2005
Started On Wed May 01 21:27:57 2002
Scanning Results:
----------------
Found virus:Win32/HLLW.Gaobot.ZF in process 1880
Found virus:Win32/HLLW.Gaobot.ZF in process 1880
Found virus:Win32/HLLW.Gaobot.ZF in file C:\WINDOWS\System32\winsec16.exe
Found virus:Win32/HLLW.Gaobot.ZF in process 1880
Found virus:Win32/HLLW.Gaobot.ZF in process 1880
Found virus:Win32/HLLW.Gaobot.ZF in file C:\WINDOWS\System32\winsec16.exe
Found virus:Win32/HLLW.Gaobot.ZF in file C:\WINDOWS\System32\winsec16.exe
Removal Results:
----------------
Terminating process with pid 1880
->Sysclean ERROR:Failed to kill process withPID:1880 (Win32 Error Code:0x00000102(258):The wait operation timed out.)[697]
Operation failed !
Terminating process with pid 1880
Operation had previously completed.
Terminating process with pid 1880
Operation had previously completed.
Deleting registry value HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices, entry:WinSec
Operation succeeded !
Terminating process with pid 1880
Operation had previously completed.
Deleting registry value HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, entry:WinSec
Operation succeeded !
Writing in file C:\WINDOWS\system32\drivers\etc\hosts
Operation succeeded !
Deleting file C:\WINDOWS\System32\winsec16.exe
Operation succeeded !
Deleting file C:\WINDOWS\System32\winsec16.exe
Operation had previously completed.
Deleting file C:\WINDOWS\System32\winsec16.exe
Operation had previously completed.
Results Summary:
----------------
For cleaning Win32/HLLW.Gaobot.ZF, the system needs to be restarted.
Found Win32/HLLW.Gaobot.ZF, partially removed.
已知问题
使用启动脚本运行该工具时,可能会在 Mrt.log 文件中收到类似以下内容的错误信息。Pid 号将有所不同。
[color=red]Error:MemScanGetImagePathFromPid(pid:552) failed.
0x00000005:Access is denied.[/color]
此错误会在进程刚刚启动或进程刚刚停止时发生。唯一的结果是未扫描该 Pid 所指定的进程。
要解决此问题,请使用 Sleep.exe Platform SDK 实用工具使启动脚本在运行该工具之前延迟五秒钟。请参阅前面的示例脚本。该延迟可使计算机中的进程在重新启动进程后能够稳定下来。
常见问题
问题 1:当我测试用来部署该工具的启动或登录脚本时,没有看到日志文件被复制到我所设置的网络共享中。为什么?
解答1:这通常是由权限问题引起的。例如,运行清除工具的帐户对共享没有“写入”权限。要解决此问题,请首先检查注册表项,以确保该工具已经运行。也可检查客户机上是否存在日志文件。如果该工具已成功运行,则可以对一个简单脚本进行测试,并确保当该脚本与清除工具在同一安全上下文中运行时,该脚本可以写入网络共享。
问题 2:如何验证清除工具是否已在客户机上运行?
解答 2:可以检查以下注册表项的数值数据以验证该工具的执行情况。可以将此类检查作为启动或登录脚本的一部分来执行。这样可避免多次运行该工具。
子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RemovalTools\MRT
项名称:版本
每次运行该工具时,无论执行结果如何,该工具都将向注册表中记录一个 GUID 以表明它已经执行过。下表列出了各个版本所对应的 GUID。 版本 数值数据
2005 年 1 月 E5DD9936-C147-4CD1-86D3-FED80FAADA6C
2005 年 2 月 805647C6-E5ED-4F07-9E21-327592D40E83
2005 年 3 月 F8327EEF-52AA-439A-9950-CE33CF0D4FDD
2005 年 4 月 D89EBFD1-262C-4990-9927-5185FED1F261
2005 年 5 月 08112F4F-11BF-4129-A90A-9C8DD0104005
2005 年 6 月 63C08887-00BE-4C9B-9EFC-4B9407EF0C4C
2005 年 7 月 2EEAB848-93EB-46AE-A3BF-9F1A55F54833
2005 年 8 月 3752278B-57D3-4D44-8F30-A98F957EC3C8
2005 年 8 月 A 4066DA74-2DDE-4752-8186-101A7C543C5F
2005 年 9 月 33B662A4-4514-4581-8DD7-544021441C89
2005 年 10 月 08FFB7EB-5453-4563-A016-7DBC4FED4935
2005 年 11 月 1F5BA617-240A-42FF-BE3B-14B88D004E43
问题 3:如何禁用该工具的感染报告组件,以便不将报告发送回 Microsoft?
解答 3:管理员可以选择通过向计算机中添加以下注册表项值来禁用该工具的感染报告组件。如果设置该注册表项值,该工具则不会将感染信息报告给 Microsoft。
子项:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MRT
项名称:\DontReportInfectionInformation
类型:REG_DWORD
数值数据:1
如果存在以下注册表项值,该功能将自动被禁用:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUServer
该注册表项值表明计算机已连接到 SUS 服务器。
问题 4:在 3 月发行的版本中,Mrt.log 文件中的数据似乎已丢失。这些数据为何被删除?有没有办法恢复它?
解答 4:从 3 月发行的版本开始,Mrt.log 文件以 Unicode 文件形式写入。为了确保兼容性,当该工具的 3月版处于运行状态时,如果系统上存在该文件的 ANSI 版本,该工具会将此日志文件的内容复制到 %WINDIR%\debug 下的Mrt.log.old 中,并创建一个 Unicode 版本的新的 Mrt.log。与 ANSI 版本一样,以后每次连续执行该工具时,都会向该Unicode 版本中追加内容。
这篇文章中的信息适用于:
• Microsoft Windows XP Professional Edition
• Microsoft Windows XP Home Edition
• Microsoft Windows 2000 Server
• Microsoft Windows 2000 Professional Edition
• Microsoft Windows Server 2003 Enterprise Edition
• Microsoft Windows Server 2003 Standard Edition
关键字: kbpubtypekc kbinfo KB891716
URL:
[url=http://support.microsoft.com/default.aspx?scid=kb;zh-cn;891716]http://support.microsoft.com/default.aspx?scid=kb;zh-cn;891716[/url][/size]
页:
[1]