Jira & Confluence
Reading time: 4 minutes
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Kontroleer Privileges
In Jira, privileges kan deur enige gebruiker nagegaan word, geverifieer of nie, deur die eindpunte /rest/api/2/mypermissions
of /rest/api/3/mypermissions
. Hierdie eindpunte onthul die gebruiker se huidige privileges. 'n Noemenswaardige bekommernis ontstaan wanneer nie-geverifieerde gebruikers privileges hou, wat 'n veiligheidskwesbaarheid aandui wat moontlik in aanmerking kan kom vir 'n bounty. Net so, onverwagte privileges vir geverifieerde gebruikers beklemtoon ook 'n kwesbaarheid.
'n Belangrike opdatering is gemaak op 1 Februarie 2019, wat vereis dat die 'mypermissions' eindpunt 'n 'permission' parameter insluit. Hierdie vereiste is daarop gemik om veiligheid te verbeter deur die privileges wat gevra word spesifiek aan te dui: 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
Voorbeeld: 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'
Geoutomatiseerde enumerasie
Atlasian Plugins
Soos aangedui in hierdie blog, in die dokumentasie oor Plugin modules ↗ is dit moontlik om die verskillende tipes plugins te kontroleer, soos:
- REST Plugin Module ↗: Stel RESTful API eindpunte bloot
- Servlet Plugin Module ↗: Ontplooi Java servlets as deel van 'n plugin
- Macro Plugin Module ↗: Implementeer Confluence Macros, d.w.s. geparametriseerde HTML-sjablone
Dit is 'n voorbeeld van die makro plugin tipe:
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; }
}
Dit is moontlik om te observeer dat hierdie plugins kwesbaar mag wees vir algemene web kwesbaarhede soos XSS. Byvoorbeeld, die vorige voorbeeld is kwesbaar omdat dit data wat deur die gebruiker gegee is, reflekteer.
Sodra 'n XSS gevind is, kan jy in hierdie github repo 'n paar payloads vind om die impak van die XSS te verhoog.
Backdoor Plugin
Hierdie pos beskryf verskillende (kwaadwillige) aksies wat 'n kwaadwillige Jira plugin kan uitvoer. Jy kan kode voorbeeld in hierdie repo vind.
Hierdie is sommige van die aksies wat 'n kwaadwillige plugin kan uitvoer:
- Plugins van Administrators wegsteek: Dit is moontlik om die kwaadwillige plugin weg te steek deur 'n paar front-end javascript in te voeg.
- Exfiltrating Attachments and Pages: Laat toe om toegang te verkry en al die data te exfiltreer.
- Stealing Session Tokens: Voeg 'n eindpunt by wat die headers in die antwoord (met die koekie) sal echo en 'n paar javascript wat dit sal kontak en die koekies sal lek.
- Command Execution: Natuurlik is dit moontlik om 'n plugin te skep wat kode sal uitvoer.
- Reverse Shell: Of 'n reverse shell kry.
- DOM Proxying: As die confluence binne 'n private netwerk is, sal dit moontlik wees om 'n verbinding deur die blaaskans van 'n gebruiker met toegang daartoe te vestig en byvoorbeeld die bediener opdragte deur dit uit te voer.
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.