Jira & Confluence

Reading time: 5 minutes

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, τα δικαιώματα μπορούν να ελεγχθούν από οποιονδήποτε χρήστη, αυθεντικοποιημένο ή όχι, μέσω των endpoints /rest/api/2/mypermissions ή /rest/api/3/mypermissions. Αυτά τα endpoints αποκαλύπτουν τα τρέχοντα δικαιώματα του χρήστη. Ένα σημαντικό ζήτημα προκύπτει όταν μη αυθεντικοποιημένοι χρήστες κατέχουν δικαιώματα, υποδεικνύοντας μια ευπάθεια ασφαλείας που θα μπορούσε ενδεχομένως να είναι επιλέξιμη για βραβείο. Ομοίως, αναπάντεχα δικαιώματα για αυθεντικοποιημένους χρήστες επισημαίνουν επίσης μια ευπάθεια.

Μια σημαντική ενημέρωση έγινε στις 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

Example: https://your-domain.atlassian.net/rest/api/2/mypermissions?permissions=BROWSE_PROJECTS,CREATE_ISSUES,ADMINISTER_PROJECTS

bash
#Check non-authenticated privileges
curl https://jira.some.example.com/rest/api/2/mypermissions | jq | grep -iB6 '"havePermission": true'

Αυτοματοποιημένη αρίθμηση

Plugins της Atlassian

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

Αυτό είναι ένα παράδειγμα του τύπου 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 ("<h1>Hello " + map.get("Name") + "!</h1>");
} else {
return "<h1>Hello World!<h1>";
}
}

public BodyType getBodyType() { return BodyType.NONE; }

public OutputType getOutputType() { return OutputType.BLOCK; }
}

Είναι δυνατόν να παρατηρηθεί ότι αυτά τα πρόσθετα μπορεί να είναι ευάλωτα σε κοινές διαδικτυακές ευπάθειες όπως το XSS. Για παράδειγμα, το προηγούμενο παράδειγμα είναι ευάλωτο επειδή ανακλά δεδομένα που παρέχονται από τον χρήστη.

Μόλις βρεθεί ένα XSS, στο αυτό το github repo μπορείτε να βρείτε μερικά payloads για να αυξήσετε τον αντίκτυπο του XSS.

Backdoor Plugin

Αυτή η ανάρτηση περιγράφει διάφορες (κακόβουλες) ενέργειες που θα μπορούσε να εκτελέσει ένα κακόβουλο πρόσθετο Jira. Μπορείτε να βρείτε παράδειγμα κώδικα σε αυτό το repo.

Αυτές είναι μερικές από τις ενέργειες που θα μπορούσε να εκτελέσει ένα κακόβουλο πρόσθετο:

  • Απόκρυψη Προσθέτων από Διαχειριστές: Είναι δυνατόν να αποκρυφθεί το κακόβουλο πρόσθετο εισάγοντας κάποιο front-end javascript.
  • Εξαγωγή Συνημμένων και Σελίδων: Επιτρέπει την πρόσβαση και την εξαγωγή όλων των δεδομένων.
  • Κλοπή Διαπιστευτηρίων Συνεδρίας: Προσθέτει ένα endpoint που θα ανακλά τις κεφαλίδες στην απάντηση (με το cookie) και κάποιο javascript που θα επικοινωνεί μαζί του και θα διαρρέει τα cookies.
  • Εκτέλεση Εντολών: Φυσικά είναι δυνατόν να δημιουργηθεί ένα πρόσθετο που θα εκτελεί κώδικα.
  • Αντίστροφη Σέλ: Ή να αποκτήσει μια αντίστροφη σέλ.
  • DOM Proxying: Εάν το 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