从 AD 管理员获取当前 SDDL

从 AD 管理员获取当前 SDDL

由于当前的 proxylogon 漏洞,我想比较一下我们的 AD 管理员帐户与 Veeam AD Backup 帐户之间的差异。

我从 Veeam Backup 中获得了一个 ntSecurityDescriptor 字符串,可以使用 Powershell 中的 ConvertFrom-SddlString 命令导入它。

但是我看不到从 AD 获取当前 SDDL 字符串或与 ConvertFrom-SddlString 相同的输出格式的方法。

有人能提示一下比较一下这些变化吗?

答案1

获取 AclSddl在输出上有一个属性,您可以像这样将它用于 AD 对象:

$dn = (Get-ADUser administrator).distinguishedName
(Get-Acl "AD:$dn").Sddl

从那里你也可以转换它ConvertFrom-SddlString。但如果我处于你的位置,我会先比较原始的 Sddl 字符串,如果它们不同,则只进行转换(假设你知道你的备份值是“好的”)。

答案2

感谢 Ryan 的提示!

基于此,我能够将这些物体与类似的东西进行比较:

$oldSddl = "backupSDDLStringHere"
$oldSddlObject = ConvertFrom-SddlString -Type ActiveDirectoryRights $oldSddl
$dn = (Get-ADUser administrator).distinguishedName
$newSddl = (Get-Acl "AD:$dn").Sddl
$newSddlObject = ConvertFrom-SddlString -Type ActiveDirectoryRights $newSddl
Compare-Object -ReferenceObject $oldSddlObject.DiscretionaryAcl -DifferenceObject $newSddlObject.DiscretionaryAcl

这似乎有效,并向我展示了差异。Ryan,是的,Sddl 不同,但这可能是由 CU 更新引起的。

相关内容