修复 CVE-2013-3900(EnableCertPaddingCheck)
在使用 Tenable/ Nessus 进行经身份验证的漏洞扫描期间,我在托管于 Microsoft Azure 的 Windows Server 2019 Datacenter 实例上发现了 CVE-2013-3900。该扫描利用有效的管理凭据执行了深度检查,确认了此漏洞在操作系统层面的存在。
CVE-2013-3900 是一个 WinVerifyTrust 签名验证漏洞,攻击者可利用该漏洞绕过数字签名验证,尤其是通过恶意修改的 PE 文件。
为缓解此漏洞,我计划应用 Microsoft 推荐的注册表级修复方案,该方案强制执行更严格的签名验证。 我还将验证此缓解措施能否在我们的环境中安全应用,而不会破坏应用程序兼容性。
在使用 Tenable/ Nessus 进行凭据/经身份验证的漏洞扫描期间,内部扫描引擎在托管于 Microsoft Azure 的 Windows Server 2019 Datacenter 实例上标记了 CVE-2013-3900 —— 一个已知的高严重性漏洞。 Nessus 将此漏洞归类为高危(High),因为它能够绕过数字签名验证,使恶意负载看似可信代码。 使用 Nessus 的初始内部扫描结果如下所示:
为缓解此漏洞,已应用以下注册表级配置:
搜索 cmd,右键单击“命令提示符”,然后选择“以管理员身份运行”。
reg add "HKLM\Software\Microsoft\Cryptography\Wintrust\Config" /v EnableCertPaddingCheck /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config" /v EnableCertPaddingCheck /t REG_DWORD /d 1 /f
这些注册表键通过将 EnableCertPaddingCheck 设置为 1 来启用严格的证书填充检查,从而防止攻击者利用已签名 PE 文件中的填充缺陷。
已执行系统重启,以确保更改在所有进程和服务中生效。
在成功的凭据扫描之后,我们现在可以观察到该漏洞已被消除,如下所示:
修复完成后,后续的经身份验证的 Nessus 扫描确认 CVE-2013-3900 已被完全解决。
⚠️ 未修补 CVE-2013-3900 的风险:
CVE-2013-3900 是一个严重的隐蔽攻击向量,它破坏了数字签名软件的可信模型。通过及时的修复和验证,该系统现已针对此威胁完成加固。
定期进行凭据扫描,并结合补丁验证与配置强制实施,仍是我们漏洞管理计划的核心支柱。