# Jira & Confluence
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 馃挰 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_wymagana bieg艂a znajomo艣膰 j臋zyka polskiego w mowie i pi艣mie_).
{% embed url="https://www.stmcyber.com/careers" %}
## Sprawd藕 uprawnienia
W Jira, **uprawnienia mog膮 by膰 sprawdzane** przez ka偶dego u偶ytkownika, uwierzytelnionego lub nie, za po艣rednictwem punkt贸w ko艅cowych `/rest/api/2/mypermissions` lub `/rest/api/3/mypermissions`. Te punkty ko艅cowe ujawniaj膮 aktualne uprawnienia u偶ytkownika. Szczeg贸ln膮 obaw膮 jest sytuacja, gdy **u偶ytkownicy nieautoryzowani posiadaj膮 uprawnienia**, co wskazuje na **luk臋 w zabezpieczeniach**, kt贸ra mo偶e kwalifikowa膰 si臋 do **nagrody**. Podobnie, **nieoczekiwane uprawnienia dla u偶ytkownik贸w uwierzytelnionych** r贸wnie偶 podkre艣laj膮 **luk臋**.
Wa偶na **aktualizacja** mia艂a miejsce **1 lutego 2019**, wymagaj膮c, aby punkt ko艅cowy 'mypermissions' zawiera艂 **parametr 'permission'**. Wym贸g ten ma na celu **zwi臋kszenie bezpiecze艅stwa** poprzez okre艣lenie uprawnie艅, kt贸re s膮 sprawdzane: [sprawd藕 to tutaj](https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/#change-notice---get-my-permissions-resource-will-require-a-permissions-query-parameter)
* 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
Przyk艂ad: `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'
```
## Automatyczna enumeracja
* [https://github.com/0x48piraj/Jiraffe](https://github.com/0x48piraj/Jiraffe)
* [https://github.com/bcoles/jira\_scan](https://github.com/bcoles/jira\_scan)
## Wtyczki Atlassian
Jak wskazano w tym [**blogu**](https://cyllective.com/blog/posts/atlassian-audit-plugins), w dokumentacji dotycz膮cej [Modu艂贸w wtyczek 鈫梋(https://developer.atlassian.com/server/framework/atlassian-sdk/plugin-modules/) mo偶na sprawdzi膰 r贸偶ne typy wtyczek, takie jak:
* [Modu艂 wtyczki REST 鈫梋(https://developer.atlassian.com/server/framework/atlassian-sdk/rest-plugin-module): Ekspozycja punkt贸w ko艅cowych API RESTful
* [Modu艂 wtyczki Servlet 鈫梋(https://developer.atlassian.com/server/framework/atlassian-sdk/servlet-plugin-module/): Wdra偶anie serwlet贸w Java jako cz臋艣膰 wtyczki
* [Modu艂 wtyczki Makro 鈫梋(https://developer.atlassian.com/server/confluence/macro-module/): Implementacja Makr Confluence, tj. parametryzowane szablony HTML
To jest przyk艂ad typu wtyczki makro:
```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 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; }
}
```
Mo偶liwe jest zaobserwowanie, 偶e te wtyczki mog膮 by膰 podatne na powszechne luki w zabezpieczeniach, takie jak XSS. Na przyk艂ad poprzedni przyk艂ad jest podatny, poniewa偶 odzwierciedla dane podane przez u偶ytkownika.
Gdy znajdziesz XSS, w [**tej repozytorium github**](https://github.com/cyllective/XSS-Payloads/tree/main/Confluence) mo偶esz znale藕膰 kilka 艂adunk贸w, aby zwi臋kszy膰 wp艂yw XSS.
## Wtyczka Backdoor
[**Ten post**](https://cyllective.com/blog/posts/atlassian-malicious-plugin) opisuje r贸偶ne (z艂o艣liwe) dzia艂ania, kt贸re mo偶e wykona膰 z艂o艣liwa wtyczka Jira. Mo偶esz znale藕膰 [**przyk艂ad kodu w tym repozytorium**](https://github.com/cyllective/malfluence).
Oto niekt贸re z dzia艂a艅, kt贸re mog艂aby wykona膰 z艂o艣liwa wtyczka:
* **Ukrywanie wtyczek przed administratorami**: Mo偶liwe jest ukrycie z艂o艣liwej wtyczki, wstrzykuj膮c jaki艣 front-end javascript.
* **Ekstrakcja za艂膮cznik贸w i stron**: Umo偶liwia dost臋p i ekstrakcj臋 wszystkich danych.
* **Kradzie偶 token贸w sesji**: Dodaj punkt ko艅cowy, kt贸ry odzwierciedli nag艂贸wki w odpowiedzi (z ciasteczkiem) oraz jaki艣 javascript, kt贸ry si臋 z nim skontaktuje i wycieknie ciasteczka.
* **Wykonanie polecenia**: Oczywi艣cie mo偶liwe jest stworzenie wtyczki, kt贸ra wykona kod.
* **Reverse Shell**: Lub uzyskanie reverse shell.
* **Proxy DOM**: Je艣li confluence znajduje si臋 w prywatnej sieci, mo偶liwe by艂oby nawi膮zanie po艂膮czenia przez przegl膮dark臋 jakiego艣 u偶ytkownika z dost臋pem do niej i na przyk艂ad skontaktowanie si臋 z serwerem, wykonuj膮c polecenia przez to.
Je艣li jeste艣 zainteresowany **karier膮 w hackingu** i chcesz z艂ama膰 to, co nie do z艂amania - **zatrudniamy!** (_wymagana bieg艂a znajomo艣膰 polskiego w mowie i pi艣mie_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
Ucz si臋 i 膰wicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Ucz si臋 i 膰wicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wsparcie HackTricks
* Sprawd藕 [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Do艂膮cz do** 馃挰 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **艣led藕** nas na **Twitterze** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Dziel si臋 sztuczkami hackingowymi, przesy艂aj膮c PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytori贸w github.
{% endhint %}