通过将用户添加到 WinRMRemoteWMIUsers 来影响 Powershell 远程处理的安全问题

通过将用户添加到 WinRMRemoteWMIUsers 来影响 Powershell 远程处理的安全问题

在我们当前的工作流程中,我们必须通过 RDP 连接到多个服务器才能知道服务是否正常运行。我们没有管理员权限但可以查看、启动和停止服务。

我们想改用 Powershell Remoting。例如

 (1..8)|%{gsv -c "server$($_" -n "*ourservice*"}

将会更加容易和快捷。

我是否正确地将我们的用户添加到WinRMRemoteWMIUsers组中

  • 我们可以执行命令(我们的担忧)
  • 我们无法对系统做任何事,因为现在我们无法通过 RDP 来做这些事(安全管理部门的担忧)

编辑

以下内容摘自《Powershell Remoting 的秘密》,似乎解决了安全问题

powershellorg · PowerShell 远程处理的秘密

PowerShell 和远程处理都不是恶意软件的“后门”

这是一个重大误解。请记住,默认情况下,PowerShell 不会执行脚本。当它执行脚本时,它只能执行执行用户有权运行的命令 - 它不会在超级特权帐户下执行任何操作,也不会绕过现有权限或安全性。

底线:由于其工作方式,PowerShell Remoting 不允许任何用户(无论是否授权)执行他们无法通过其他方式执行的任何操作

答案1

我们无法对系统做任何我们现在无法通过 RDP 做的事情(安全管理层的担忧)。

风险在于,如果该组中的帐户被盗用,攻击者可能会通过 PowerShell 获得访问权限。您需要根据您的环境来评估该访问的风险和补偿控制。


回答您的后续问题,我认为没有人能给出一般性的假设/结论,即该帐户也可以使用 RDP 登录。如果帐户/服务器配置为需要智能卡,则他们无法使用 RDP 登录。

安全是关于评估风险和实施补偿控制。建设性的反建议可能是建议:

  • 使用防火墙将 PowerShell Remoting 的网络访问限制到特定的管理计算机/跳转主机 (tcp/5985 和/或 tcp/5986)。
  • 使用组策略限制/强制 WinRMRemoteWMIUsers 的成员身份为特定域组。
  • 仅允许授权帐户成为那些特定域组中的成员。
  • 实施对 PowerShell/WinRM/WinRS 活动的审计,并将这些事件日志发送/包含在安全团队发送回中央事件日志收集器的事件中(假设他们这样做)。PowerShell 和 WinRM 的内置事件日志在这方面实际上相当薄弱,但您可以使用SysInternals SysMon为此。以下是示例:

PowerShell Remoting 示例事件命令行:

SysMon PS远程审计

WinRS 示例事件命令行:

SysMon WinRS 审计

相关内容