赞
踩
JetBrains TeamCity
作为一个广泛使用的持续集成和部署工具,其安全性备受关注。然而,最近披露的CVE-2024-27198
和CVE-2024-27199
两个漏洞揭示了该平台存在的重大安全隐患。这些漏洞允许攻击者通过绕过身份验证机制,创建未经授权的管理员账户并实现远程代码执行(RCE
)。本文将详细解析这两个漏洞的利用方式、具体的操作步骤以及可能的防护措施。
**CVE-2024-27198
和CVE-2024-27199
**是两个与JetBrains TeamCity
服务器相关的严重漏洞。通过这些漏洞,攻击者可以绕过TeamCity
内置的身份验证机制,创建管理员账户、枚举用户信息、生成授权令牌,甚至在服务器上远程执行任意代码。其根本原因在于TeamCity
的REST API
路由处理中的身份验证绕过问题。
为了展示如何利用这些漏洞,开发者编写了一个名为“RCity”
的Python脚本,它能够与存在漏洞的TeamCity
服务器交互。以下是该脚本的主要功能及其使用方法:
RCity
脚本允许攻击者在目标TeamCity
服务器上创建一个全新的管理员账户,而无需任何现有的凭证。这一过程通过绕过身份验证的REST API调用实现,利用了漏洞中的认证绕过路径。
在创建管理员账户后,攻击者可以生成一个授权令牌,并使用该令牌在服务器上执行任意代码。该代码可以在Unix
或Windows
主机上执行,具体取决于请求的路径和参数。
RCity
脚本还提供了枚举服务器上所有用户信息的功能,包括用户名、邮箱地址、身份认证令牌等。这些信息可以进一步用于社会工程攻击或扩大对目标服务器的控制。
攻击者可以使用RCity
脚本收集目标服务器的详细信息,例如操作系统版本、架构、TeamCity
和Tomcat
版本等。这些信息有助于攻击者定制进一步的攻击策略。
以下是使用RCity脚本进行漏洞利用的几个示例:
创建管理员账户:
python3 RCity.py -t http://teamcity.com:8111
远程代码执行:
python3 RCity.py -t http://teamcity.com:8111 -c "id"
生成授权令牌:
python3 RCity.py -t http://teamcity.com:8111 --no-rce
禁用用户枚举:
python3 RCity.py -t http://teamcity.com:8111 --no-enum
为了防止这些漏洞的利用,建议采取以下措施:
TeamCity
服务器运行的是最新的版本,并应用所有安全补丁。这些补丁通常会修复已知的漏洞并提高系统的安全性。TeamCity
的REST API
进行严格的访问控制,确保只有经过身份验证的用户才能访问敏感端点。TeamCity
服务器的安全设置,限制管理员账户的创建和远程代码执行功能,仅允许信任的内部IP地址访问这些功能。CVE-2024-27198
和CVE-2024-27199
揭示了JetBrains TeamCity
服务器在安全性方面的严重漏洞。通过RCity
脚本,攻击者可以轻松地绕过身份验证,获得对服务器的完全控制。然而,管理员可以通过及时更新、严格的访问控制和日志监控来有效防止此类攻击的发生。确保服务器的安全性不仅是保护数据的关键,也是维护业务连续性的基础。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。