大家都知道域用户是什么,就是域环境中的用户。和本地用户的帐户不同,域用户帐户保存在活动目录中。由于所有的用户帐户都集中保存在活动目录中,所以使得集中管理变成可能。
我们知道,在工作组环境中,所有计算机是独立的,要让用户能够登录到计算机并使用计算机的资源,必须为每个用户建立本地用户帐户。而在域环境中,一个域用户可以在域中的任何一台计算机上登录,域用户可以不再使用固定的计算机。当计算机出现故障时,域用户可以登录到另一台计算机上继续工作,这样也使帐号的管理变得简单。
域用户账户是在域内全局组DomainUsers组中,本地用户账户在本地User组中。当计算机加入域时,会把DomainUsers组添加到本地的User组中。因此域用户可以在域中的任何一台计算机上登录。
域用户的部分属性
在下图创建用户时可以看到用户有很多属性,如姓、名、展示名等:
这些属性都可以在ActiveDirectory里面都可以查到:
姓对应的属性为sn:
Adfind.exe-b"CN=JakeWilliam,CN=Users,DC=whoamianony,DC=org"sn#将该用户设为BaseDN进行查询
名对应的属性为givenName:
Adfind.exe-b"CN=JakeWilliam,CN=Users,DC=whoamianony,DC=org"givenName
展示名(姓名)对应的属性为displayName:
Adfind.exe-b"CN=JakeWilliam,CN=Users,DC=whoamianony,DC=org"displayName
值得注意的是,这个displayName虽然跟域用户名往往一样,但是不能用于登陆。
用户创建时间对应的属性为whenCreated:
Adfind.exe-b"CN=JakeWilliam,CN=Users,DC=whoamianony,DC=org"whenCreated
用户设置密码的时间对应的属性为pwdLastSet
Adfind.exe-b"CN=JakeWilliam,CN=Users,DC=whoamianony,DC=org"pwdLastSet
用户上次登录时间对应的属性为Lastlogon:
Adfind.exe-b"CN=JakeWilliam,CN=Users,DC=whoamianony,DC=org"Lastlogon域用户的userAccountControl属性
还记得这个userAccountControl属性吗?我们之前在《内网渗透测试:活动目录ActiveDirectory的查询》中讲ActiveDirectory的按位查询时就是用的userAccountControl属性这个位字段做的实例。
userAccountControl属性记录了域用户账号的很多属性信息,该字段就是一个的位字段,其是由一个个位构成的:
PropertyflagValueinhexadecimalValueindecimalSCRIPT0xACCOUNTDISABLE0xHOMEDIR_REQUIRED0x88LOCKOUT0xPASSWD_NOTREQD0x3PASSWD_CANT_CHANGE0xENCRYPTED_TEXT_PWD_ALLOWED0xTEMP_DUPLICATE_ACCOUNT0xNORMAL_ACCOUNT0x51INTERDOMAIN_TRUST_ACCOUNT0x0848WORKSTATION_TRUST_ACCOUNT0x14096SERVER_TRUST_ACCOUNT0x819DONT_EXPIRE_PASSWORD0x10MNS_LOGON_ACCOUNT0x013107SMARTCARD_REQUIRED0x406144TRUSTED_FOR_DELEGATION0x80NOT_DELEGATED0x1001048576USE_DES_KEY_ONLY0x9715DONT_REQ_PREAUTH0x4004194304PASSWORD_EXPIRED0x8008388608TRUSTED_TO_AUTH_FOR_DELEGATION0x11677716根据每一位的名称便可以猜出这些位的含义了。比如,我们想查询所有设置了密码永不过期的用户:
Adfind.exe-bdc=whoamianony,dc=org-f"(userAccountControl:AND:=)"-bit-dn#DONT_EXPIRE_PASSWORD0x10
查询所有设置了约束委派的用户:
Adfind.exe-bdc=whoamianony,dc=org-f"(userAccountControl:AND:=)"-bit-dn#TRUSTED_FOR_DELEGATION0x80查询域用户
当我们拥有一个域用户的权限时,可以枚举域内的所有用户,此时主要有两个方法。
通过SAMR协议查询
netuser/domain
通过ActiveDirectory查询
Adfind.exe-bdc=whoamianony,dc=org-f"((objectCategory=person)(objectClass=user))"-dn机器用户
即机器账号、计算机账号,所有加入域的主机都会有一个机器用户,用户名为机器名加,如:WIN7、WINXP。在域环境中,普通域用户最多可以创建10个计算机账户,但是本地账号不能创建计算机账户。
默认情况下,加入域的机器默认在CN=Computers这个容器里面:
而域内的域控则都在DomainControllers这个容器下。
机器用户跟SYSTEM用户的关系当你在ActiveDirectory中随便打开DomainComputer中的一台主机,查看其objectClass便可以发现他是