Jira & Confluence

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

If you are interested in hacking career and hack the unhackable - we are hiring! (вимагається вільне володіння польською мовою в письмовій та усній формі).

Check Privileges

У Jira, привілеї можна перевірити будь-яким користувачем, автентифікованим чи ні, через кінцеві точки /rest/api/2/mypermissions або /rest/api/3/mypermissions. Ці кінцеві точки розкривають поточні привілеї користувача. Значна проблема виникає, коли неавтентифіковані користувачі мають привілеї, що вказує на вразливість безпеки, яка може бути підставою для бонусу. Аналогічно, неочікувані привілеї для автентифікованих користувачів також підкреслюють вразливість.

Важливе оновлення було зроблено 1 лютого 2019 року, що вимагало, щоб кінцева точка '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'

Автоматизоване перерахування

Плагіни Atlasian

Як зазначено в цьому блоці, у документації про модулі плагінів ↗ можна перевірити різні типи плагінів, такі як:

Це приклад типу макро плагіна:

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 ви можете знайти деякі пейлоади для збільшення впливу XSS.

Плагін з бекдором

Цей пост описує різні (зловмисні) дії, які може виконати зловмисний плагін Jira. Ви можете знайти приклад коду в цьому репозиторії.

Ось деякі з дій, які може виконати зловмисний плагін:

  • Сховати плагіни від адміністраторів: Можливо приховати зловмисний плагін, інжектуючи деякий фронтенд JavaScript.

  • Екстракція вкладень і сторінок: Дозволяє отримати доступ і екстрактувати всі дані.

  • Крадіжка токенів сесії: Додати кінцеву точку, яка буде відображати заголовки у відповіді (з кукі) і деякий JavaScript, який буде контактувати з нею і витікати кукі.

  • Виконання команд: Звичайно, можливо створити плагін, який буде виконувати код.

  • Зворотний шелл: Або отримати зворотний шелл.

  • DOM-проксіювання: Якщо Confluence знаходиться в приватній мережі, буде можливим встановити з'єднання через браузер деякого користувача з доступом до нього і, наприклад, зв'язатися з сервером, виконуючи команди через нього.

Якщо вас цікавить кар'єра в хакінгу і ви хочете зламати незламне - ми наймаємо! (вимагається вільне володіння польською мовою в письмовій та усній формі).

Вчіться та практикуйте хакінг AWS:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте хакінг GCP: HackTricks Training GCP Red Team Expert (GRTE)

Підтримати HackTricks

Last updated