安全研究员 chutton-r7 对 Citrix NetScaler Console 中的一个严重漏洞(CVE-2024-6235)进行了剖析,发现存在严重的无需身份验证的会话劫持漏洞,攻击者可利用该漏洞通过内部应用程序编程接口(API)创建管理员账户。尽管该漏洞被归类为 “信息泄露”,但其在现实中的影响要危险得多,根据通用漏洞评分系统第 4 版(CVSSv4),该漏洞的评分为 9.4 分。
Rapid7 证实:“该漏洞使得未经身份验证的攻击者能够从内部 API 获取管理员级别的会话 ID,并利用该 ID 在系统上创建其他管理员用户。”
Citrix 最初在其安全公告中提供的细节很少,仅提及了 “CWE-287:身份验证不当” 这一问题。Rapid7 安全的研究团队对已修复的版本(v14.1-29.63)和存在漏洞的版本(v14.1-8.50)进行了逆向工程,从而揭示了问题的核心:一个内部 API 端点在未进行适当身份验证的情况下泄露了管理员会话令牌。
攻击者只需向以下地址发送一个简单的 GET 请求:/internal/v2/config/mps_secret/ADM_SESSIONID ,同时附带以下请求头信息:
Tenant-Name: Owner
User-Name: nsroot
Mps-Internal-Request: true
攻击者就能够获取一个有效的会话令牌,从而获得完全的管理员权限。
报告指出:“该 API 返回的响应代码为 200,并且返回的内容看起来很可疑,像是 NetScaler 控制台的会话 ID。”
研究人员在获取了会话 ID 后,接着从 NetScaler 管理面板的 HTML 页面中获取了另一个必需的参数 rand_key。在拥有了这两个关键信息后,他们成功创建了一个新的管理员用户。安全研究人员成功开发出了一个概念验证(PoC)脚本,以实现漏洞利用过程的自动化。该脚本会从内部 API 获取会话 ID,获取 rand_key,并创建一个新的超级管理员用户。
该问题已在版本 14.1-25.53 中得到修复,此版本强制实施了适当的身份验证,现在对于此类 API 调用会返回 401 Unauthorized 的响应。
成功利用 CVE-2024-6235 漏洞可使攻击者获得对受影响的 NetScaler Console 实例的完全管理控制权。
有一条独特的日志记录可作为攻击企图的警示标志:
MPSHTTPRequestHandler::get_internal_service_sessionId session id is not present in Redis, generating new.
这条调试信息在正常操作期间不会出现,仅在攻击过程中才会出现,因此它是一个可靠的攻击指标(IOC)。
Citrix 已于 2024 年 7 月发布的 NetScaler 控制台版本 14.1-25.53 中修复了此漏洞。强烈建议使用存在漏洞版本的机构立即更新到已打补丁的版本,并实施强大的补丁管理策略。此外,报告建议不要将 NetScaler Console 实例暴露在公共互联网上。
发表评论
您还未登录,请先登录。
登录