Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ADOKit — 모듈형 공격 툴킷으로, 도난된 쿠키나 PAT를 사용하여 Azure DevOps REST API를 악용해 정찰, 권한 상승 및 지속성을 확보합니다. | Kitploit
도구/GitHubGitHub/h4wkst3r/adokit
Privilege EscalationReconnaissancePersistence MechanismsPenetration TestingCloud SecurityRed Teaming
GitHubh4wkst3r/adokit

ADOKit

모듈형 공격 툴킷으로, 도난된 쿠키나 PAT를 사용하여 Azure DevOps REST API를 악용해 정찰, 권한 상승 및 지속성을 확보합니다.

저장소 보기
15564733개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
# ADOKit

## 설명

Azure DevOps Services 공격 툴킷 - ADOKit는 사용 가능한 REST API를 활용하여 Azure DevOps Services를 공격하는 데 사용할 수 있는 툴킷입니다. 이 도구는 사용자가 공격 모듈을 지정하고 해당 Azure DevOps Services 인스턴스에 대한 유효한 자격 증명(API 키 또는 도난된 인증 쿠키)을 함께 지정할 수 있도록 합니다. 지원되는 공격 모듈에는 정찰, 권한 상승 및 지속성이 포함됩니다. ADOKit는 모듈식 접근 방식으로 구축되어 정보 보안 커뮤니티에서 향후 새로운 모듈을 추가할 수 있습니다.

