SolarWinds Web Help Desk漏洞攻击者可访问存储的密码,PoC已发布
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 随机化。
**
参考来源:
SolarWinds Web Help Desk Vulnerability Let Hackers Access Stored Passwords – PoC Released
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
目录
最新
- Caido v0.47.0 发布:一款强大的 Burp Suite 替代品,Web 渗透测试工具迎来新升级
- 警惕!AI组件ComfyUI易被黑产盯上
- 初识网络安全知识-信息收集篇
- [Meachines] [Medium] Sneaky snmp+SSH-IPV6+BOF-NOP-Sled权限提升
- [Meachines] [Medium] Stratosphere Struts-2-RCE+mysql转存储+python三方库劫持
- 公私合作:网络安全行业增长与成熟的催化剂
- 安卓设备被Root后遭遇攻击的风险激增3000倍,iPhone亦不安全
- 六国政府疑似使用以色列Paragon间谍软件窃取即时通讯数据