论文部分内容阅读
系统服务,一定是为系统服务的吗?这可不一定,就像优化软件并不一定能优化系统,还有可能导致故障一样,系统服务中也有可能隐藏着一些“坏家伙”。其实,只要按照Windows里提供的接口标准来编写,即使是病毒或恶意程序也能加入自己的系统服务。事实上已经有不少病毒这么干了,原先能在进程中察觉到的病毒进程现在变得无影无踪了。结束整个服务宿主进程很可能导致其他服务也一起停止并导致系统崩溃,那怎么才能揪出这些服务里的“坏家伙们”呢?
“所有人交出身份证来!” 行动目标:找出嫌疑犯
系统配置实用程序可以查看系统所有服务,而且能够很快将非微软服务甄别出来,这样那些伪装服务就没有藏身之地了。不过,有些木马如灰鸽子注册的服务,在正常模式下使用Msconfig无法查看到新增的服务,建议进入安全模式运行Msconfig查看。
单击“开始→运行”,输入“msconfig”启动系统配置实用程序,然后单击“服务”标签,勾选下方的“隐藏所有Microsoft服务”,系统当前所有非微软服务就一目了然了。如果发现可疑服务,记下服务名称,我们就可以用下面方法将它摘除(见图1)。

注意:
一些病毒如“落雪”木马,它会利用Windows操作系统执行COM文件的优先级比EXE文件高的特性,把病毒伪装成msconfig.com保存在系统目录。这样在“运行”框输入Msconfig时却激活了病毒。Msconfig实际路径是 “C:\Windows\pchealth\helpctr\binaries\msconfig.exe”,建议在运行此类程序时最好输入完整扩展名。
“我们讲究一网打尽!” 行动目标:把坏家伙揪出系统
为了更方便认识系统服务,先了解一下系统服务的加载过程,计算机开始加载内核时,ntldr最先加载ntokrnl.exe,接着ntldr加载硬件抽象层(HAL,hal.dll),然后,系统继续加载[HKEY_LOCAL_MACHINE\system]键,NTLDR读取[HKEY_LOCAL_MACHINE\SYSTEM\Select]键来决定哪一个Control Set将被加载。其中[HKEY_LOCAL_MACHINE\system\service]下start键值为0的最底层设备驱动首先被加载。接着加载 [HKEY_LOCAL_MACHINE\system\CurrentControlSet\service]下start键值为1的驱动程序。最后Session Manager启动了Windows XP高级子系统以及服务,这样完成整个服务的加载操作。打开“注册表编辑器”,展开[HKEY_LOCAL_MACHINE\SYSTEM]就可以清楚看到服务加载过程了。
了解系统服务加载流程后,就能根据不同服务类型采取对应的方法来剔除这些有问题的服务。下面结合几个实例介绍具体的操作。不过这些并不是查杀病毒全部操作,主要是介绍如何使用系统工具阻断病毒启动的服务键值,这样使用专业查杀工具删除病毒时就不会出现“文件正在使用,无法删除”的提示了。
初级技术—用“服务管理组件”摘除W32.Spybot.ALRD病毒服务
电脑中了这个病毒后,系统就会新增一个系统服务。不过,这是个典型的、也是最常见的“假冒伪劣”服务,是Session Manager启动Windows XP高级子系统后加载的服务,摘除操作比较简单。
第1步 通过Msconfig发现病毒的服务为Services an controller-settings,然后单击“开始/运行”,输入“Services.msc”打开服务管理配置窗口。
第2步 在服务列表找到“Services an controller-settings”服务,单击窗口左上方的“停止此服务”,如果服务能够被终止,则右击服务选择“属性”,单击“常规”可以看到服务程序路径是“C:\Windows\ Services.exe”,找到并删除该程序即可。
第3步 如果病毒服务无法终止,在服务属性窗口将它的启动方式设置为“已禁用”,重启后再删除病毒文件即可。
小提示:启动命令提示符后,输入“net stop 服务名称”也可以快速终止服务,服务名称是指打开服务管理窗口后,双击具体服务显示的“服务名称”后的字符。
中级技术—在注册表摘除灰鸽子隐藏服务
在服务管理里罗列的服务,其实都是通过读取[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services]下对应服务键值实现。不过在服务管理下无法删除服务,通过上述方法删除提供服务源文件后,由于加载服务键值还存在,下次启动就有可能出现一些错误提示。因此,通过注册表摘除服务才是治本的方法,下面以摘除灰鸽子服务为例。

第1步 进入安全模式使用MSConfig,我们可以发现系统新增了一个名为“Gray_Pigon_Server”的服务。
第2步 打开注册表编辑器,依次展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services],找到名为“Gray_Pigon_Server”的服务,然后查看右侧ImagePath(即启动服务的可执行程序路径)的值,并记下病毒文件路径C:\Windows\game.exe(见图2)。
第3步 删除上述服务键值,同时删除C:\Windows\game.exe即可消除这个服务。虽然现在伪装服务的病毒变种很多,不过只要通过MSConfig查看并在注册表中将服务键值删除,便可破坏病毒自启动并删除。
小提示:有些通过系统的Svchost.exe加载的病毒服务并不能通过ImagePath值获取可执行文件路径。因为这些病毒本体是DLL文件,比如“PortLess BackDoor”木马,可以通过MSConfig发现新的服务IPRIP,只有展开注册表的[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\Parameters],才可以看到“servecedll”值为“C:\Windows\system32\svchostdll.dll”(即病毒本体)。也就是说此类服务是由Svchost.exe调用的DLL文件加载的,具体路径是由注册表 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\相应服务\Parameters]键右侧的“servecedll”值来指定的。
文章链接:Svchost详细描述请参考本刊《系统蓝色档案——亦真亦假的Svchost.exe》一文。
高级技术—用硬件配置文件摘除Ntservice32服务
上述的服务我们可以在进入Windows后轻松摘除,这主要是由于这些都是Session Manager启动的服务,从上面服务加载顺序知道,这是系统最后加载的服务(包括很多杀毒软件注册的系统服务)。但是,现在越来越多的病毒伪装为驱动服务(服务的start键值为1),这些病毒服务比杀毒软件更早加载成功,导致进入系统后无法删除。比如近日一朋友中招的Ntservice32病毒,每次进入系统后金山会报警发现C:\Windows\system32\ Ntservice32.dll是病毒,但是即使进入安全模式也无法删除。同时,也无法通过“服务管理”配置服务、无法在注册表删除服务键值。这时使用硬件配置文件即可解决这些驱动服务。

第1步 同上使用MSConfig发现新增的非微软服务Ntservice32后,以系统管理员身份登录,右击桌面“我的电脑”选择属性,在弹出的窗口单击“硬件”标签,单击“硬件配置文件”。
第2步 在弹出的硬件配置文件窗口窗口单击“复制”,按提示建立一个名为“shadu”的硬件配置文件。
第3步 同上,打开服务管理窗口,在服务列表双击Ntservice32服务。在打开的窗口,单击“登录”选项卡,在“您可启用或停用以下的硬件配置文件服务”框,选中“shadu”硬件配置文件,然后单击“禁用”(见图3)。
第4步 这样,虽然Ntservice32服务在系统中的设置仍然为自动运行,但是在“shadu”硬件配置文件中却被禁用。我们只要重启,然后在出现的硬件配置文件中选择“shadu”,进入系统后就可以删除病毒文件C:\Windows\system32\ Ntservice32.dll和服务键值了(见图4)。
小提示:从系统启动顺序可以知道,在加载服务配置前,计算机会先进行硬件检测,完成后进入配置选择阶段,之后才加载服务,系统的所有服务都是通过硬件配置文件来设置的。因此,我们可以在新建的硬件配置任意设置服务的加载与否。此外,通过硬件配置文件配置系统服务非常安全,即使由于禁用重要系统服务导致故障,我们也可以在重启后选择默认硬件配置文件恢复原来设置。大家在碰到顽固服务无法终止时,不妨使用硬件配置文件来解决它。
“所有人交出身份证来!” 行动目标:找出嫌疑犯
系统配置实用程序可以查看系统所有服务,而且能够很快将非微软服务甄别出来,这样那些伪装服务就没有藏身之地了。不过,有些木马如灰鸽子注册的服务,在正常模式下使用Msconfig无法查看到新增的服务,建议进入安全模式运行Msconfig查看。
单击“开始→运行”,输入“msconfig”启动系统配置实用程序,然后单击“服务”标签,勾选下方的“隐藏所有Microsoft服务”,系统当前所有非微软服务就一目了然了。如果发现可疑服务,记下服务名称,我们就可以用下面方法将它摘除(见图1)。

注意:
一些病毒如“落雪”木马,它会利用Windows操作系统执行COM文件的优先级比EXE文件高的特性,把病毒伪装成msconfig.com保存在系统目录。这样在“运行”框输入Msconfig时却激活了病毒。Msconfig实际路径是 “C:\Windows\pchealth\helpctr\binaries\msconfig.exe”,建议在运行此类程序时最好输入完整扩展名。
“我们讲究一网打尽!” 行动目标:把坏家伙揪出系统
为了更方便认识系统服务,先了解一下系统服务的加载过程,计算机开始加载内核时,ntldr最先加载ntokrnl.exe,接着ntldr加载硬件抽象层(HAL,hal.dll),然后,系统继续加载[HKEY_LOCAL_MACHINE\system]键,NTLDR读取[HKEY_LOCAL_MACHINE\SYSTEM\Select]键来决定哪一个Control Set将被加载。其中[HKEY_LOCAL_MACHINE\system\service]下start键值为0的最底层设备驱动首先被加载。接着加载 [HKEY_LOCAL_MACHINE\system\CurrentControlSet\service]下start键值为1的驱动程序。最后Session Manager启动了Windows XP高级子系统以及服务,这样完成整个服务的加载操作。打开“注册表编辑器”,展开[HKEY_LOCAL_MACHINE\SYSTEM]就可以清楚看到服务加载过程了。
了解系统服务加载流程后,就能根据不同服务类型采取对应的方法来剔除这些有问题的服务。下面结合几个实例介绍具体的操作。不过这些并不是查杀病毒全部操作,主要是介绍如何使用系统工具阻断病毒启动的服务键值,这样使用专业查杀工具删除病毒时就不会出现“文件正在使用,无法删除”的提示了。
初级技术—用“服务管理组件”摘除W32.Spybot.ALRD病毒服务
电脑中了这个病毒后,系统就会新增一个系统服务。不过,这是个典型的、也是最常见的“假冒伪劣”服务,是Session Manager启动Windows XP高级子系统后加载的服务,摘除操作比较简单。
第1步 通过Msconfig发现病毒的服务为Services an controller-settings,然后单击“开始/运行”,输入“Services.msc”打开服务管理配置窗口。
第2步 在服务列表找到“Services an controller-settings”服务,单击窗口左上方的“停止此服务”,如果服务能够被终止,则右击服务选择“属性”,单击“常规”可以看到服务程序路径是“C:\Windows\ Services.exe”,找到并删除该程序即可。
第3步 如果病毒服务无法终止,在服务属性窗口将它的启动方式设置为“已禁用”,重启后再删除病毒文件即可。
小提示:启动命令提示符后,输入“net stop 服务名称”也可以快速终止服务,服务名称是指打开服务管理窗口后,双击具体服务显示的“服务名称”后的字符。
中级技术—在注册表摘除灰鸽子隐藏服务
在服务管理里罗列的服务,其实都是通过读取[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services]下对应服务键值实现。不过在服务管理下无法删除服务,通过上述方法删除提供服务源文件后,由于加载服务键值还存在,下次启动就有可能出现一些错误提示。因此,通过注册表摘除服务才是治本的方法,下面以摘除灰鸽子服务为例。

第1步 进入安全模式使用MSConfig,我们可以发现系统新增了一个名为“Gray_Pigon_Server”的服务。
第2步 打开注册表编辑器,依次展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services],找到名为“Gray_Pigon_Server”的服务,然后查看右侧ImagePath(即启动服务的可执行程序路径)的值,并记下病毒文件路径C:\Windows\game.exe(见图2)。
第3步 删除上述服务键值,同时删除C:\Windows\game.exe即可消除这个服务。虽然现在伪装服务的病毒变种很多,不过只要通过MSConfig查看并在注册表中将服务键值删除,便可破坏病毒自启动并删除。
小提示:有些通过系统的Svchost.exe加载的病毒服务并不能通过ImagePath值获取可执行文件路径。因为这些病毒本体是DLL文件,比如“PortLess BackDoor”木马,可以通过MSConfig发现新的服务IPRIP,只有展开注册表的[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\Parameters],才可以看到“servecedll”值为“C:\Windows\system32\svchostdll.dll”(即病毒本体)。也就是说此类服务是由Svchost.exe调用的DLL文件加载的,具体路径是由注册表 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\相应服务\Parameters]键右侧的“servecedll”值来指定的。
文章链接:Svchost详细描述请参考本刊《系统蓝色档案——亦真亦假的Svchost.exe》一文。
高级技术—用硬件配置文件摘除Ntservice32服务
上述的服务我们可以在进入Windows后轻松摘除,这主要是由于这些都是Session Manager启动的服务,从上面服务加载顺序知道,这是系统最后加载的服务(包括很多杀毒软件注册的系统服务)。但是,现在越来越多的病毒伪装为驱动服务(服务的start键值为1),这些病毒服务比杀毒软件更早加载成功,导致进入系统后无法删除。比如近日一朋友中招的Ntservice32病毒,每次进入系统后金山会报警发现C:\Windows\system32\ Ntservice32.dll是病毒,但是即使进入安全模式也无法删除。同时,也无法通过“服务管理”配置服务、无法在注册表删除服务键值。这时使用硬件配置文件即可解决这些驱动服务。

第1步 同上使用MSConfig发现新增的非微软服务Ntservice32后,以系统管理员身份登录,右击桌面“我的电脑”选择属性,在弹出的窗口单击“硬件”标签,单击“硬件配置文件”。
第2步 在弹出的硬件配置文件窗口窗口单击“复制”,按提示建立一个名为“shadu”的硬件配置文件。
第3步 同上,打开服务管理窗口,在服务列表双击Ntservice32服务。在打开的窗口,单击“登录”选项卡,在“您可启用或停用以下的硬件配置文件服务”框,选中“shadu”硬件配置文件,然后单击“禁用”(见图3)。
第4步 这样,虽然Ntservice32服务在系统中的设置仍然为自动运行,但是在“shadu”硬件配置文件中却被禁用。我们只要重启,然后在出现的硬件配置文件中选择“shadu”,进入系统后就可以删除病毒文件C:\Windows\system32\ Ntservice32.dll和服务键值了(见图4)。
小提示:从系统启动顺序可以知道,在加载服务配置前,计算机会先进行硬件检测,完成后进入配置选择阶段,之后才加载服务,系统的所有服务都是通过硬件配置文件来设置的。因此,我们可以在新建的硬件配置任意设置服务的加载与否。此外,通过硬件配置文件配置系统服务非常安全,即使由于禁用重要系统服务导致故障,我们也可以在重启后选择默认硬件配置文件恢复原来设置。大家在碰到顽固服务无法终止时,不妨使用硬件配置文件来解决它。