如何查找密碼為空的 AD 用戶(不需要密碼)

Jacki

Active Directory 中經常被忽視的一項安全風險是無需密碼(使用空白密碼)即可創建用戶帳戶的能力。在本文中,我們將探討是否可以創建沒有密碼的域用戶帳戶、如何查找此類帳戶以及禁用它們。

許多 Active Directory 管理員可能會驚訝地發現,即使默認域密碼策略強制執行,也可以存在密碼為空的域帳戶。最小密碼長度已啟用。

如果PASSWD_NOTREQD為用戶帳戶啟用屬性,該帳戶可能能夠設置密碼為空儘管域的密碼策略要求最小密碼長度。 PASSWD_NOTREQD 屬性不是 Active Directory (AD) 中用戶類的單獨屬性。它存儲在復合屬性的值中用戶帳戶控制(是一個位掩碼,其中每個位都是代表特定用戶帳戶屬性的標誌,例如禁用、鎖定、密碼永不過期等)。

首先,我們來看看如何為AD用戶帳戶設置空密碼。使用 Set-ADUser PowerShell cmdlet 為用戶啟用 PasswordNotRequired 屬性。

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

推薦閱讀:修復 Exchange Server 上的 ECP/OWA 登錄後的空白頁

通過實施禁止弱密碼的附加過濾器來提高 Active Directory 密碼策略的安全性。