停止无法停止的服务

停止无法停止的服务

我有防病毒服务(卡巴斯基),偶尔会对上述供应商提供的正常停止/停止 GUI 界面无响应。我想找到一种方法来终止服务以重新启动而无需重新启动,但我尝试过的所有尝试都失败并出现“访问被拒绝”错误。这些包括:

  • 服务控制面板(灰色停止按钮)
  • 任务管理器
  • 终止进程 Explorer 终止进程
  • 命令行 net 和 sc 停止
  • 使用 net stop 使用域管理员的 runas

一些细节包括:

  • 计算机:Windows Vista
  • 服务类型:10 WIN32_OWN_PROCESS
  • 服务状态:4 Running (NOT_STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)

答案1

@richard 说道:

如果 Process Explorer 无法终止该进程……那么它就真的无法终止。

不正确,有些进程我无法使用 Process Explorer 终止,但可以使用其他工具(例如 rootkitunhooker.exe)终止。

此外,Process Explorer 不会显示 RootKit 进程,因此它也无法杀死它们。

我通常使用“psexec -s”方法。

pskill.exe 可能无法在 psexec -s 中工作,但我已经描述了解决方法为了那个原因。

答案2

如果 Process Explorer 在以管理员身份运行时无法终止进程(这很重要,非管理员只能终止自己的进程),那么它就真的无法终止(Process Explorer 将使用包括调试 API 在内的所有方法)。

作为 AV 系统,它似乎是无法终止的,因为线程被阻塞在内核中(这些线程必须返回才能终止它们及其进程)。

这可能是卡巴斯基驱动模式代码的问题,请向他们咨询更新的软件或考虑采用其他反恶意软件解决方案。

答案3

卡巴斯基正在保护自己免受此类病毒的侵害。

进入卡巴斯基的设置,删除“保护服务不被关闭”的勾选。我不知道确切的短语,因为我使用的是德语 UI。

答案4

解决方案可能在于超级壳或后者格鲁特谢尔来自同一网站:

nt/2k/xp 的 rootshell。实际上,这是一个在安全上下文中运行的 shellNT 系统/权限,这意味着用户有权使用任务管理器终止正在运行的服务。耶!这个想法最初来自 MSDN 上的一些 MS 示例源代码,仅适用于 NT,适用于 2000 和 XP。非常有趣!

笔记:您已经需要管理(即调试)权限才能运行它。关键是您在 NT SYSTEM/AUTHORITY 的安全上下文(系统服务看到的上下文)中运行 shell,而不是在具有 GUI 登录的管理员的上下文中运行。如果这对您来说没有意义,请不要使用 supershell。

相关内容