ADOKit에서 사용하는 기술에 대한 자세한 내용은 X-Force Red [백서](https://www.ibm.com/downloads/cas/5JKAPVYD)에 있습니다.

### Black Hat USA Arsenal 2024

발표 슬라이드와 데모는 이 저장소의 [BHUSA Arsenal 2024](https://github.com/h4wkst3r/adokit/blob/main/BHUSA_Arsenal_2024) 폴더에 포함되어 있습니다.

## 릴리스
* ADOKit 버전 1.4.1은 릴리스에서 찾을 수 있습니다.

## 목차

- [ADOKit](#adokit)
- [목차](#table-of-contents)
- [설치/빌드](#installationbuilding)
  - [사용된 라이브러리](#libraries-used)
  - [사전 컴파일](#pre-compiled)
  - [직접 빌드](#building-yourself)
- [명령 모듈](#command-modules)
- [인수/옵션](#argumentsoptions)
- [인증 옵션](#authentication-options)
- [모듈 세부 정보 표](#module-details-table)
- [예제](#examples)
  - 정찰
    - [Azure DevOps 액세스 확인](#validate-azure-devops-access)
    - [Whoami](#whoami)
    - [조직 나열](#List-orgs)
    - [저장소 나열](#List-repos)
    - [저장소 검색](#Search-repos)
    - [프로젝트 나열](#list-projects)
    - [프로젝트 검색](#search-projects)
    - [코드 검색](#Search-code)
    - [파일 검색](#Search-files)
    - [사용자 나열](#list-users)
    - [사용자 검색](#search-user)
    - [팀 나열](#list-teams)
    - [팀 검색](#search-team)
    - [팀 구성원 가져오기](#get-team-members)
    - [그룹 나열](#list-groups)
    - [그룹 검색](#search-groups)
    - [그룹 구성원 가져오기](#get-group-members)
    - [프로젝트 권한 가져오기](#get-project-permissions)
    - [자격 증명 검색](#creds-search)
    - [빌드 로그 가져오기](#get-build-logs)
    - [빌드 로그 나열](#list-build-logs)
    - [빌드 로그 검색](#search-build-logs)
  - 지속성
    - [PAT 생성](#create-pat)
    - [PAT 나열](#list-pats)
    - [PAT 제거](#remove-pat)
    - [SSH 키 생성](#create-ssh-key)
    - [SSH 키 나열](#list-ssh-keys)
    - [SSH 키 제거](#remove-ssh-key)
  - 권한 상승
    - [프로젝트 관리자 추가](#add-project-admin)
    - [프로젝트 관리자 제거](#remove-project-admin)
    - [빌드 관리자 추가](#add-build-admin)
    - [빌드 관리자 제거](#remove-build-admin)
    - [컬렉션 관리자 추가](#add-collection-admin)
    - [컬렉션 관리자 제거](#remove-collection-admin)
    - [컬렉션 빌드 관리자 추가](#add-collection-build-admin)
    - [컬렉션 빌드 관리자 제거](#remove-collection-build-admin)
    - [컬렉션 빌드 서비스 계정 추가](#add-collection-build-service-account)
    - [컬렉션 빌드 서비스 계정 제거](#remove-collection-build-service-account)
    - [컬렉션 서비스 계정 추가](#add-collection-service-account)
    - [컬렉션 서비스 계정 제거](#remove-collection-service-account)
    - [파이프라인 변수 가져오기](#get-pipeline-variables)
    - [파이프라인 비밀 가져오기](#get-pipeline-secrets)
    - [변수 그룹 가져오기](#get-variable-groups)
    - [서비스 연결 가져오기](#get-service-connections)
- [탐지](#detection)
- [로드맵](#roadmap)
- [참고 자료](#references)

## 설치/빌드

### 사용된 라이브러리
이 프로젝트에서는 아래의 타사 라이브러리가 사용됩니다.

| 라이브러리 | URL | 라이선스 |
| ------------- | ------------- | ------------- |
| Fody  | [https://github.com/Fody/Fody](https://github.com/Fody/Fody) | MIT 라이선스  |
| Newtonsoft.Json  | [https://github.com/JamesNK/Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) | MIT 라이선스  |

### 사전 컴파일

* 릴리스에서 사전 컴파일된 바이너리를 사용하십시오.

### 직접 빌드

프로젝트를 직접 컴파일하려면 아래 단계에 따라 Visual Studio를 설정하십시오. 이를 위해서는 NuGet 패키지 관리자에서 설치할 수 있는 두 개의 .NET 라이브러리가 필요합니다.

* Visual Studio 프로젝트를 로드하고 "도구" --> "NuGet 패키지 관리자" --> "패키지 관리자 설정"으로 이동하십시오.
* "NuGet 패키지 관리자" --> "패키지 소스"로 이동하십시오.
* URL이 `https://api.nuget.org/v3/index.json`인 패키지 소스를 추가하십시오.
* Costura.Fody NuGet 패키지를 설치하십시오.
  * `Install-Package Costura.Fody -Version 3.3.3`
* Newtonsoft.Json 패키지를 설치하십시오.
  * `Install-Package Newtonsoft.Json`
* 이제 프로젝트를 직접 빌드할 수 있습니다!

## 명령 모듈

* 정찰
  * <b>check</b> - 조직이 Azure DevOps를 사용하는지와 자격 증명이 유효한지 확인합니다.
  * <b>whoami</b> - 현재 사용자와 해당 그룹 멤버십을 나열합니다.
  * <b>listorgs</b> - Azure DevOps 내에서 액세스 가능한 모든 조직 또는 전체 조직을 나열합니다.
  * <b>listrepo</b> - 모든 저장소를 나열합니다.
  * <b>searchrepo</b> - 주어진 저장소를 검색합니다.
  * <b>listproject</b> - 모든 프로젝트를 나열합니다.
  * <b>searchproject</b> - 주어진 프로젝트를 검색합니다.
  * <b>searchcode</b> - 검색어가 포함된 코드를 검색합니다.
  * <b>searchfile</b> - 검색어를 기반으로 파일을 검색합니다.
  * <b>listuser</b> - 사용자를 나열합니다.
  * <b>searchuser</b> - 주어진 사용자를 검색합니다.
  * <b>listteam</b> - 팀을 나열합니다.
  * <b>searchteam</b> - 주어진 팀을 검색합니다.
  * <b>getteammembers</b> - 주어진 팀의 팀 구성원을 가져옵니다.
  * <b>listgroup</b> - 그룹을 나열합니다.
  * <b>searchgroup</b> - 주어진 그룹을 검색합니다.
  * <b>getgroupmembers</b> - 주어진 그룹의 모든 그룹 구성원을 나열합니다.
  * <b>getpermissions</b> - 주어진 프로젝트에 액세스할 수 있는 사람의 권한을 가져옵니다.
  * <b>creds</b> - 코드에서 자격 증명을 검색합니다(키워드는 아래 나열됨).
    * ``` "pw OR pwd OR passwrod OR password OR \"-----BEGIN PGP PRIVATE KEY BLOCK-----\" OR \"-----BEGIN EC PRIVATE KEY-----\" OR \"-----BEGIN DSA PRIVATE KEY-----\" OR \"-----BEGIN OPENSSH PRIVATE KEY-----\" OR \"-----BEGIN RSA PRIVATE KEY-----\" OR ANSIBLE_VAULT OR AWS_ACCESS_KEY_ID OR AWS_SECRET_ACCESS_KEY OR ACCESS_TOKEN OR API_KEY OR Authorization OR db_password" ```
  * <b>getbuildlogs</b> - 하나 또는 모든 프로젝트의 빌드 로그를 다운로드합니다.
  * <b>listbuildlogs</b> - 하나 또는 모든 프로젝트의 빌드 로그를 나열합니다.
  * <b>searchbuildlogs</b> - 주어진 검색어로 빌드 로그를 검색합니다.
* 지속성
  * <b>createpat</b> - 사용자에 대한 개인 액세스 토큰을 생성합니다.
  * <b>listpat</b> - 사용자에 대한 개인 액세스 토큰을 나열합니다.
  * <b>removepat</b> - 사용자에 대한 개인 액세스 토큰을 제거합니다.
  * <b>createsshkey</b> - 사용자에 대한 공개 SSH 키를 생성합니다.
  * <b>listsshkey</b> - 사용자에 대한 공개 SSH 키를 나열합니다.
  * <b>removesshkey</b> - 사용자에 대한 공개 SSH 키를 제거합니다.
* 권한 상승
  * <b>addprojectadmin</b> - 주어진 프로젝트의 "프로젝트 관리자"에 사용자를 추가합니다.
  * <b>removeprojectadmin</b> - 주어진 프로젝트의 "프로젝트 관리자" 그룹에서 사용자를 제거합니다.
  * <b>addbuildadmin</b> - 주어진 프로젝트의 "빌드 관리자" 그룹에 사용자를 추가합니다.
  * <b>removebuildadmin</b> - 주어진 프로젝트의 "빌드 관리자" 그룹에서 사용자를 제거합니다.
  * <b>addcollectionadmin</b> - "프로젝트 컬렉션 관리자" 그룹에 사용자를 추가합니다.
  * <b>removecollectionadmin</b> - "프로젝트 컬렉션 관리자" 그룹에서 사용자를 제거합니다.
  * <b>addcollectionbuildadmin</b> - "프로젝트 컬렉션 빌드 관리자" 그룹에 사용자를 추가합니다.
  * <b>removecollectionbuildadmin</b> - "프로젝트 컬렉션 빌드 관리자" 그룹에서 사용자를 제거합니다.
  * <b>addcollectionbuildsvc</b> - "프로젝트 컬렉션 빌드 서비스 계정" 그룹에 사용자를 추가합니다.
  * <b>removecollectionbuildsvc</b> - "프로젝트 컬렉션 빌드 서비스 계정" 그룹에서 사용자를 제거합니다.
  * <b>addcollectionsvc</b> - "프로젝트 컬렉션 서비스 계정" 그룹에 사용자를 추가합니다.
  * <b>removecollectionsvc</b> - "프로젝트 컬렉션 서비스 계정" 그룹에서 사용자를 제거합니다.
  * <b>getpipelinevars</b> - 주어진 프로젝트에 사용되는 모든 파이프라인 변수를 검색합니다.
  * <b>getpipelinesecrets</b> - 주어진 프로젝트에 사용되는 모든 파이프라인 비밀의 이름을 검색합니다.
  * <b>getvariablegroups</b> - 주어진 프로젝트에 사용되는 모든 변수 그룹과 해당 변수를 검색합니다.
  * <b>getserviceconnections</b> - 주어진 프로젝트에 사용되는 서비스 연결을 검색합니다.


## 인수/옵션

* <b>/credential:</b> - 인증을 위한 자격 증명(PAT 또는 쿠키)입니다. 모든 모듈에 적용됩니다.
* <b>/url:</b> - Azure DevOps URL입니다. 모든 모듈에 적용됩니다.
* <b>/search:</b> - 검색할 키워드입니다. 모든 모듈에 적용되지 않습니다.
* <b>/project:</b> - 작업을 수행할 프로젝트입니다. 모든 모듈에 적용되지 않습니다.
* <b>/user:</b> - 특정 사용자에 대해 작업을 수행합니다. 모든 모듈에 적용되지 않습니다.
* <b>/id:</b> - 지속성 모듈과 함께 사용되어 특정 토큰 ID에 대해 작업을 수행합니다. 모든 모듈에 적용되지 않습니다.
* <b>/group:</b> - 특정 그룹에 대해 작업을 수행합니다. 모든 모듈에 적용되지 않습니다.

## 인증 옵션

Azure DevOps 인스턴스에 인증할 때 ADOKit에서 사용할 수 있는 인증 옵션은 아래와 같습니다.

* **도난된 쿠키 - UserAuthentication** - `.dev.azure.com` 도메인에 대한 사용자 머신의 `UserAuthentication` 쿠키입니다.
  * `/credential:UserAuthentication=ABC123`
* **도난된 쿠키 - AadAuthentication** - `.dev.azure.com` 도메인에 대한 사용자 머신의 `AadAuthentication` 쿠키입니다.
  * `/credential:eyJ0...`
* **개인 액세스 토큰(PAT)** - 단일 문자열인 액세스 토큰/API 키입니다.
  * `/credential:apiToken`
* **도난된 액세스 토큰** - 적절한 액세스 토큰을 도난당하거나 갱신할 수 있는 경우 이를 사용할 수도 있습니다. 액세스 토큰을 사용하는 경우 Azure Resource Manager(ARM) 리소스(`"aud":"https://management.core.windows.net/"`) 또는 Azure DevOps 리소스(`"aud":"499b84ac-1321-427f-aa17-267ca6975798"`)에 대해 유효해야 합니다.
  * `/credential:eyJ0..`

## 모듈 세부 정보 표
아래 표는 각 모듈에 필요한 권한을 보여줍니다.

공격 시나리오 | 모듈  | 특별 권한 필요? | 참고
--- |--- | --- | ---
정찰 | `check` |  아니요 | 
정찰 | `whoami` |  아니요 |
정찰 | `listorgs` |  아니요 | 
정찰 | `listrepo` |  아니요 | 
정찰 | `searchrepo` |  아니요 | 
정찰 | `listproject` |  아니요 | 
정찰 | `searchproject` |  아니요 | 
정찰 | `searchcode` |  아니요 | 
정찰 | `searchfile` |  아니요 | 
정찰 | `listuser` |  아니요 | 
정찰 | `searchuser` |  아니요 |
정찰 | `listteam` |  아니요 | 
정찰 | `searchteam` |  아니요 |
정찰 | `getteammembers` |  아니요 | 
정찰 | `listgroup` |  아니요 | 
정찰 | `searchgroup` |  아니요 |
정찰 | `getgroupmembers` |  아니요 |
정찰 | `getpermissions` |  아니요 |
정찰 | `creds` |  아니요 | 
정찰 | `getbuildlogs` |  예 - `Contributors` 또는 `Readers` 또는 `Build Administrators` 또는 `Project Administrators` 또는 `Project Team Member` 또는 `Project Collection Test Service Accounts` 또는 `Project Collection Build Service Accounts` 또는 `Project Collection Build Administrators` 또는 `Project Collection Service Accounts` 또는 `Project Collection Administrators` | 
정찰 | `listbuildlogs` |  예 - `Contributors` 또는 `Readers` 또는 `Build Administrators` 또는 `Project Administrators` 또는 `Project Team Member` 또는 `Project Collection Test Service Accounts` 또는 `Project Collection Build Service Accounts` 또는 `Project Collection Build Administrators` 또는 `Project Collection Service Accounts` 또는 `Project Collection Administrators` |
정찰 | `searchbuildlogs` |  예 - `Contributors` 또는 `Readers` 또는 `Build Administrators` 또는 `Project Administrators` 또는 `Project Team Member` 또는 `Project Collection Test Service Accounts` 또는 `Project Collection Build Service Accounts` 또는 `Project Collection Build Administrators` 또는 `Project Collection Service Accounts` 또는 `Project Collection Administrators` | 
지속성 | `createpat` |  아니요 | 
지속성 | `listpat` |  아니요 | 
지속성 | `removepat` |  아니요 | 
지속성 | `createsshkey` |  아니요 | 
지속성 | `listsshkey` |  아니요 | 
지속성 | `removesshkey` |  아니요 | 
권한 상승 | `addprojectadmin` |  예 - `Project Administrator`, `Project Collection Administrator` 또는 `Project Collection Service Accounts` | 
권한 상승 | `removeprojectadmin` |  예 - `Project Administrator`, `Project Collection Administrator` 또는 `Project Collection Service Accounts`  | 
권한 상승 | `addbuildadmin` |  예 - `Project Administrator`, `Project Collection Administrator` 또는 `Project Collection Service Accounts`   | 
권한 상승 | `removebuildadmin` |  예 - `Project Administrator`, `Project Collection Administrator` 또는 `Project Collection Service Accounts`   | 
권한 상승 | `addcollectionadmin` |  예 - `Project Collection Administrator` 또는 `Project Collection Service Accounts`   | 
권한 상승 | `removecollectionadmin` |  예 - `Project Collection Administrator` 또는 `Project Collection Service Accounts`   | 
권한 상승 | `addcollectionbuildadmin` |  예 - `Project Collection Administrator` 또는 `Project Collection Service Accounts`  | 
권한 상승 | `removecollectionbuildadmin` |  예 - `Project Collection Administrator` 또는 `Project Collection Service Accounts`   | 
권한 상승 | `addcollectionbuildsvc` |  예 - `Project Collection Administrator`, `Project Colection Build Administrators` 또는 `Project Collection Service Accounts`  | 
권한 상승 | `removecollectionbuildsvc` |  예 - `Project Collection Administrator`, `Project Colection Build Administrators` 또는 `Project Collection Service Accounts`   | 
권한 상승 | `addcollectionsvc` |  예 - `Project Collection Administrator` 또는 `Project Collection Service Accounts`   | 
권한 상승 | `removecollectionsvc` |  예 - `Project Collection Administrator` 또는 `Project Collection Service Accounts` | 
권한 상승 | `getpipelinevars` | 예 - `Contributors` 또는 `Readers` 또는 `Build Administrators` 또는 `Project Administrators` 또는 `Project Team Member` 또는 `Project Collection Test Service Accounts` 또는 `Project Collection Build Service Accounts` 또는 `Project Collection Build Administrators` 또는 `Project Collection Service Accounts` 또는 `Project Collection Administrators` |
권한 상승 | `getpipelinesecrets` |  예 - `Contributors` 또는 `Readers` 또는 `Build Administrators` 또는 `Project Administrators` 또는 `Project Team Member` 또는 `Project Collection Test Service Accounts` 또는 `Project Collection Build Service Accounts` 또는 `Project Collection Build Administrators` 또는 `Project Collection Service Accounts` 또는 `Project Collection Administrators` | 
권한 상승 | `getvariablegroups` |  예 - `Contributors` 또는 `Readers` 또는 `Build Administrators` 또는 `Project Administrators` 또는 `Project Team Member` 또는 `Project Collection Test Service Accounts` 또는 `Project Collection Build Service Accounts` 또는 `Project Collection Build Administrators` 또는 `Project Collection Service Accounts` 또는 `Project Collection Administrators` |
권한 상승 | `getserviceconnections` |  예 - `Project Administrator`, `Project Collection Administrator` 또는 `Project Collection Service Accounts` | 


## 예제

### Azure DevOps 액세스 확인

#### 사용 사례

> *조직이 Azure DevOps를 사용하고 제공된 자격 증명이 유효한지 확인하기 위해 인증 검사를 수행합니다.*

#### 구문

`check` 모듈과 관련 인증 정보 및 URL을 제공하십시오. 이는 제공된 조직이 Azure DevOps를 사용하는지 여부를 출력하고, 그렇다면 제공된 자격 증명의 유효성을 검증하려고 시도합니다.

`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

Timestamp:      3/28/2023 3:33:01 PM
==================================================


[*] INFO: Checking if organization provided uses Azure DevOps

[+] SUCCESS: Organization provided exists in Azure DevOps


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

3/28/23 19:33:02 Finished execution of check
```
### Whoami

#### 사용 사례

> *현재 사용자 및 사용자의 그룹 멤버십 가져오기*

#### 구문

`whoami` 모듈과 함께 관련 인증 정보 및 URL을 제공합니다. 이는 현재 사용자와 모든 그룹 멤버십을 출력합니다.

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

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

#### 예제 출력```
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

```
### 조직 목록

#### 사용 사례

> *주어진 액세스 토큰을 사용하여 조직을 검색합니다.*

#### 구문

`listorgs` 모듈에 필요한 인증 정보를 제공합니다. 기본적으로 이 명령은 제공된 액세스 토큰으로 접근 가능한 조직만 나열합니다.

- **`/mode:aad`**를 사용하여 직접 액세스 여부와 관계없이 Azure AD 테넌트 내의 **모든** DevOps 조직을 열거합니다.
- **`/endpoint:ENDPOINT_NAME`**를 사용하여 사용자 지정 AEX 엔드포인트를 지정합니다.  
  - 추가 엔드포인트는 `aex.dev.azure.com`의 `"X-VSS-DeploymentAffinity"` 쿠키를 검사하여 식별할 수 있습니다.

`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

Timestamp:      3/14/2025 2:26:45 PM
==================================================                                                                                                                                                 

[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

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

```
### 저장소 목록

#### 사용 사례

> *Azure DevOps 인스턴스에서 사용 중인 리포지토리를 검색합니다*

#### 구문

`listrepo` 모듈과 관련 인증 정보 및 URL을 제공합니다. 그러면 리포지토리 이름과 URL이 출력됩니다.

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

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

#### 출력 예시

```
Retrieving repository list...

Repository List:

Repository Name: awesomeRepo
Repository URL: https://dev.azure.com/organizationName/ProjectName/_git/awesomeRepo
``````
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

```
### 리포지토리 검색

#### 사용 사례

> *Azure DevOps 인스턴스에서 리포지토리 이름으로 리포지토리 검색*

#### 구문

`searchrepo` 모듈과 `/search:` 명령줄 인수에 검색 기준을 제공하고, 관련 인증 정보 및 URL을 함께 입력합니다. 그러면 일치하는 리포지토리 이름과 URL이 출력됩니다.

`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

Timestamp:      3/29/2023 9:26:57 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                          Name |                                                URL
-----------------------------------------------------------------------------------
                  TestProject2 | https://dev.azure.com/YourOrganization/TestProject2/_git/TestProject2
                   TestProject | https://dev.azure.com/YourOrganization/TestProject/_git/TestProject

3/29/23 13:26:59 Finished execution of searchrepo

```
### 프로젝트 목록

#### 사용 사례

> *Azure DevOps 인스턴스에서 사용 중인 프로젝트 검색*

#### 구문

`listproject` 모듈과 관련 인증 정보 및 URL을 제공합니다. 그러면 프로젝트 이름, 공개/비공개 여부 및 URL이 출력됩니다.

`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

```
### 프로젝트 검색

#### 사용 사례

> *Azure DevOps 인스턴스에서 프로젝트 이름으로 프로젝트 검색*

#### 구문

검색 조건과 함께 `searchproject` 모듈을 `/search:` 명령줄 인수에 제공하고 관련 인증 정보와 URL을 함께 제공합니다. 그러면 일치하는 프로젝트 이름, 표시 여부(공개 또는 비공개) 및 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

Timestamp:      4/4/2023 7:45:30 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

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

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

```
### 코드 검색

#### 사용 사례

> *Azure DevOps 인스턴스에서 특정 키워드가 포함된 코드를 검색합니다.*

#### 구문

`searchcode` 모듈과 검색 조건을 `/search:` 명령줄 인수에 제공하고, 관련 인증 정보와 URL을 함께 제공합니다. 그러면 일치하는 코드 파일의 URL과 일치하는 코드 줄이 출력됩니다.

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

#### 출력 예시```
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
```
### 파일 검색

#### 사용 사례

> *Azure DevOps에서 파일 이름에 특정 키워드가 포함된 저장소의 파일 검색*

#### 구문

`searchfile` 모듈과 `/search:` 명령줄 인수에 검색 기준을 제공합니다. 관련 인증 정보 및 URL도 함께 제공하세요. 이렇게 하면 일치하는 파일의 URL이 해당 저장소에 출력됩니다.

`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

Timestamp:      3/29/2023 11:28:34 AM
==================================================


[*] INFO: Checking credentials provided

[+] SUCCESS: Credentials provided are VALID.

                                                                                            File URL
----------------------------------------------------------------------------------------------------
https://dev.azure.com/YourOrganization/MaraudersMap/_git/4f159a8e-5425-4cb5-8d98-31e8ac86c4fa?path=/Test.cs
https://dev.azure.com/YourOrganization/ProjectWithMultipleRepos/_git/c1ba578c-1ce1-46ab-8827-f245f54934e9?path=/Test.cs
https://dev.azure.com/YourOrganization/TestProject/_git/fbcf0d6d-3973-4565-b641-3b1b897cfa86?path=/test.cs

3/29/23 15:28:37 Finished execution of searchfile

```
### 자격 증명 검색

#### 사용 사례
``````

---

[Read more](https://github.com/h4wkst3r/adokit)
도구 다운로드