Jira & Confluence

Reading time: 6 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

Check Privileges

Jiraでは、権限は認証されたユーザーであれ認証されていないユーザーであれ、エンドポイント/rest/api/2/mypermissionsまたは/rest/api/3/mypermissionsを通じて確認できます。これらのエンドポイントは、ユーザーの現在の権限を明らかにします。非認証ユーザーが権限を持つことは、セキュリティの脆弱性を示しており、バウンティの対象となる可能性があります。同様に、認証されたユーザーに対する予期しない権限脆弱性を強調します。

重要な更新2019年2月1日に行われ、'mypermissions'エンドポイントに**'permission'パラメータを含めることが求められました。この要件は、照会される権限を指定することでセキュリティを強化**することを目的としています: 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

Example: 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'

自動列挙

Atlasian プラグイン

このブログに示されているように、プラグインモジュール ↗に関するドキュメントでは、次のようなさまざまなタイプのプラグインを確認できます。

これはマクロプラグインタイプの例です:

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; }
}

これらのプラグインは、XSSのような一般的なウェブ脆弱性に対して脆弱である可能性があることが観察できます。例えば、前の例はユーザーから提供されたデータを反映しているため脆弱です。

XSSが見つかった場合、このgithubリポジトリにはXSSの影響を増加させるためのペイロードがいくつかあります。

バックドアプラグイン

この投稿では、悪意のあるJiraプラグインが実行できるさまざまな(悪意のある)アクションについて説明しています。このリポジトリにコード例があります

悪意のあるプラグインが実行できるアクションのいくつかは次のとおりです:

  • 管理者からプラグインを隠す: フロントエンドのJavaScriptを注入することで悪意のあるプラグインを隠すことが可能です。
  • 添付ファイルとページの抽出: すべてのデータにアクセスし、抽出することを許可します。
  • セッショントークンの盗難: ヘッダーをレスポンスにエコーするエンドポイントを追加し(クッキー付き)、それに連絡してクッキーを漏洩させるJavaScriptを追加します。
  • コマンド実行: コードを実行するプラグインを作成することはもちろん可能です。
  • リバースシェル: またはリバースシェルを取得します。
  • DOMプロキシング: Confluenceがプライベートネットワーク内にある場合、アクセス権を持つユーザーのブラウザを通じて接続を確立し、例えばサーバーコマンドを実行することが可能です。

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする