首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于windows服务和服务控制管理器

关于windows服务和服务控制管理器
EN

Security用户
提问于 2014-10-01 08:52:20
回答 1查看 1.2K关注 0票数 1

我当时正在研究Windows,当我知道,当使用本地系统以外的帐户运行服务时,SCM会自动授予帐户某些安全特权,比如SeServiceLogon right和SeTcbPrivlige,我知道它需要服务登录权,但是这个TcbPrivilege权限是什么呢?为什么需要它?

此外,如果服务要与桌面交互,则授予额外的四种特权,如创建令牌特权、分配主令牌特权等。请解释为什么需要它?

EN

回答 1

Security用户

发布于 2014-10-01 11:35:49

TL;TR

此权限可用于在另一个用户(包括SYSTEM)下创建和运行进程,为该用户提供适当的访问令牌。

SeTcbPrivilege

Windows服务是在后台运行的程序,用于执行操作系统运行所需的操作。当您说“使用本地系统以外的帐户运行服务时,SCM会自动授予帐户某些安全权限”时,应该注意的是,服务只能通过以下三个服务用户帐户服务用户帐户启动:

  • 系统
  • 网络服务
  • 当地服务

这意味着要运行Windows服务,您必须已经拥有这三个“用户”之一的特权。System本质上是一个管理员,另外两个是相当高级别的用户组。

来自MSDN的

C++常量: SE_TCB_NAME字符串:作为操作系统一部分所需的SeTcbPrivilege脚本短名称:SeTcbPrivilege。持卡人是可信计算机库的一部分。

服务是操作系统的扩展,因此在默认情况下SCM将此特权授予服务并不令人惊讶。受信任的计算机基础特权允许访问被认为是计算机(即操作系统)安全的“基础”的硬件设备驱动程序和/或软件组件。

是微软的另一项工作:

允许进程像用户一样进行身份验证,从而获得与用户相同的资源的访问权限。只有低级别的身份验证服务才需要此权限。

换句话说,这允许进程模拟用户。我知道模拟这确实意味着您可以以SYSTEM听起来很糟糕,但是有一种内置到Windows中的“模拟用户”机制。这是Run as Administrator履行其职责的方式。但是,要授予此权限,必须以某种方式提供管理员凭据。如果恶意软件已经能够给自己分配这个权限/特权,那么您已经有了很多麻烦。

存取令牌

访问令牌是允许线程/进程/用户访问操作系统某些部分的Windows方式。安全令牌几乎传递到Windows中使用的每个较低级别的函数。因为服务通常以更高的权限运行,所以它们被授予创建访问令牌的权限。在与桌面交互时,它们可能是与用户级对象交互。他们将需要为此访问、修改和创建令牌。

所有这些行为都不是不寻常的。服务是具有高系统权限的低级程序。您提到的特权都是服务要拥有的标准特权。因此,许多恶意软件会试图模仿,或者使用服务来访问系统。有关该主题的更多信息,请参见请看我的答案

票数 4
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/68713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档