备份和恢复每个用户的 Active Directory 密码

Rob*_*erg 8 password active-directory

出于管理目的,我有时需要以其他用户身份登录以诊断其帐户的问题。我希望能够做到这一点而不必更改他们的密码,这样我就不必再打扰他们了。在 Unix 下,我可以从 passwd 文件中保存加密的密码,更改密码,然后将旧的加密密码编辑回 passwd 文件。有没有办法在 AD 中做类似的事情?

Nic*_*Nic 17

由于 MarkM 已经解释了为什么我们不应该替换和恢复用户密码,我将尝试解决系统如何阻止我们进行这些更改。

在 Unix 中,密码哈希最初存储在其中/etc/passwd,任何人都可以读取。意识到这允许任何用户潜在地窃取密码,较新的 Unix 系统存储密码哈希,/etc/shadow其中只能由root.

Windows 遵循了类似的路径。在域环境中,域用户的密码哈希存储在每个域控制器上的 SAM 注册表配置单元中。您可能已经熟悉 HKLM 和 HKCU 等荨麻疹。

从 Windows 2000 开始,SAM 配置单元使用 128 位密码加密密钥进行加密,该密钥本身使用SYSKEY 进行加密。很明显,由于操作系统必须读取配置单元的内容以便在登录时对用户进行身份验证,因此加密密钥必须保存在计算机上的某处。如需更深入地了解所使用的混淆技术,请查看SysKey 和 SAM

Windows 非常努力地防止管理用户能够直接读取/写入散列,并且通常仅 lsass.exeSYSTEM用户能够读取散列时运行。

但是,我相信您已经遇到了绕过这些保护的工具。例如,fgdump能够通过向 中注入代码从实时系统导出密码哈希lsass.exe,尽管这可能会导致整个系统崩溃。并且有多种可启动工具可以在 Windows 未运行时覆盖密码哈希。

尽管理论上可以替换用户密码,但您首先需要绕过 Windows 操作系统内置的各种保护措施。这些方法中的任何一种都有可能破坏您的系统的稳定性,因此绝不能在生产环境中使用。

  • 优秀的答案值得比我更多的投票, (3认同)

MDM*_*rra 12

不,你不能。

深思熟虑:如果您为一家中等规模的公司工作,可能会制定一项政策,禁止 IT(或其他领域)人员在未经其他用户明确同意的情况下冒充其他用户。如果您的公司没有这样的政策,您应该认真考虑。

  • +1 用于解释这不可能的最可能原因 (2认同)

小智 4

尽管您可以备份/恢复 AD 对象,但我从未见过仅使用密码即可完成此操作。

另一种方法是让他们使用 AD 用户和计算机管理工具重置密码。它可以让您绕过重复使用密码的安全限制。