Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ADOKit — Kit di attacco modulare che sfrutta l'API REST di Azure DevOps per ricognizione, escalation dei privilegi e persistenza utilizzando cookie rubati o PATs. | Kitploit
Strumenti/GitHubGitHub/h4wkst3r/adokit
Escalation di PrivilegiRicognizioneMeccanismi di PersistenzaPenetration TestingSicurezza CloudRed Teaming
GitHubh4wkst3r/adokit

ADOKit

Kit di attacco modulare che sfrutta l'API REST di Azure DevOps per ricognizione, escalation dei privilegi e persistenza utilizzando cookie rubati o PATs.

Vedi Repository
15564733 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
# ADOKit

## Descrizione

Azure DevOps Services Attack Toolkit - ADOKit è un toolkit che può essere utilizzato per attaccare Azure DevOps Services sfruttando l'API REST disponibile. Lo strumento consente all'utente di specificare un modulo di attacco, insieme a credenziali valide (chiave API o cookie di autenticazione rubato) per l'istanza di Azure DevOps Services corrispondente. I moduli di attacco supportati includono ricognizione, escalation dei privilegi e persistenza. ADOKit è stato sviluppato con un approccio modulare, in modo che nuovi moduli possano essere aggiunti in futuro dalla comunità della sicurezza informatica.

