跳转至

可逆加密

对手可能会滥用 Active Directory 认证加密属性,以获取 Windows 系统上的凭据。AllowReversiblePasswordEncryption 属性指定是否启用或禁用账户的可逆密码加密。默认情况下,此属性被禁用(而是将用户凭据存储为单向哈希函数的输出),除非需要遗留或其他软件,否则不应启用。(引用: store_pwd_rev_enc) 如果启用此属性和/或用户在启用后更改其密码,对手可能能够获取在启用此属性后创建/更改的密码的明文。要解密密码,对手需要四个组件: 1. 来自 Active Directory 用户结构 userParameters 的加密密码 (G$RADIUSCHAP) 2. 也是来自 userParameters 的 16 字节随机生成值 (G$RADIUSCHAPKEY) 3. 全局 LSA 密钥 (G$MSRADIUSCHAPKEY) 4. 硬编码在远程访问子认证 DLL (RASSFM.DLL) 中的静态密钥 有了这些信息,对手可能能够重现加密密钥,并随后解密加密的密码值。(引用: how_pwd_rev_enc_1)(引用: how_pwd_rev_enc_2) 对手可能通过本地组策略编辑器、用户属性、细粒度密码策略 (FGPP) 或通过 ActiveDirectory PowerShell 模块在各种范围内设置此属性。例如,如果域功能级别设置为“Windows Server 2008”或更高,对手可能会实施并应用 FGPP 到用户或组。(引用: dump_pwd_dcsync) 在 PowerShell 中,对手可能使用类似 Set-ADUser -AllowReversiblePasswordEncryption $true 的命令对用户设置进行相关更改。