暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数以千计的Apache Superset服务器受到RCE攻击

alitrack 2023-05-05
858

原文:https://www.bleepingcomputer.com/news/security/thousands-of-apache-superset-servers-exposed-to-rce-attacks/ 

原作者:Bill Toulas

什么是 RCE 攻击

RCE 是远程代码执行(Remote Code Execution)的缩写。它指的是攻击者可以在远程系统上执行恶意代码的漏洞或攻击技术。通过 RCE 漏洞,攻击者可以在受害系统上执行任意代码,这样可以实现很多危险的操作,比如:

  • 安装后门和木马,持续控制系统
  • 破解管理员账户和密码
  • 访问和泄露敏感数据
  • 改变系统配置
  • 删除或破坏系统文件导致服务中断

正文

Apache Superset 在默认配置下容易受到绕过身份验证和远程代码执行的攻击,从而使攻击者有可能访问和修改数据、获取凭据和执行命令。

Apache Superset 是一个开源数据可视化和探索工具,最初是为 Airbnb 开发的,后来在 2021 年成为 Apache 软件基金会的顶级项目。根据一份来自Horizon3[1]的报告,Apache Superset 使用默认 Flask Secret Key[2] 对身份验证会话 cookie 进行签名。因此,攻击者可以使用此默认密钥来伪造会话 cookie,使他们能够以管理员权限登录到未更改密钥的服务器。

虽然 Apache 文档[3] 确实告诉管理员更改密钥,但 Horizon3 表示,这种危险的默认配置目前在大约 2,000 个互联网暴露的服务器中可以检测到,这些服务器属于大学,不同规模的公司,政府组织等。

使用默认密钥(Horizon3)签名的会话 cookie


这个广泛使用的默认 Flask 密钥对于攻击者来说是已知的,他们可以使用flask-unsign[4]并伪造自己的 cookie 来获得目标的管理员访问权限,访问连接的数据库或在应用服务器上执行任意 SQL 语句。

“我们目前没有披露任何利用方法,尽管我们认为感兴趣的攻击者很容易弄清楚,”Horizon3 警告说 。

需要注意的是,如果管理员使用攻击者未知的密钥更改了默认密钥,则他们的安装不会受到此攻击。

使用伪造的会话 cookie 获得管理员访问权限(Horizon3)

发现和影响

该漏洞于 2021 年 10 月 11 日由 Horizon3 团队发现,并报告给 Apache 安全团队。

2022 年 1 月 11 日,软件开发人员发布了版本 1.4.1,将默认的SECRET_KEY
更改为新字符串,并且在启动时检测到默认字符串时向日志添加警告。

在版本 1.4.1 中添加到日志的警告 (Horizon3)


Horizon3 还发现了文档和模板中使用的另外两个默认键,并使用 Shodan 搜索使用这四个键的实例。

当时,Horizon 3 发现大约有 2,124 个(占总数的 67%)配置错误。

使用风险配置的实例(左列)(Horizon3)

Horizon3 再次联系了 Apache 并提出了这些问题,并在 2023 年 2 月,研究人员开始向组织发送警告,要求更改其配置。

最终,在 2023 年 4 月 5 日,Superset 团队发布了版本 2.1.0,如果服务器使用默认的SECRET_KEY
,则不允许服务器启动。

由Superset团队实施的修复(Horizon3)


虽然这种激进的解决方案可以防止新的风险部署,但它并不能解决现有的错误配置,根据 Horizon 3 的说法,这些错误配置仍然存在于 2,000 多个案例中。

这家安全公司在 GitHub 上共享了一个脚本[5],Apache Superset 管理员可以使用它来确定他们的实例是否容易受到攻击。

参考资料

[1]

Horizon3: https://www.horizon3.ai/cve-2023-27524-insecure-default-configuration-in-apache-superset-leads-to-remote-code-execution/

[2]

Flask 密钥: https://flask.palletsprojects.com/en/2.2.x/config/

[3]

Apache 文档: https://web.archive.org/web/20230116021751/https://superset.apache.org/docs/installation/configuring-superset/#:~:text=Make%20sure%20to%20change%3A

[4]

flask-unsign: https://github.com/Paradoxis/Flask-Unsign

[5]

在 GitHub 上共享了一个脚本: https://github.com/horizon3ai/CVE-2023-27524

P.S.

文章转载自alitrack,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论