Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
azuredevops-enum — 只读的 Azure DevOps 枚举工具,通过查询 REST API 在授权的安全评估期间展示项目、仓库、服务连接、构建、管道机密、权限和分支策略。 | Kitploit
工具/GitHubGitHub/reverseclabs/azuredevops-enum
侦察漏洞分析配置审计信息收集渗透测试云安全DevSecOps秘密检测错误配置API 安全
GitHubreverseclabs/azuredevops-enum

azuredevops-enum

2246个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

只读的 Azure DevOps 枚举工具,通过查询 REST API 在授权的安全评估期间展示项目、仓库、服务连接、构建、管道机密、权限和分支策略。

查看仓库

ado-enum

一个使用个人访问令牌(PAT)枚举 Azure DevOps 组织的命令行工具。它通过查询 Azure DevOps REST API 来呈现项目、仓库、服务连接、构建、构建产物和安全设置 — 在对 ADO 环境进行授权安全评估时非常有用。

功能范围与 ADOKit 类似。主要区别:采用 Python 实现,因此更具可移植性;该工具专注于只读枚举,并且能够枚举权限。

root@kitploit:~
Azure DevOps enumeration tool — projects, repositories, service connections, and more.

positional arguments:
  {projects,repos,service-endpoints,builds,build-logs,search-code,enumerate,permissions,whoami,pipeline-vars,pipeline-secrets,variable-groups,secure-files,approvals-checks,branch-policies,build-artifacts}
    projects            列出组织中的项目。
    repos               列出组织中的 Git 仓库。
    service-endpoints   枚举服务连接。
    builds              列出项目的构建。
    build-logs          下载构建日志。
    search-code         跨仓库搜索代码。
    enumerate           枚举当前登录用户、仓库、服务连接和项目。
    permissions         列出组、安全命名空间和 ACL 权限。
    whoami              识别已认证的用户并列出其组成员资格。
    pipeline-vars       列出构建管道中定义的所有变量。
    pipeline-secrets    列出构建管道中定义的秘密变量名称。
    variable-groups     列出变量组中定义的变量。
    secure-files        列出项目中注册的安全文件。
    approvals-checks    枚举受保护管道资源的审批和检查。
    branch-policies     枚举仓库的分支策略。
    build-artifacts     列出并下载构建产物。

options:
  -h, --help            显示此帮助信息并退出
  --org ORG             Azure DevOps 组织名称(例如 myorg)
  --pat PAT             个人访问令牌。如果省略,则读取 AZURE_DEVOPS_PAT 或 ADO_PAT 环境变量。
  -k, --insecure        禁用 TLS 验证(使用拦截代理时有用)。

要求

  • Python 3.9+
  • 具有适当读取作用域的 Azure DevOps PAT

安装

从 GitHub 安装(推荐)

root@kitploit:~
pip install git+https://github.com/ReversecLabs/azuredevops-enum.git

安装后,ado-enum 命令将位于您的 PATH 中。

本地/开发安装

root@kitploit:~
git clone https://github.com/ReversecLabs/azuredevops-enum.git
cd ado-enum
pip install .

或者不安装直接运行:

root@kitploit:~
pip install -r requirements.txt
python ado_enum.py --help

认证

通过 --pat 标志或环境变量提供您的 PAT:

root@kitploit:~
export AZURE_DEVOPS_PAT=<your-pat>
# 或
export ADO_PAT=<your-pat>

用法

root@kitploit:~
ado-enum --org <ORG> [--pat <PAT>] [-k] <command> [options]

命令

projects — 列出项目

root@kitploit:~
ado-enum --org myorg projects
ado-enum --org myorg projects --json

repos — 列出仓库

root@kitploit:~
ado-enum --org myorg repos
ado-enum --org myorg repos --json

service-endpoints — 枚举服务连接

root@kitploit:~
ado-enum --org myorg service-endpoints
ado-enum --org myorg service-endpoints --project "MyProject"
ado-enum --org myorg service-endpoints --json

builds — 列出构建

root@kitploit:~
ado-enum --org myorg builds
ado-enum --org myorg builds --project "MyProject"

build-logs — 下载构建日志

root@kitploit:~
# 下载所有项目中所有构建的日志
ado-enum --org myorg build-logs --output-dir ./logs

# 下载特定构建的日志
ado-enum --org myorg build-logs --project "MyProject" --build-id 42 --output-dir ./logs

search-code — 跨仓库搜索代码

需要在组织中安装 Code Search 扩展(ms.vss-code-search)。

root@kitploit:~
ado-enum --org myorg search-code "password"
ado-enum --org myorg search-code "connectionString"

输出为 JSON,包含匹配的文件 URL 及匹配的行。

enumerate — 枚举分支策略、检查和权限

root@kitploit:~
ado-enum --org myorg enumerate
ado-enum --org myorg enumerate --project "MyProject"

