mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-29 22:43:11 +00:00
151 lines
8.3 KiB
Markdown
151 lines
8.3 KiB
Markdown
# Jira & Confluence
|
|
|
|
{% hint style="success" %}
|
|
Aprenda e pratique Hacking AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Aprenda e pratique Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Se você está interessado em **carreira de hacking** e hackear o inhackeável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
|
|
|
|
{% embed url="https://www.stmcyber.com/careers" %}
|
|
|
|
## Verificar Privilégios
|
|
|
|
No Jira, **privilégios podem ser verificados** por qualquer usuário, autenticado ou não, através dos endpoints `/rest/api/2/mypermissions` ou `/rest/api/3/mypermissions`. Esses endpoints revelam os privilégios atuais do usuário. Uma preocupação notável surge quando **usuários não autenticados possuem privilégios**, indicando uma **vulnerabilidade de segurança** que pode ser elegível para um **bounty**. Da mesma forma, **privilégios inesperados para usuários autenticados** também destacam uma **vulnerabilidade**.
|
|
|
|
Uma **atualização** importante foi feita em **1º de fevereiro de 2019**, exigindo que o endpoint 'mypermissions' incluísse um **parâmetro 'permission'**. Essa exigência visa **aumentar a segurança** especificando os privilégios que estão sendo consultados: [verifique aqui](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
|
|
|
|
Exemplo: `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'
|
|
```
|
|
## Enumeração automatizada
|
|
|
|
* [https://github.com/0x48piraj/Jiraffe](https://github.com/0x48piraj/Jiraffe)
|
|
* [https://github.com/bcoles/jira\_scan](https://github.com/bcoles/jira_scan)
|
|
|
|
## Plugins Atlassian
|
|
|
|
Conforme indicado neste [**blog**](https://cyllective.com/blog/posts/atlassian-audit-plugins), na documentação sobre [Módulos de Plugin ↗](https://developer.atlassian.com/server/framework/atlassian-sdk/plugin-modules/) é possível verificar os diferentes tipos de plugins, como:
|
|
|
|
* [Módulo de Plugin REST ↗](https://developer.atlassian.com/server/framework/atlassian-sdk/rest-plugin-module): Expõe endpoints de API RESTful
|
|
* [Módulo de Plugin Servlet ↗](https://developer.atlassian.com/server/framework/atlassian-sdk/servlet-plugin-module/): Implantar servlets Java como parte de um plugin
|
|
* [Módulo de Plugin Macro ↗](https://developer.atlassian.com/server/confluence/macro-module/): Implementar Macros do Confluence, ou seja, templates HTML parametrizados
|
|
|
|
Este é um exemplo do tipo de plugin macro:
|
|
```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; }
|
|
}
|
|
```
|
|
É possível observar que esses plugins podem ser vulneráveis a vulnerabilidades web comuns, como XSS. Por exemplo, o exemplo anterior é vulnerável porque está refletindo dados fornecidos pelo usuário. 
|
|
|
|
Uma vez que um XSS é encontrado, no [**este repositório do github**](https://github.com/cyllective/XSS-Payloads/tree/main/Confluence) você pode encontrar alguns payloads para aumentar o impacto do XSS.
|
|
|
|
## Plugin de Backdoor
|
|
|
|
[**Este post**](https://cyllective.com/blog/posts/atlassian-malicious-plugin) descreve diferentes ações (maliciosas) que um plugin malicioso do Jira poderia realizar. Você pode encontrar [**exemplo de código neste repositório**](https://github.com/cyllective/malfluence).
|
|
|
|
Estas são algumas das ações que um plugin malicioso poderia realizar:
|
|
|
|
* **Ocultar Plugins de Administradores**: É possível ocultar o plugin malicioso injetando algum javascript de front-end.
|
|
* **Exfiltrar Anexos e Páginas**: Permitir acessar e exfiltrar todos os dados.
|
|
* **Roubar Tokens de Sessão**: Adicionar um endpoint que irá ecoar os cabeçalhos na resposta (com o cookie) e algum javascript que irá contatá-lo e vazar os cookies.
|
|
* **Execução de Comandos**: Claro que é possível criar um plugin que executará código.
|
|
* **Shell Reversa**: Ou obter uma shell reversa.
|
|
* **Proxy DOM**: Se o confluence estiver dentro de uma rede privada, seria possível estabelecer uma conexão através do navegador de algum usuário com acesso a ele e, por exemplo, contatar o servidor executando comandos através dele.
|
|
|
|
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Se você está interessado em **carreira em hacking** e hackear o inhackeável - **estamos contratando!** (_fluente em polonês escrito e falado é necessário_).
|
|
|
|
{% embed url="https://www.stmcyber.com/careers" %}
|
|
|
|
{% hint style="success" %}
|
|
Aprenda e pratique Hacking AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Aprenda e pratique Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
|
|
|
</details>
|
|
{% endhint %}
|