模拟 Windows 域中的计算机

信息安全 视窗 领域 域控制器
2021-09-07 10:20:23

我一直在努力思考如何识别计算机并授予对 Windows 域的访问权限。更具体地说,我一直在问自己,所涉及的任何机制是否真的可以防止伪造计算机的身份,如果是,那么如何?

假设一个人可以完全访问已经在域中的计算机,我认为域控制器用于识别的任何信息都可以复制到另一台计算机上。

(据我了解,识别域中的计算机是一个 LSA 共享机密。根据此 Technet 博客,可以解密和提取 LSA 共享机密。)

根据这个关于服务器故障的关于将已擦除的计算机重新加入到它曾经所在的域的问题的答案,以及关于信息安全的这个关于类似主题的问题,即使是现有的身份也不可能让计算机假设在 Windows 域中。

如果这是真的,我想知道这个预防机制背后的原理。上述链接中给我的答案不包含足够的洞察力。

如果上述声明是错误的,并且实际上在适当的情况下可以伪造域中计算机的身份,那么我想总结一下将涉及哪些步骤。

预先感谢您为帮助我所做的任何努力。

1个回答

当工作站加入域时,会发生以下情况:

  • Workstation 创建一些随机密码,要求域控制器创建机器帐户并将其与此密码相关联。用户帐户必须具有“将计算机添加到域”权限,域管理员确实具有此权限。
  • 由于 Windows 内部不使用名称,而是为任何帐户使用 SID,工作站 sid 可以psgetsid/en-us/magazine/ff848710.aspxunicodepwd
  • 机器将密码存储在HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets\$MACHINE.ACC. 只能NT AUTHORITY\SYSTEM访问此蜂巢。甚至本地管理员也没有(我敢肯定,这不是注册表权限,它是 Windows 中硬编码的东西)。

  • DC 和工作站定期更改密码。有趣,但旧密码也存储在那里(oldVal子键)。通行证可以手动重置:https: //support.microsoft.com/en-us/kb/260575

此处描述了此过程: https ://blogs.technet.microsoft.com/askds/2009/02/15/machine-account-password-process-2/

由于帐户的所有密码都存储在此配置单元中HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets并且只能NT AUTHORITY\SYSTEM访问此配置单元,因此文章中的人员使用 powershell 将其进程模拟到此帐户。您可以对 执行相同的操作psexec -i -s cmd.exe,然后它们会regedit从那里启动。打开$MACHINE.ACC并检查它CurrVal

此配置单元还存储有关每个帐户具有的安全权限的信息,所有这些都是本地安全策略的一部分(请参阅https://msdn.microsoft.com/en-us/library/windows/desktop/ms721785(v=vs.85 ).aspx ) 由lsass.exe.

因此,要伪造 PC,您至少应该能够:

  • 登录它
  • 能够运行代码NT AUTHORITY\SYSTEM(是本地管理员并使用类似的工具psexec
  • $MACHINE.ACC
  • 读取它的 sid (with psgetsid)

在另一台机器上

我不确定是否足以伪造 PC,但即使这件事看起来也不是很容易:至少您需要另一台 PC 上的本地管理员权限来模拟系统,而优秀的 IT 永远不会给您这种访问权限。