Jira & Confluence

Υποστήριξη HackTricks

Αν ενδιαφέρεστε για καριέρα hacking και να χακάρετε το μη χακάρισμα - προσλαμβάνουμε! (απαιτείται άπταιστη γραπτή και προφορική πολωνική).

Έλεγχος Δικαιωμάτων

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

Μια σημαντική ενημέρωση έγινε στις 1 Φεβρουαρίου 2019, απαιτώντας το endpoint 'mypermissions' να περιλαμβάνει μια παράμετρο 'permission'. Αυτή η απαίτηση στοχεύει να ενισχύσει την ασφάλεια καθορίζοντας τα δικαιώματα που ερωτώνται: ελέγξτε το εδώ

  • 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'

Automated enumeration

Atlasian Plugins

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

Αυτό είναι ένα παράδειγμα του τύπου macro plugin:

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 είναι μέσα σε ιδιωτικό δίκτυο, θα ήταν δυνατόν να δημιουργηθεί μια σύνδεση μέσω του προγράμματος περιήγησης κάποιου χρήστη με πρόσβαση σε αυτό και για παράδειγμα να επικοινωνήσει με τον διακομιστή εκτελώντας εντολές μέσω αυτού.

Εάν ενδιαφέρεστε για καριέρα στον hacking και να χακάρετε το μη χακάρισμα - προσλαμβάνουμε! (απαιτείται άπταιστη γραπτή και προφορική πολωνική).

Υποστήριξη HackTricks

Last updated