Jira & Confluence

Reading time: 4 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Proverite privilegije

U Jiri, privilegije se mogu proveriti od strane bilo kog korisnika, autentifikovanog ili ne, putem krajnjih tačaka /rest/api/2/mypermissions ili /rest/api/3/mypermissions. Ove krajnje tačke otkrivaju trenutne privilegije korisnika. Značajna zabrinutost se javlja kada neautentifikovani korisnici imaju privilegije, što ukazuje na bezbednosnu ranjivost koja bi mogla biti podobna za nagradu. Slično tome, neočekivane privilegije za autentifikovane korisnike takođe ističu ranjivost.

Važna ažuriranja su izvršena 1. februara 2019., zahtevajući da 'mypermissions' krajnja tačka uključuje 'permission' parametar. Ovaj zahtev ima za cilj da poboljša bezbednost preciziranjem privilegija koje se pretražuju: proverite ovde

  • 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

Primer: 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'

Automatizovana enumeracija

Atlasian dodaci

Kao što je navedeno u ovom blogu, u dokumentaciji o modulima dodataka ↗ moguće je proveriti različite tipove dodataka, kao što su:

Ovo je primer tipa makro dodatka:

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; }
}

Moguće je primetiti da bi ovi dodaci mogli biti ranjivi na uobičajene web ranjivosti poput XSS. Na primer, prethodni primer je ranjiv jer reflektuje podatke koje je dao korisnik.

Kada se pronađe XSS, u ovom github repozitorijumu možete pronaći neke payload-ove za povećanje uticaja XSS-a.

Backdoor Plugin

Ova objava opisuje različite (maliciozne) radnje koje bi mogao izvršiti maliciozni Jira dodatak. Možete pronaći primer koda u ovom repozitorijumu.

Ovo su neke od radnji koje bi maliciozni dodatak mogao izvršiti:

  • Skrivanje dodataka od administratora: Moguće je sakriti maliciozni dodatak injektovanjem nekog front-end javascript-a.
  • Ekstrakcija priloga i stranica: Omogućava pristup i ekstrakciju svih podataka.
  • Krađa sesion tokena: Dodajte endpoint koji će echo-ovati zaglavlja u odgovoru (sa kolačićem) i neki javascript koji će kontaktirati taj endpoint i otkriti kolačiće.
  • Izvršavanje komandi: Naravno, moguće je kreirati dodatak koji će izvršavati kod.
  • Obrnuta ljuska: Ili dobiti obrnutu ljusku.
  • DOM proksiranje: Ako je Confluence unutar privatne mreže, bilo bi moguće uspostaviti vezu kroz pregledač nekog korisnika koji ima pristup i, na primer, kontaktirati server za izvršavanje komandi kroz njega.

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks