由于当前的 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 更新引起的。