放开我的账户!

admin 2021年3月1日19:00:34评论92 views字数 1013阅读3分22秒阅读模式

译文声明
本文是翻译文章,文章原作者Decoder's Blog
原文地址:https://decoder.cloud/2020/11/05/hands-off-my-service-account/
译文仅供参考,具体内容表达以及含义以原文为准

Windows服务帐户是特权升级的首选攻击方向之一。如果您能够盗用此类帐户,则获得最高特权非常容易,这主要是由于操作系统默认将强大的模拟特权授予服务。

即使Microsoft引入了WSH(Windows服务强化),也并没有“降低”标准Windows服务的功能,但是,如果您需要构建或部署第三方服务,则可以通过使用WSH实现。

在这篇文章中,我将向您展示一些有用的技巧。

利用虚拟帐户

显然,服务必须使用特定帐户运行。有一些内置的Windows帐户,例如SYSTEM,Local Service和Network Service。但是也可以使用虚拟账户(无需处理密码)的功能(我在本文中不会写“ Group Managed Service Accounts ”),并且您可以通过设置正确的权限来授予特定权限ACL位于资源上。这使您能够隔离服务,如果发生危害,它们只能访问您允许的资源。虚拟帐户也可以访问网络资源,但是在这种情况下,它们将模拟计算机帐户(COMPUTERNAME $)

使用虚拟帐户配置服务

首先,您不需要创建VSA,在安装服务后,将自动以以下形式为您创建一个匹配帐户:

NT SERVICE \ <服务名称>

您所需要做的就是将帐户分配给您的服务:

放开我的账户!

不要忘记将密码字段留空!

限制对虚拟帐户的访问

现在,您的服务是在特定帐户下运行的,而不是像Local Service或Network Service这样的通用帐户,您可以对文件和目录等资源实施细致的访问控制:

放开我的账户!

放开我的账户!

放开我的账户!

删除不必要的特权

模拟特权是一场噩梦,因此,如果您的服务不需要模拟,为什么我们应该将服务授予该用户?

放开我的账户!

是否可以删除此默认特权?有个好消息,是的!我们可以直接在注册表中或使用“ sc.exe”命令进行配置:

放开我的账户!

这些值将被写入注册表:

放开我的账户!

让我们看看特权是否被删除:

放开我的账户!

放开我的账户!

哦,是的!危险的特权已被删除,再也无法将他重新找回。

写受限令牌

如果将此额外的组添加到服务令牌中,则可以进一步限制服务帐户的权限。

放开我的账户!

放开我的账户!

这意味着默认情况下,您只能读取或执行资源,除非您明确授予写访问权限:

放开我的账户!

放开我的账户!

在Forshaw的帖子中可以找到有关写限制令牌的出色研究。

结论

我希望这篇简短的帖子对需要保护Windows系统的我们有用。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年3月1日19:00:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   放开我的账户!https://cn-sec.com/archives/246783.html