通过LDAP查询AD支持的Kerberos加密模式

通过LDAP查询AD支持的Kerberos加密模式

简而言之:我需要一种方法来检索 Microsoft DC 的网络安全策略中允许的加密模式。

加密模式对于在主机的本地密钥表中为服务主体创建正确的密钥集至关重要。

用户帐户具有将模式作为位集的属性msDS-SupportedEncryptionTypes。Windows 管理员可以通过某些输入表单配置此功能。但是,“计算机帐户”缺少此属性,除非手动在 LDAP 中设置该属性。而且没有类似的输入表单。

现在,根据官方文档 每个“计算机帐户”都从本地策略继承该设置。我想我需要通过 LDAP 查找此策略。但是怎么做呢?

答案1

根据这个其他 msdn 博客所有计算机帐户都具有此属性,但旧系统(Vista/2008 之前的系统)不填充它。快速浏览 AD 中的计算机对象就会看到这些属性,使用 active-directory 模块在 powershell 中执行此操作非常简单(因此启动 powershell 并使用“import-module activedirectory”加载模块):

get-adcomputer -properties msDS-SupportedEncryptionTypes -filter *

就是这样,您将获得具有属性的对象列表。 在我的例子中,我得到了“28”(显然对应于“RC4”,“AES128”,“AES256”)

答案2

我有几件东西可能会有所帮助。

在从事一个密码项目时,我注意到许多项目不断以比当前更安全的版本(比如 AES256)更旧的类型出现,我通过网络扫描收集了这些结果。这可以通过测试绑定到 AD 对象(例如用户或计算机对象)的 SPN 来看到。但最终所有道路都会将您带回到 AD 项目。

测试命中,例如 CIFS/TEST,使用 powershell 代码将演示 spn 添加到测试计算机对象

klist purge 添加类型 -AssemblyName System.IdentityModel $SessionKey = New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList CIFS/test -ErrorAction SilentlyContinue klist

客户端:管理员@ DOMAIN1.INT 服务器:CIFS/test@ DOMAIN1.INT KerbTicket 加密类型:RSADSI RC4-HMAC(NT) 票证标志 0x40a10000 -> 可转发可再生 pre_authent name_canonicalize 开始时间:2022 年 3 月 17 日 23:52:52(本地) 结束时间:2022 年 3 月 18 日 9:52:52(本地) 续订时间:2022 年 3 月 24 日 23:52:52(本地) 会话密钥类型:RSADSI RC4-HMAC(NT)

在测试 AD 中查找测试计算机对象,然后向 DSA.MSC 添加高级视图,这是到值集 msDS-SupportedEncryptionTypes 的直接链接,如上述两个回复所添加的。100% 正确。现在可以通过对象 AD 中的这个属性使用更强级别的密码。

https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/decrypting-the-selection-of-supported-kerberos-encryption-types/ba-p/1628797

我做了一些测试,公平地说,当你选择一个有 RC4 和 AES 的值时,总是会选择最强值,即使你使用 AES 128 和 256,服务器也会使用最强值。

例如,当我将 AD 计算机对象上的“不是用户帐户”的值设置为 23 - DES_CBC_CRC、DES_CBC_MD5、RC4、AES 256

#1> 客户端:administrator@DOMAIN1.INT 服务器:CIFS/test@DOMAIN1.INT KerbTicket 加密类型:AES-256-CTS-HMAC-SHA1-96 票证标志 0x40a10000 -> 可转发可再生 pre_authent name_canonicalize 开始时间:2022 年 3 月 18 日 0:00:33(本地) 结束时间:2022 年 3 月 18 日 10:00:33(本地) 续订时间:2022 年 3 月 25 日 0:00:33(本地) 会话密钥类型:AES-256-CTS-HMAC-SHA1-96

请注意,这只是有限的测试,所以不要逃跑并开始将其带入现实世界:)只是想与大家分享一些事情。

相关内容