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 엔드포인트를 통해 확인할 수 있습니다. 이 엔드포인트는 사용자의 현재 권한을 공개합니다. 비인증 사용자에게 권한이 있는 경우 보안 취약점이 발생할 수 있으며, 이는 보상의 대상이 될 수 있습니다. 마찬가지로, 인증된 사용자에게 예상치 못한 권한이 있는 경우취약점을 강조합니다.

중요한 업데이트2019년 2월 1일에 이루어졌으며, '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'

자동화된 열거

Atlassian 플러그인

블로그에서 언급된 바와 같이, 플러그인 모듈에 대한 문서 ↗에서는 다음과 같은 다양한 유형의 플러그인을 확인할 수 있습니다:

이것은 매크로 플러그인 유형의 예입니다:

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 repo에서 XSS의 영향을 증가시키기 위한 몇 가지 페이로드를 찾을 수 있습니다.

백도어 플러그인

이 포스트는 악의적인 Jira 플러그인이 수행할 수 있는 다양한 (악의적인) 작업을 설명합니다. 이 repo에서 코드 예제를 찾을 수 있습니다.

악의적인 플러그인이 수행할 수 있는 작업은 다음과 같습니다:

  • 관리자로부터 플러그인 숨기기: 프론트엔드 자바스크립트를 주입하여 악의적인 플러그인을 숨길 수 있습니다.

  • 첨부파일 및 페이지 유출: 모든 데이터에 접근하고 유출할 수 있습니다.

  • 세션 토큰 도용: 응답에서 헤더를 에코하는 엔드포인트를 추가하고, 이를 연락하여 쿠키를 유출하는 자바스크립트를 추가합니다.

  • 명령 실행: 물론 코드를 실행하는 플러그인을 생성할 수 있습니다.

  • 리버스 셸: 또는 리버스 셸을 얻을 수 있습니다.

  • DOM 프록시: 만약 컨플루언스가 사설 네트워크 내에 있다면, 접근 권한이 있는 사용자의 브라우저를 통해 연결을 설정하고 예를 들어 서버 명령을 실행할 수 있습니다.

해킹 경력에 관심이 있고 해킹할 수 없는 것을 해킹하고 싶다면 - 우리는 채용 중입니다! (유창한 폴란드어 필기 및 구사 필수).

AWS 해킹 배우고 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우고 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기

Last updated