I dettagli completi sulle tecniche utilizzate da ADOKit sono nel libro bianco di X-Force Red [whitepaper](https://www.ibm.com/downloads/cas/5JKAPVYD).

### Black Hat USA Arsenal 2024

Le slide delle presentazioni e le demo sono incluse nella cartella [BHUSA Arsenal 2024](https://github.com/h4wkst3r/adokit/blob/main/BHUSA_Arsenal_2024) in questo repository.

## Rilascio
* La versione 1.4.1 di ADOKit è disponibile nelle Release

## Indice

- [ADOKit](#ADOKit)
- [Indice](#table-of-contents)
- [Installazione/Compilazione](#installationbuilding)
  - [Librerie Utilizzate](#libraries-used)
  - [Precompilato](#pre-compiled)
  - [Compilazione manuale](#building-yourself)
- [Moduli dei comandi](#command-modules)
- [Argomenti/Opzioni](#argumentsoptions)
- [Opzioni di autenticazione](#authentication-options)
- [Tabella dettagli moduli](#module-details-table)
- [Esempi](#examples)
  - Ricognizione
    - [Validare l'accesso ad Azure DevOps](#validate-azure-devops-access)
    - [Whoami](#whoami)
    - [Elenco Org](#List-orgs)
    - [Elenco Repo](#List-repos)
    - [Ricerca Repo](#Search-repos)
    - [Elenco Progetti](#list-projects)
    - [Ricerca Progetti](#search-projects)
    - [Ricerca Codice](#Search-code)
    - [Ricerca File](#Search-files)
    - [Elenco Utenti](#list-users)
    - [Ricerca Utente](#search-user)
    - [Elenco Team](#list-teams)
    - [Ricerca Team](#search-team)
    - [Ottieni Membri del Team](#get-team-members)
    - [Elenco Gruppi](#list-groups)
    - [Ricerca Gruppi](#search-groups)
    - [Ottieni Membri del Gruppo](#get-group-members)
    - [Ottieni Permessi del Progetto](#get-project-permissions)
    - [Ricerca Credenziali](#creds-search)
    - [Ottieni Log di Build](#get-build-logs)
    - [Elenco Log di Build](#list-build-logs)
    - [Ricerca Log di Build](#search-build-logs)
  - Persistenza
    - [Crea PAT](#create-pat)
    - [Elenco PAT](#list-pats)
    - [Rimuovi PAT](#remove-pat)
    - [Crea Chiave SSH](#create-ssh-key)
    - [Elenco Chiavi SSH](#list-ssh-keys)
    - [Rimuovi Chiave SSH](#remove-ssh-key)
  - Escalation dei Privilegi
    - [Aggiungi Amministratore Progetto](#add-project-admin)
    - [Rimuovi Amministratore Progetto](#remove-project-admin)
    - [Aggiungi Amministratore Build](#add-build-admin)
    - [Rimuovi Amministratore Build](#remove-build-admin)
    - [Aggiungi Amministratore Raccolta](#add-collection-admin)
    - [Rimuovi Amministratore Raccolta](#remove-collection-admin)
    - [Aggiungi Amministratore Build Raccolta](#add-collection-build-admin)
    - [Rimuovi Amministratore Build Raccolta](#remove-collection-build-admin)
    - [Aggiungi Account Servizio Build Raccolta](#add-collection-build-service-account)
    - [Rimuovi Account Servizio Build Raccolta](#remove-collection-build-service-account)
    - [Aggiungi Account Servizio Raccolta](#add-collection-service-account)
    - [Rimuovi Account Servizio Raccolta](#remove-collection-service-account)
    - [Ottieni Variabili Pipeline](#get-pipeline-variables)
    - [Ottieni Segreti Pipeline](#get-pipeline-secrets)
    - [Ottieni Gruppi di Variabili](#get-variable-groups)
    - [Ottieni Connessioni Servizio](#get-service-connections)
- [Rilevamento](#detection)
- [Roadmap](#roadmap)
- [Riferimenti](#references)

## Installazione/Compilazione

### Librerie Utilizzate
Le seguenti librerie di terze parti sono utilizzate in questo progetto.

| Libreria | URL | Licenza |
| ------------- | ------------- | ------------- |
| Fody  | [https://github.com/Fody/Fody](https://github.com/Fody/Fody) | Licenza MIT  |
| Newtonsoft.Json  | [https://github.com/JamesNK/Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) | Licenza MIT  |

### Precompilato

* Utilizza il binario precompilato nelle Release

### Compilazione manuale

Segui i passaggi seguenti per configurare Visual Studio e compilare il progetto manualmente. Richiede due librerie .NET che possono essere installate dal gestore pacchetti NuGet.

* Carica il progetto di Visual Studio e vai su "Strumenti" --> "Gestione pacchetti NuGet" --> "Impostazioni gestione pacchetti"
* Vai su "Gestione pacchetti NuGet" --> "Origini pacchetti"
* Aggiungi un'origine pacchetto con l'URL `https://api.nuget.org/v3/index.json`
* Installa il pacchetto NuGet Costura.Fody.
  * `Install-Package Costura.Fody -Version 3.3.3`
* Installa il pacchetto Newtonsoft.Json
  * `Install-Package Newtonsoft.Json`
* Ora puoi compilare il progetto da solo!

## Moduli dei comandi

* Ricognizione
  * <b>check</b> - Verifica se l'organizzazione utilizza Azure DevOps e se le credenziali sono valide
  * <b>whoami</b> - Elenca l'utente corrente e le sue appartenenze ai gruppi
  * <b>listorgs</b> - Elenca tutte le organizzazioni accessibili in Azure DevOps
  * <b>listrepo</b> - Elenca tutti i repository
  * <b>searchrepo</b> - Cerca un repository specifico
  * <b>listproject</b> - Elenca tutti i progetti
  * <b>searchproject</b> - Cerca un progetto specifico
  * <b>searchcode</b> - Cerca codice contenente un termine di ricerca
  * <b>searchfile</b> - Cerca file basato su un termine di ricerca
  * <b>listuser</b> - Elenca utenti
  * <b>searchuser</b> - Cerca un utente specifico
  * <b>listteam</b> - Elenca team
  * <b>searchteam</b> - Cerca un team specifico
  * <b>getteammembers</b> - Ottieni i membri del team per un team specifico
  * <b>listgroup</b> - Elenca gruppi
  * <b>searchgroup</b> - Cerca un gruppo specifico
  * <b>getgroupmembers</b> - Elenca tutti i membri del gruppo per un gruppo specifico
  * <b>getpermissions</b> - Ottieni i permessi per chi ha accesso a un progetto specifico
  * <b>creds</b> - Cerca credenziali nel codice (parole chiave elencate di seguito)
    * ``` "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> - Scarica i log di build per uno o tutti i progetti
  * <b>listbuildlogs</b> - Elenca i log di build per uno o tutti i progetti
  * <b>searchbuildlogs</b> - Cerca nei log di build un termine di ricerca specifico
* Persistenza
  * <b>createpat</b> - Crea un token di accesso personale per l'utente
  * <b>listpat</b> - Elenca i token di accesso personali per l'utente
  * <b>removepat</b> - Rimuovi token di accesso personale per l'utente
  * <b>createsshkey</b> - Crea una chiave pubblica SSH per l'utente
  * <b>listsshkey</b> - Elenca le chiavi pubbliche SSH per l'utente
  * <b>removesshkey</b> - Rimuovi chiave pubblica SSH per l'utente
* Escalation dei privilegi
  * <b>addprojectadmin</b> - Aggiunge un utente al gruppo "Amministratori del progetto" per un progetto specifico
  * <b>removeprojectadmin</b> - Rimuove un utente dal gruppo "Amministratori del progetto" per un progetto specifico
  * <b>addbuildadmin</b> - Aggiunge un utente al gruppo "Amministratori della build" per un progetto specifico
  * <b>removebuildadmin</b> - Rimuove un utente dal gruppo "Amministratori della build" per un progetto specifico
  * <b>addcollectionadmin</b> - Aggiunge un utente al gruppo "Amministratori della raccolta del progetto"
  * <b>removecollectionadmin</b> - Rimuove un utente dal gruppo "Amministratori della raccolta del progetto"
  * <b>addcollectionbuildadmin</b> - Aggiunge un utente al gruppo "Amministratori della build della raccolta del progetto"
  * <b>removecollectionbuildadmin</b> - Rimuove un utente dal gruppo "Amministratori della build della raccolta del progetto"
  * <b>addcollectionbuildsvc</b> - Aggiunge un utente al gruppo "Account servizio build della raccolta del progetto"
  * <b>removecollectionbuildsvc</b> - Rimuove un utente dal gruppo "Account servizio build della raccolta del progetto"
  * <b>addcollectionsvc</b> - Aggiunge un utente al gruppo "Account servizio della raccolta del progetto"
  * <b>removecollectionsvc</b> - Rimuove un utente dal gruppo "Account servizio della raccolta del progetto"
  * <b>getpipelinevars</b> - Recupera le variabili della pipeline per un progetto specifico.
  * <b>getpipelinesecrets</b> - Recupera i nomi dei segreti della pipeline per un progetto specifico.
  * <b>getvariablegroups</b> - Recupera i gruppi di variabili e le corrispondenti variabili per un progetto specifico.
  * <b>getserviceconnections</b> - Recupera le connessioni di servizio per un progetto specifico.

## Argomenti/Opzioni

* <b>/credential:</b> - credenziale per l'autenticazione (PAT o Cookie). Applicabile a tutti i moduli.
* <b>/url:</b> - URL di Azure DevOps. Applicabile a tutti i moduli.
* <b>/search:</b> - Parola chiave da cercare. Non applicabile a tutti i moduli.
* <b>/project:</b> - Progetto per cui eseguire un'azione. Non applicabile a tutti i moduli.
* <b>/user:</b> - Esegue un'azione su un utente specifico. Non applicabile a tutti i moduli.
* <b>/id:</b> - Utilizzato con i moduli di persistenza per eseguire un'azione su un ID token specifico. Non applicabile a tutti i moduli.
* <b>/group:</b> - Esegue un'azione su un gruppo specifico. Non applicabile a tutti i moduli.

## Opzioni di autenticazione

Di seguito sono riportate le opzioni di autenticazione disponibili con ADOKit quando ci si autentica a un'istanza di Azure DevOps.

* **Cookie rubato - UserAuthentication** - Questo sarà il cookie `UserAuthentication` sul computer di un utente per il dominio `.dev.azure.com`.
  * `/credential:UserAuthentication=ABC123`
* **Cookie rubato - AadAuthentication** - Questo sarà il cookie `AadAuthentication` sul computer di un utente per il dominio `.dev.azure.com`.
  * `/credential:eyJ0...`
* **Token di accesso personale (PAT)** - Questo sarà un token di accesso/chiave API che sarà una singola stringa.
  * `/credential:apiToken`
* **Token di accesso rubato** - Se riesci a rubare o aggiornare un token di accesso appropriato, puoi anche usarlo. Quando si utilizza un token di accesso, deve essere valido per la risorsa di Azure Resource Manager (ARM) - `"aud":"https://management.core.windows.net/"` o Azure Devops - `"aud":"499b84ac-1321-427f-aa17-267ca6975798"`
  * `/credential:eyJ0..`

## Tabella dettagli moduli
La tabella seguente mostra i permessi necessari per ogni modulo.

Scenario di attacco | Modulo  | Permessi speciali? | Note
--- |--- | --- | ---
Ricognizione | `check` |  No | 
Ricognizione | `whoami` |  No |
Ricognizione | `listorgs` |  No | 
Ricognizione | `listrepo` |  No | 
Ricognizione | `searchrepo` |  No | 
Ricognizione | `listproject` |  No | 
Ricognizione | `searchproject` |  No | 
Ricognizione | `searchcode` |  No | 
Ricognizione | `searchfile` |  No | 
Ricognizione | `listuser` |  No | 
Ricognizione | `searchuser` |  No |
Ricognizione | `listteam` |  No | 
Ricognizione | `searchteam` |  No |
Ricognizione | `getteammembers` |  No | 
Ricognizione | `listgroup` |  No | 
Ricognizione | `searchgroup` |  No |
Ricognizione | `getgroupmembers` |  No |
Ricognizione | `getpermissions` |  No |
Ricognizione | `creds` |  No | 
Ricognizione | `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` | 
Ricognizione | `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` |
Ricognizione | `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` | 
Persistenza | `createpat` |  No | 
Persistenza | `listpat` |  No | 
Persistenza | `removepat` |  No | 
Persistenza | `createsshkey` |  No | 
Persistenza | `listsshkey` |  No | 
Persistenza | `removesshkey` |  No | 
Escalation dei privilegi | `addprojectadmin` |  Sì - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts` | 
Escalation dei privilegi | `removeprojectadmin` |  Sì - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts`  | 
Escalation dei privilegi | `addbuildadmin` |  Sì - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Escalation dei privilegi | `removebuildadmin` |  Sì - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Escalation dei privilegi | `addcollectionadmin` |  Sì - `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Escalation dei privilegi | `removecollectionadmin` |  Sì - `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Escalation dei privilegi | `addcollectionbuildadmin` |  Sì - `Project Collection Administrator` o `Project Collection Service Accounts`  | 
Escalation dei privilegi | `removecollectionbuildadmin` |  Sì - `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Escalation dei privilegi | `addcollectionbuildsvc` |  Sì - `Project Collection Administrator`, `Project Colection Build Administrators` o `Project Collection Service Accounts`  | 
Escalation dei privilegi | `removecollectionbuildsvc` |  Sì - `Project Collection Administrator`, `Project Colection Build Administrators` o `Project Collection Service Accounts`   | 
Escalation dei privilegi | `addcollectionsvc` |  Sì - `Project Collection Administrator` o `Project Collection Service Accounts`   | 
Escalation dei privilegi | `removecollectionsvc` |  Sì - `Project Collection Administrator` o `Project Collection Service Accounts` | 
Escalation dei privilegi | `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` |
Escalation dei privilegi | `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` | 
Escalation dei privilegi | `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` |
Escalation dei privilegi | `getserviceconnections` |  Sì - `Project Administrator`, `Project Collection Administrator` o `Project Collection Service Accounts` | 

## Esempi

### Validare l'accesso ad Azure DevOps

#### Caso d'uso

> *Esegue un controllo di autenticazione per verificare che l'organizzazione stia utilizzando Azure DevOps e che le credenziali fornite siano valide.*

#### Sintassi

Fornisci il modulo `check`, insieme a qualsiasi informazione di autenticazione rilevante e URL. Questo restituirà se l'organizzazione fornita utilizza Azure DevOps e, in caso affermativo, tenterà di validare le credenziali fornite.

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

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

#### Output di esempio```
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 d'uso

> *Ottieni l'utente corrente e le appartenenze ai gruppi dell'utente*

#### Sintassi

Fornisci il modulo `whoami`, insieme a qualsiasi informazione di autenticazione pertinente e URL. Questo restituirà l'utente corrente e tutte le sue appartenenze ai gruppi.

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

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

#### Output di esempio```
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

```
### Elenca Organizzazioni

#### Caso d'Uso

> *Recupera le organizzazioni utilizzando un token di accesso specificato.*

#### Sintassi

Fornisci al modulo `listorgs` le informazioni di autenticazione richieste. Per impostazione predefinita, questo comando elenca solo le organizzazioni accessibili con il token di accesso fornito.

- Usa **`/mode:aad`** per enumerare **tutte** le organizzazioni DevOps all'interno del tenant Azure AD, indipendentemente dall'accesso diretto.
- Usa **`/endpoint:ENDPOINT_NAME`** per specificare un endpoint AEX personalizzato.  
  - Endpoint aggiuntivi possono essere identificati ispezionando il cookie `"X-VSS-DeploymentAffinity"` da `aex.dev.azure.com`.

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

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

#### Esempio di Output```
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

```
### Elenca Repository

#### Caso d'uso

> *Scopri i repository utilizzati nell'istanza di Azure DevOps*

#### Sintassi

Fornisci il modulo `listrepo`, insieme a qualsiasi informazione di autenticazione rilevante e URL. Questo produrrà il nome del repository e l'URL.

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

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

#### Esempio di Output```
C:\>ADOKit.exe listrepo /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization

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

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


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

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

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

```
### Ricerca Repository

#### Caso d'uso

> *Cerca repository per nome del repository nell'istanza di Azure DevOps*

#### Sintassi

Fornisci il modulo `searchrepo` e i criteri di ricerca nell'argomento della riga di comando `/search:`, insieme alle informazioni di autenticazione e all'URL pertinenti. Questo restituirà il nome e l'URL del repository corrispondente.

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

#### Output di esempio```
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

```
### Elenca Progetti

#### Caso d'uso

> *Scopri i progetti in uso in un'istanza di Azure DevOps*

#### Sintassi

Fornisci il modulo `listproject`, insieme a qualsiasi informazione di autenticazione rilevante e URL. Questo produrrà il nome del progetto, la visibilità (pubblica o privata) e l'URL.

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

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

#### Esempio di output```
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

```
### Ricerca Progetti

#### Caso d'Uso

> *Cerca progetti per nome del progetto nell'istanza di Azure DevOps*

#### Sintassi

Fornisci il modulo `searchproject` e i criteri di ricerca nell'argomento della riga di comando `/search:`, insieme alle informazioni di autenticazione rilevanti e all'URL. Questo restituirà il nome del progetto corrispondente, la visibilità (pubblico o privato) e l'URL.

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

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

#### Esempio di Output```
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

```
### Ricerca Codice

#### Caso d'Uso

> *Cerca codice contenente una determinata parola chiave nell'istanza di Azure DevOps*

#### Sintassi

Fornisci il modulo `searchcode` e i criteri di ricerca nell'argomento della riga di comando `/search:`, insieme alle informazioni di autenticazione rilevanti e all'URL. Questo restituirà l'URL del file di codice corrispondente, insieme alla riga del codice che corrisponde.

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

#### Esempio di Output```
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
```
### Cerca file

#### Caso d'uso

> *Cerca file nei repository che contengono una parola chiave nel nome file in Azure DevOps*

#### Sintassi

Fornisci il modulo `searchfile` e i criteri di ricerca nell'argomento della riga di comando `/search:`, insieme a eventuali informazioni di autenticazione e URL. Questo restituirà l'URL del file corrispondente nel rispettivo repository.

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

#### Esempio di Output```
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

```
### Ricerca Credenziali

#### Caso d'uso

> *Cerca codice contenente segreti come password o chiavi API in Azure DevOps*

#### Sintassi

Fornisci il modulo `creds`, insieme a qualsiasi informazione di autenticazione pertinente e URL. Questo produrrà l'URL del file corrispondente nel suo repository e le righe corrispondenti in cui sono presenti le credenziali.

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

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

#### Output di esempio```
C:\>ADOKit.exe creds /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization

==================================================
Module:         creds
Auth Type:      Cookie
```

---

[Read more](https://github.com/h4wkst3r/adokit)
Scarica lo strumento