有 SID 历史记录
说明
源安全主体在其 SIDHistory 属性中具有目标安全主体的 SID,这意味着源与目标具有相同的权限。
SID 历史记录是一个在域之间迁移安全主体时使用的合法机制,目的在于保持所有授权参考其之前的 SID 功能。
但是,这也是攻击者使用的持久性机制,因为它允许谨慎的后门帐户具有与所需目标(例如管理员帐户)相同的权限。
渗透利用
危害源安全主体的攻击者可直接作为目标安全主体进行身份验证,因为目标的 SID 显然已添加到 Active Directory 身份验证机制生成的令牌中(NTLM 和 Kerberos)。
修复
如果源和目标安全主体与经过批准的域迁移有关,则可将此关系视为合法关系,并且无需执行任何操作。此关系仍然可做作为潜在攻击路径提示显示。
如果原始域在迁移后被删除,或者未在 Tenable Identity Exposure 中进行配置,则目标安全主体将被标记为未解析。由于风险存在于目标中而该目标不存在,因此不存在风险,无需修复。
相反,与本机特权用户或组的 SID 历史记录关系很可能是恶意的,因为 Active Directory 阻止此类关系的创建。这意味着此类关系很可能是使用“DCShadow”攻击等黑客技术创建的。也可以在与“SID 历史记录”相关的 IoE 中找到这些案例。
如果是这样,Tenable Identity Exposure 建议对整个 Active Directory 林进行取证检查。原因是攻击者必须已经获得高特权(域管理员或同等特权),才能恶意编辑源的 SID 历史记录。取证检查有助于通过相应的修复指南分析攻击,并确定要删除的潜在后门程序。
最后,Microsoft 建议修改所有服务(SMB 共享、Exchange 等)中的所有访问权限,以便在此迁移完成后使用新的 SID,同时删除不必要的 SIDHistory 值。这是内务处理的最佳做法,但详尽无遗地识别并修复所有 ACL 非常困难。
有权编辑源对象本身上的 SIDHistory 属性的用户可以删除 SIDHistory 值。与创建相反,此操作无需域管理员权限。
为此,只能使用 PowerShell,原因是 Active Directory 用户和计算机等图形工具将会失败。示例:
Set-ADUser -Identity <user> -Remove @{sidhistory="S-1-..."}
注意:虽然删除 SIDHistory 值十分容易,但恢复此操作却非常复杂。这是因为必须重新创建 SIDHistory 值,而这要求存在可能已停用的其他域。因此,Microsoft 还建议准备快照或备份。
另请参阅