输出以下方面的表格:

  • 仓库 — 分支策略(最少审阅者、评论解决等)
  • 服务连接 — 已配置的审批和检查
  • 权限 — 跨 Git、构建、服务端点和项目命名空间的每个身份的权限

permissions — 列出组、安全命名空间和 ACL 权限

root@kitploit:~
# 列出所有组和 ACL 权限
ado-enum --org myorg permissions

# 列出限定到特定项目的组
ado-enum --org myorg permissions --project "MyProject"

# 仅列出组织级别组
ado-enum --org myorg permissions --org-level

# 显示特定用户的组和权限
ado-enum --org myorg permissions --user "[email protected]"

# 显示特定组的权限
ado-enum --org myorg permissions --group "Project Administrators"

要求 PAT 具有 Graph(读取) 和 Identity(读取) 作用域,以完全解析组成员资格和 ACL 条目。

whoami — 识别已认证用户

root@kitploit:~
ado-enum --org myorg whoami

读取 x-vss-userdata 头部以识别 PAT 所有者,然后查询 Graph API 以解析其显示名称、目录别名和组成员资格。

要求 PAT 具有 Graph(读取) 作用域以解析组成员资格。

pipeline-vars — 列出管道变量

root@kitploit:~
ado-enum --org myorg pipeline-vars
ado-enum --org myorg pipeline-vars --project "MyProject"
ado-enum --org myorg pipeline-vars --json

列出构建管道定义中定义的所有非秘密变量。秘密变量被排除;使用 pipeline-secrets 来枚举它们。

pipeline-secrets — 列出管道秘密变量名称

root@kitploit:~
ado-enum --org myorg pipeline-secrets
ado-enum --org myorg pipeline-secrets --project "MyProject"
ado-enum --org myorg pipeline-secrets --json

列出构建管道定义中标记为 isSecret 的变量。API 不会暴露值,因此显示为 [HIDDEN];该命令显示它们的名称、所属管道以及所在项目。

variable-groups — 列出变量组内容

root@kitploit:~
ado-enum --org myorg variable-groups
ado-enum --org myorg variable-groups --project "MyProject"
ado-enum --org myorg variable-groups --json

列出跨项目变量组中存储的所有变量。组内的秘密变量会显示其名称和 [HIDDEN] 值。

secure-files — 列出安全文件

root@kitploit:~
ado-enum --org myorg secure-files
ado-enum --org myorg secure-files --project "MyProject"
ado-enum --org myorg secure-files --json

列出 ADO Pipelines 库中注册的安全文件。不会下载文件内容;命令返回元数据:文件名、ID、创建者及创建时间。

approvals-checks — 枚举受保护资源的审批和检查

root@kitploit:~
# 枚举所有项目中所有资源类型
ado-enum --org myorg approvals-checks

# 枚举特定资源类型
ado-enum --org myorg approvals-checks repositories
ado-enum --org myorg approvals-checks service-connections

# 限定到特定项目
ado-enum --org myorg approvals-checks --project "MyProject"
ado-enum --org myorg approvals-checks environments --project "MyProject"

# JSON 输出
ado-enum --org myorg approvals-checks --json

支持的资源类型:agent-pools、environments、repositories、secure-files、service-connections、variable-groups。如果未指定资源类型,则枚举所有类型。

branch-policies — 枚举仓库的分支策略

root@kitploit:~
# 列出仓库的所有分支策略
ado-enum --org myorg branch-policies --project "MyProject" --repository "MyRepo"

# 过滤到特定分支
ado-enum --org myorg branch-policies --project "MyProject" --repository "MyRepo" --branch main

# JSON 输出
ado-enum --org myorg branch-policies --project "MyProject" --repository "MyRepo" --json

--project 和 --repository 是必需的。--branch 是可选的;若不指定,则返回仓库的所有策略。

build-artifacts — 列出并下载构建产物

root@kitploit:~
# 列出所有产物
ado-enum --org myorg build-artifacts

# 下载所有产物
ado-enum --org myorg build-artifacts --download

# 下载特定构建的所有产物
ado-enum --org myorg build-artifacts --project "MyProject" --build-id 42 --download

# 下载指定名称的产物
ado-enum --org myorg build-artifacts --project "MyProject" --build-id 42 \
  --download --artifact-name "drop" --output-dir ./artefacts

代理 / proxychains 支持

当通过拦截代理路由时,使用 -k 禁用 TLS 验证:

root@kitploit:~
proxychains ado-enum --org myorg -k projects

或者设置 HTTPS_PROXY / HTTP_PROXY 环境变量 — requests 库会自动使用它们。


参考

  • ADOKit
下载工具
标志描述
--org组织名称(例如来自 https://dev.azure.com/myorg 的 myorg)
--patPAT 令牌(或设置 AZURE_DEVOPS_PAT / ADO_PAT)
-k / --insecure禁用 TLS 验证(使用拦截代理时有用)