欢迎来到数据安全前沿

数据安全前沿

SolarWinds Web Help Desk 漏洞攻击者可访问存储的密码,PoC 已发布

时间:2025-11-26 22:43:30 出处:电脑教程阅读(143)

SolarWinds 的洞攻 Web Help Desk 软件中存在一个严重漏洞(CVE-2024-28989) ,攻击者可以通过其 AES-GCM 实现中的可访加密弱点解密敏感凭据,包括数据库密码和 LDAP/SMTP 认证密钥 。问存该漏洞在 12.8.5 版本中得到了修复 ,密码其根源在于可预测的发布加密密钥和 nonce 重用,使得即使没有直接系统访问权限 ,高防服务器洞攻也能解密存储的可访秘密信息 。

Web Help Desk 加密设计缺陷

据 NetSPI 团队称 ,问存该漏洞存在于 com.solarwinds.whd.symmetric.AESGCMSymetricCryptoProvider 类中 ,密码该类负责管理存储在数据库备份和配置文件中的发布凭据的 AES-GCM 加密。研究人员发现了两个主要缺陷 :

静态且可预测的云计算洞攻加密密钥

默认的 AES-GCM 密钥(defaultKey)被硬编码在 whd-crypto.jar 文件中的 cryptconfig.properties 中。这使得无需进一步访问系统即可轻松解密标记为 { AES}<base64> 的可访秘密信息 。

例如,问存.whd.properties 中嵌入的密码 PostgreSQL 密码使用了此密钥:

第二个密钥派生机制进一步加剧了风险 。免费模板SecretKeyServiceImpl 类使用数据库中 init_code 值与静态十六进制值(0xBABEFACE)进行异或运算来生成密钥 。发布

由于 init_code 通常低于 0x10000,暴力破解变得计算上轻而易举 :

Nonce 重用与密钥流恢复

AES-GCM 的安全性依赖于每次加密使用唯一的 nonce。然而 ,Web Help Desk 在操作中复用了 nonce,使得攻击者可以通过已知的服务器租用明文-密文对恢复密钥流 。

攻击者可以将已知的凭据(例如 Password1)与其密文进行异或运算以提取密钥流 ,然后解密使用相同 nonce 加密的其他秘密信息:

漏洞利用途径提取硬编码密钥 : 反编译 JAR 文件以从 cryptconfig.properties 中获取 defaultKey。暴力破解转换后的密钥: 计算 init_code ^ 0xBABEFACE ,针对订阅者 ID(≤ 65,535 种可能) 。源码库解密秘密信息: 使用派生密钥解密备份或 .whd.properties 中的 AES-GCM 密文 。

例如,使用密钥 19950 解密 frcLMeS3nchpg_Ucxz… 后得到了 Password1,展示了低熵密钥如何使实际攻击成为可能。

在一次渗透测试中  ,NetSPI 团队解密了一个 oauth2_client_secret 和 LDAP 查询账户密码 。这些凭据允许通过 Connect-AzAccount 访问 Azure AD ,建站模板并在网络内进行横向移动。

缓解措施

升级至 v12.8.5: SolarWinds 修复了密钥生成逻辑并强制执行了适当的 nonce 随机化  。

分享到:

温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!

友情链接: