本文共 4362 字,大约阅读时间需要 14 分钟。
在域内任何一台机器上通过powershell脚本对域中对一些基本问题进行检测,检测的目标点如下:
本文会对不同对检测点给出基本对防护策略,使用的时候建议多跑几遍脚本。
使用的时候可以在域控上直接使用,也可以在域内普通电脑上使用,不过需要下载AD管理模块跟组策略管理模块。
#可通过下述命令在powershell中下载组策略管理模块,通过在Microsoft.ActiveDirectory.Management.dll,脚本文件Invoke-TrimarcADChecks.ps1跟ad管理模块在同一个链接下载。
使用命令:
Set-ExecutionPolicy Bypass -Scope Processimport-module ./Microsoft.ActiveDirectory.Management.dllGet-WindowsCapability -Name RSAT* -Online | Select-Object -Property Name, StateAdd-WindowsCapability -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0 –Online;whoami.\Invoke-TrimarcADChecks.ps1
有可能产生隐患的点:
下图显示在test.com域内,有三个账户被识别为不活跃用户,有六个用户账户有history SID。
加固方案:以上大多数设置都能在域控上的用户与计算机功能直接配置,示例图如下:
域密码策略决定了域内的密码规则,例如密码的位数以及多久更改一次密码。
下图显示,锁定持续时间为30分钟,锁定观察窗口为30分钟,不锁定入口,密码最长使用期限42天,最短1天,最短长度为1,密码历史为24个,密码复杂度未开启,可逆加密未开启。
加固方案:
建议设置定期更改密码例如3月一次,然后密码长度大于14且满足复杂度要求。Tombstone lifetime这个值的默认值为180,AD可以备份自己的数据,然后在适当的时候进行恢复,这个功能需要提前添加,默认是没有的。
备份的数据有效期就是Tombstone lifetime,单位是天。例如Tombstone lifetime为180,备份的数据在180天后就无法恢复了。
下图显示我的机器的Tombstone lifetime是60,且备份时间为2020年8月21日:
加固方案:
Tombstone lifetime设置的长一点,以备不时之需。确保至少每月在AD林中的角色持有者上运行一次系统状态备份,并保持至少6个月,FSMO角色可以理解成对整个域对某些功能具有管理权限的人,这些人的所有功能结合到一起就是一个完整的域。一个AD的森林是这个AD域的安全边界,当其被配置ad森林的时候安全边界也就会改变,所以有必要了解其配置情况。
查看CSV文件发现是空文件,证明没有信任其他的ad域。加固方案:
一般情况如果有重复的SPN,则利用kerberos认证访问此服务就会出错,但KRBTGT账号相关的spn可以是重复的
。
加固方案:
除了krbtgt账号的spn外
,确保没有重复的spn,可以使用SetSPN -X -F
命令查找重复SPN。 SPN格式为serviceclass/host:port/servicename
• serviceclass可以理解为服务的名称,常见的有www, ldap, SMTP, DNS, HOST等 • host有两种形式,FQDN和NetBIOS名,例如server01.test.com和server01 • 如果服务运行在默认端口上,则端口号(port)可以省略
参考文章:
老版本的域中,域管在域控上利用组策略批量下发计划任务或者更改域内主机密码的时候,会填写一个叫做“运行身份”的字段,会在其中填入自己的用户名密码,这个密码会被保存在sysvol这个共享文件夹中,这个文件夹域内任意用户都能访问。若被黑客访问了的话,会盗取域管的账号密码,这也是所谓的GPP漏洞,下图显示当前主机可以访问到这两个组策略配置文件,可以将权限设置成普通用户无法访问最安全。
可以在powershell中执行下述命令来快速检查:
Findstr /S /I cpassword [SYSVOL_PATH]
加固方法:
0、使用高版本的域控制器,版本大与2012. 1、使用LAPS批量管理域内主机本地管理员帐户 2、域控安装补丁KB2962486 3、不在组策略中使用域控密码 4、设置共享文件夹\ SYSVOL的访问权限,使得普通用户不能访问最好。 5、使用PsPasswd批量修改域内部主机本地管理员密码参考文章:
识别出ad admins组的账户,并显示其部分信息。
加固方法:
1.定期(每年)更改密码 2.禁用不活跃帐户 3.删除被禁用的账户 4.确保普通用户没有配置spn 5.删除无用的主机帐户 6.审查服务帐户保护组中的账号会有更多的安全选项,所有的ad admin组账号应该被添加到protect group,下图的配置中发现保护组成员一个人都没有,是十分不安全的配置。
长时间不改密码的ad admins组的成员也是十分危险的,且旧密码通常效果不佳,更容易猜出来。密码喷洒和Kerberoasting是目前常用的针对缺乏强密码的账户的攻击方法,定期更改密码能有效对抗这种攻击,可以根据passwordlastset字段来判断密码更改情况。
如上图属于数据缺失,一般是因为过久没有更改密码。加固方案:
1.确保特权帐户密码每年更新一次。若ad admin组成员被设置了spn,那么攻击者有可能使用kerberoasting攻击
来对其密码进行离线爆破。
下图显示ad admin无账户配置spn。
加固方案:
1.确保高权限用户账户
无spn 2.定期更改服务账户密码且密码强度有保障例如大于25位,如果不是必须,请不要将服务账户加入到ad admin组。 默认域账户是域控上的administrator账户,如果有其他域管账户,则默认的域控账户应该被禁用。
加固方案: 1.确保账号密码最少一年一次 2.确保默认域管账户没有spn定时检测特权用户或者换组的成员,看是否跟预期的一致。
本地管理员组,对本地的电脑具有完全控制权限。
默认权限:
1.AD admin权限 2.DC admin 权限默认权限:
对整个域具有完全控制权。默认权限:
在整个域林中都有完全控制权限。此权限在单个域林中应保持为空。这个组实际上等同于域管理员组。
这个组应该永远为空,这个组的用户对域中绝大多数用户拥有权限。
如果域环境放在了vmware环境中,那么控制了vmware admins组成员,相当于就控制了这个域环境。
KRBTGT账户没有定期改动的话,很久之前的黄金票据可能还能够使用,这是十分不安全的,定期改动krbtgt可以在一定程度上对抗黄金票据,如下图显示,很久没改动了。
不安全的委派配置可能会导致被攻击者利用。
1.组策略拥有者权限检查
修改组策略是一个很重要的权限,几乎等于控制整个域。 加固方案: 确保将所有GPO所有者设置为域管理员或企业管理员,特别是链接到域根和域控制器OU的GPOs。加固方案:
1.检查域根权限,特别注意以下事项:任何非默认的管理组(域管理员、域管理员、企业管理员等),具有GenericAll(完全控制)、WriteDACL(更改权限)、写属性(修改)和扩展权限。2.确保域根所有者被配置为域管理员或企业管理员。
尽量让域控的版本大于2012,否则一些安全配置可能会不够有效。
所有AD林应该与DC版本匹配。
加固方案: 确保所有域控制器都已更新到windows Server 2012 R2或更新版本,并将“DFL/FFL”设置为2012 R2或更新版本。转载地址:http://wqraf.baihongyu.com/