ds: useraccountcontrol passwd notreqd

sometimes when something gets far enough under your skin, you have to go looking for an answer. i've seen this flag come up quite a few times running oldcmp dumps. well, i finally got sick of just saying... "i don't know" and started looking for the answer. also, i couldn't really find any sources of information that specified conditions or anything like that. so ... it made a perfect topic. many thanks to the brilliant minds on the activedir.org mailing list and at microsoft.

alright, so when does this occur? you can't set a user account this way through aduc so you can rule out that someone accidentally did this mousing around. it seems that if you create an account through adsi and don't specify a password, you'll end up with a uac value of 546. (if you don't understand uac values, skim over this article.)

546 basically translates to:

  • normal user (512)
  • disabled account (2)
  • password not required (32)

it seems kind of odd not to require a password in this scenario. it was done, from what i gather, for ease of use. well, don't be terribly alarmed. the security risk isn't as great as you may think, though it does still exist. so at this point, the account cannot be enabled without a password. if the user tries to change their password, they'll be subject to domain policy. as long as there's a minimum character requirement, the password can't be a null value. sounds fine so far. the problem is, anyone with access to reset/change the user's password, can set the value to null. here's a useful adfind/admod command to remove the passwd_notreqd flag (courtesy of activedir grey matter):

adfind -default -bit -f "(&(objectCategory=person)(objectClass=user)(userAccountControl:AND:=32))" userAccountControl -adcsv | admod userAccountControl::{{userAccountControl::CLR::32}} -unsafe
make sure to view this page in ie. it won't show up right in firefox.

Comments