ADScanPro/adscan
GitHub: ADScanPro/adscan
一款 Linux CLI 的 Active Directory 自动化渗透测试工具,聚合枚举、攻击与取证能力于一体。
Stars: 484 | Forks: 52

# ADscan - Linux 下的 Active Directory 渗透测试工具
[](https://pypi.org/project/adscan/)
[](https://pepy.tech/projects/adscan)
[](https://github.com/ADscanPro/adscan/blob/main/LICENSE)
[](https://github.com/ADscanPro/adscan)
[](https://discord.com/invite/fXBR3P8H74)
**免费的 Linux Active Directory 渗透测试工具。用一个 CLI 替代你的 AD 渗透测试工具链。**
ADscan 是一款面向渗透测试人员、红队和安全顾问的免费 Linux CLI 工具。它在单一工作流中涵盖了 41 种 Active Directory 攻击技术:枚举、Kerberoasting、AS-REP roasting、ADCS/ESC 利用、DCSync、凭据收集以及原生攻击路径分析。无需 Windows。
**[文档](https://adscanpro.com/docs?utm_source=github&utm_medium=readme&utm_campaign=docs_cta)** | [Discord](https://discord.com/invite/fXBR3P8H74) | [官网](https://adscanpro.com)
## 目录
- [演示](#demo)
- [快速开始](#quick-start)
- [ADscan 与其他替代工具](#adscan-vs-alternatives)
- [Kerberoasting、ADCS 和 AD 攻击覆盖范围](#kerberoasting-adcs-and-ad-attack-coverage)
- [常见渗透测试工作流](#common-pentest-workflows)
- [用法示例](#usage-examples)
- [需要完整的客户报告?](#want-the-full-client-report)
- [环境要求](#requirements)
- [常见问题解答](#faq)
- [开发者配置](#developer-setup)
- [贡献](#contributing)
- [许可证](#license)
## 演示
[](https://asciinema.org/a/734180?autoplay=1)
_约 3 分钟内自动攻破 **HTB Forest**_
## 快速开始
```
pipx install adscan
adscan install
adscan start
```
进入 shell 后,启动一个未经身份验证的侦察:
```
(ADscan) > start_unauth
```
这可以在无需凭据的情况下发现域控制器、SMB 暴露、空会话和可被 Roasting 的账户。然后,使用一个域用户运行 `start_auth` 来枚举 LDAP、收集 BloodHound 数据并构建攻击图。
## ADscan 与其他替代工具
大多数 AD 渗透测试人员会使用 5-8 个独立的工具。ADscan 替代了以下工具链:
| | ADscan | NetExec/CrackMapExec | Certipy | Impacket | BloodHound CE |
|---|---|---|---|---|---|
| **平台** | Linux | Linux/Win | Linux | Linux | Linux/Win |
| **AD 枚举** | 完整 | 部分 | 否 | 部分 | 否 |
| **Kerberoasting** | 是 | 是 | 否 | 是 | 否 |
| **ADCS ESC1-16** | 是(自动) | 否 | 是(手动) | 否 | 否 |
| **攻击路径** | 原生图谱 | 否 | 否 | 否 | 是 |
| **DCSync** | 是 | 是 | 否 | 是 | 否 |
| **单一工作流** | 是 | 否 | 否 | 否 | 否 |
| **合规报告** | PRO 版本 | 否 | 否 | 否 | 否 |
ADscan 并不能在任何场景下替代所有工具。它是在单次终端会话中,从获取凭据到形成文档化攻击链的最快路径。
## Kerberoasting、ADCS 和 AD 攻击覆盖范围
ADscan 涵盖了整个攻击杀伤链中的 41 种 Active Directory 攻击技术:
|
### LITE(免费,源码可用)
**渗透测试人员可以手动完成的所有操作,无需依赖工具链:**
- 三种操作模式(自动/半自动/手动)
- DNS、LDAP、SMB、Kerberos 枚举
- AS-REP Roasting 和 Kerberoasting
- 密码喷洒
- 原生图谱收集和攻击路径分析
- 凭据收集(SAM、LSA、DCSync)
- ADCS 检测和模板枚举
- GPP 密码和 CVE 枚举
- 导出为 TXT/JSON
- 工作区和证据管理
|
### PRO
**将耗时数天的手动操作自动化:**
- 算法化攻击图生成
- 自动利用链(从未经身份验证到 Domain Admin)
- ADCS ESC1-16 自动利用
- 映射 MITRE 的 Word/PDF 报告
- 多域信任抓取
- 高级权限提升链
- 优先的企业支持
[完整对比](https://adscanpro.com/docs/lite-vs-pro) | [免费获取 PRO 测试版](https://adscanpro.com/pro?utm_source=github&utm_medium=readme&utm_campaign=pro_cta)
|
## 常见渗透测试工作流
- **CTF 和实验环境自动攻破:** 从文档中复现 HTB Forest、Active 和 Cicada 的攻击链。
- **未经身份验证的 AD 侦察:** 发现域、DNS、SMB 暴露、空会话、用户和可被 Roasting 的账户。
- **经验证的枚举:** 收集 LDAP、SMB、Kerberos、ADCS、攻击图数据和凭据暴露情况。
- **权限提升:** 执行 Kerberoasting、AS-REP Roasting、DCSync、GPP 密码、ADCS 和本地凭据工作流。
- **证据处理:** 保持工作区隔离,并将发现结果导出为 TXT/JSON 以用于报告。
## 用法示例
**未经身份验证的侦察:**
```
adscan start
# 在 ADscan shell 内:
start_unauth
```
无需凭据即可发现域控制器、DNS、SMB 空会话和可被 Roasting 的账户。
**通过 BloodHound 收集进行经验证的扫描:**
```
# 在 ADscan shell 内(在 start_auth 之后):
start_auth
```
收集 LDAP 数据,构建攻击图,并识别 Kerberoasting 目标、ADCS 错误配置和权限提升路径。
更多操作指南:
- [HTB Forest 自动攻破](https://adscanpro.com/docs/labs/htb/forest?utm_source=github&utm_medium=readme&utm_campaign=ctf_forest)
- [HTB Active 演练](https://adscanpro.com/docs/labs/htb/active?utm_source=github&utm_medium=readme&utm_campaign=ctf_active)
- [HTB Cicada 演练](https://adscanpro.com/docs/labs/htb/cicada?utm_source=github&utm_medium=readme&utm_campaign=ctf_cicada)
## 需要完整的客户报告?
ADscan LITE 在终端中为您提供枚举、攻击路径和发现结果。**ADscan PRO** 可以在 90 秒内生成四份 PDF 交付物:
- **高管评估报告** — 面向 CISO 和董事会的风险叙述、攻击链、安全态势评分
- **MITRE 补救清单** — 映射 ATT&CK 且根据您的实际发现结果进行筛选的行动项
- **AD 加固操作手册** — 包含工作量和责任归属的 30 天补救路线图
- **覆盖矩阵** — MITRE x ENS Alto / NIS2 / ISO 27001,随时可用于审计
安全顾问可免费获得 Beta 版访问权限。[adscanpro.com/pro](https://adscanpro.com/pro?utm_source=github&utm_medium=readme&utm_campaign=pro_cta)
## 环境要求
| | |
|---|---|
| **操作系统** | Linux (Debian/Ubuntu/Kali) |
| **Docker** | Docker Engine + Compose |
| **权限** | `docker` 用户组或 `sudo` |
| **网络** | 互联网(拉取镜像)+ 目标网络 |
## 常见问题解答
**ADscan 可以在没有 Windows 机器的情况下工作吗?**
可以。ADscan 完全在 Docker 内的 Linux 上运行。无需 Windows VM、无需 RDP、也无需安装代理。它使用标准协议(LDAP、SMB、Kerberos)通过网络连接到您的目标 AD 环境。
**ADscan 在生产环境的 Active Directory 中运行安全吗?**
ADscan LITE 在枚举时默认为只读。利用步骤(Kerberoasting、凭据转储、DCSync)需要操作员明确确认。请在获得客户书面授权的情况下在测试时间窗口内运行。请参阅[安全策略](SECURITY.md)以获取负责任的使用指南。
**ADscan 与 BloodHound 有何不同?**
BloodHound 是一款图谱分析工具,需要单独收集数据(SharpHound 或 AzureHound)。ADscan 在一个终端内完成数据收集、攻击图构建和攻击链执行。LITE 包含与 BloodHound CE 兼容的原生图谱收集功能。PRO 增加了算法化的攻击路径自动利用。
## 开发者配置
```
uv sync --extra dev
uv run adscan --help
uv run adscan version
```
质量检查:
```
uv run ruff check adscan_core adscan_launcher adscan_internal
uv run pytest -m unit
```
## 许可证
源代码在 [Business Source License 1.1](LICENSE) 下可用。
- 免费用于渗透测试(个人或付费项目)
- 阅读、修改和重新分发源代码
- 不能用于创建竞争性的商业产品
- 将于 2029-02-01 转换为 Apache 2.0
(c) 2024-2026 Yeray Martin Dominguez | [adscanpro.com](https://adscanpro.com)
标签:Kerberos, 安全工具, 模拟器, 活动目录, 渗透测试, 漏洞利用, 红队工具