gpt4 book ai didi

hash - 将 Active Directory 密码哈希设置为 SHA1 值?

转载 作者:行者123 更新时间:2023-12-04 21:25:52 26 4
gpt4 key购买 nike

我正在将用户从外部系统同步到我们的系统中。我需要在我们的 Active Directory 中设置用户的密码。

我只提供了外部用户密码的 SHA1 和 setPassword将散列我输入的任何内容。

  • 正在设置用户的 unicodePwd实际的哈希字段?
  • 如果是这样,我可以将它设置为提供的哈希吗?
  • 如果没有,我如何/如何设置 Active-Directory 存储的哈希?
  • 最佳答案

    AD 不只存储一种类型的哈希。当您更改密码时,DC 会收到密码的明文版本,检查其复杂性,然后生成并存储 MD4、MD5、PBKDF2(4096 * SHA1)和其他几种哈希值。这是因为每种身份验证机制(NTLM、Kerberos、Digest 等)使用不同的哈希函数,并且 AD 需要支持所有这些机制。

    密码哈希存储在以下 AD 属性中:unicodePwd、dBCSPwd、lmPwdHistory、ntPwdHistory 和补充凭据。出于安全原因,您无法通过 LDAP 或 ADSI 读取它们。但我最近找到了一种检索它们的方法并创建了一个 PowerShell cmdlet可以做到这一点:

    Get-ADReplAccount -SamAccountName John -Domain Contoso -Server LON-DC1

    还有一种记录不足的方法可以通过旧版 SAMR protocol 将 MD4 哈希(AKA NT 哈希)推送到工作站或 AD。 .由于没有公开此功能的内置命令,我创建了 PowerShell cmdlets也这样做。

    要生成 NT 哈希,您可以使用以下 PowerShell 命令:
    $hash = ConvertTo-NTHash (Read-Host -AsSecureString)

    最后,此命令将 NT 哈希推送到 AD:
    Set-SamAccountPasswordHash -SamAccountName john -Domain ADATUM -NTHash $hash -Server dc1.adatum.com

    这些命令可用于在本地帐户和域帐户之间或 AD 和 Samba 之间迁移密码。但请注意,Kerberos-AES 和 WDigest 身份验证不适用于此帐户,仅适用于 NTLM 和 Kerberos-RC4。

    关于hash - 将 Active Directory 密码哈希设置为 SHA1 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305291/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com