如何查找密码为空的 AD 用户(不需要密码)

Jacki

Active Directory 中经常被忽视的一项安全风险是无需密码(使用空白密码)即可创建用户帐户的能力。在本文中,我们将探讨是否可以创建没有密码的域用户帐户、如何查找此类帐户以及禁用它们。

许多 Active Directory 管理员可能会惊讶地发现,即使默认域密码策略强制执行,也可以存在密码为空的域帐户。最小密码长度已启用。

如果PASSWD_NOTREQD为用户帐户启用属性,该帐户可能能够设置密码为空尽管域的密码策略要求最小密码长度。 PASSWD_NOTREQD 属性不是 Active Directory (AD) 中用户类的单独属性。它存储在复合属性的值中用户帐户控制(是一个位掩码,其中每个位都是代表特定用户帐户属性的标志,例如禁用、锁定、密码永不过期等)。

首先,我们来看看如何为AD用户帐户设置空密码。使用 Set-ADUser PowerShell cmdlet 为用户启用 PasswordNotRequired 属性。

有关的:修复 Exchange Server 上的 ECP/OWA 登录后的空白页

Get-ADUser novach | Set-ADUser -PasswordNotRequired $true

现在让我们检查该帐户是否不再需要密码。

Get-ADUser novach -Properties *| select name,PasswordNotRequired

Active Directory 用户和计算机图形管理单元 (dsa.msc) 还可用于禁用用户的密码要求。打开 ADUC 中的用户属性。转到属性编辑器选项卡并编辑 UserAccountControl 属性的值。通过添加启用 PASSWD_NOT_REQD 选项32(十进制)为属性的当前值。

例如,该属性的初始值为 66048。该值是 NORMAL_ACCOUNT 属性的总和 (第512章)和 DONT_EXPIRE_PASSWORD 属性(65536)。添加32更改为当前值以为此帐户启用 PASSWD_NOT_REQD 标志。结果是66080

一旦为用户启用了 PASSWD_NOT_REQD 属性,他将无法为自己设置空密码(使用标准用户密码更改过程)。但是,域管理员、帐户操作员组的成员或具有委派 AD 管理权限以更改其他帐户密码的用户可以将用户密码重置为空白。

打开 ADUC 管理单元,右键单击用户,然后选择重置密码。不要输入新密码并将密码字段留空。

在这种情况下,AD 密码策略不会阻止创建空白密码。用户现在可以通过在登录屏幕上选择其帐户并按 Enter 键,使用空白密码登录已加入 Windows 域的计算机

具有空白密码的用户可能会损害域安全,因为它们很容易被检测到。

为了防止创建没有密码的用户,管理员必须监视域中启用了 PASSWD_NOTREQD 属性的用户。使用以下 PowerShell 语句列出所有此类用户:

Get-ADUser -Filter {PasswordNotRequired -eq $true} -properties LastLogonTimestamp, PasswordNotRequired | ft SamAccountName,enabled, PasswordNotRequired , @{n=’LastLogonTimestamp’;e={[DateTime]::FromFileTime($_.LastLogonTimestamp)}}

重置密码并禁用找到的用户的“不需要密码”选项。

Set-ADAccountPassword novach -Reset
Get-ADUser -Identity novach | Set-ADUser -PasswordNotRequired $false -ChangePasswordAtLogon $true

通过实施禁止弱密码的附加过滤器来提高 Active Directory 密码策略的安全性。