capture0x/AdAgent

GitHub: capture0x/AdAgent

AdAgent 是一个 AI 驱动的 Active Directory 攻击代理,用于自动化执行渗透测试中的完整攻击链。

Stars: 2 | Forks: 0

AdAgent

59 Tools 139 Techniques 22 Categories AI Backends Python License

AI 驱动的 Active Directory 攻击代理
59 种工具 · 139 种技术 · 自主攻击链执行 · Ollama + Claude

## 概述 **AdAgent** 是一个独立的自主代理,它使用 AI 后端(Ollama 或 Claude)自动链接 Active Directory 攻击技术。它驱动完整的攻击链——从初始枚举到域控沦陷——无需手动干预,同时跟踪证据、适应死路径,并生成结构化的渗透测试报告。 ## 主菜单

AdAgent Main Menu

主菜单显示了一个实时仪表板,包含目标、认证模式、攻击者 IP、发现结果严重性分布和会话统计信息——所有信息实时更新。绿色圆点表示就绪状态;菜单项根据当前配置显示 `READY` 或 `SESSION REQUIRED`。 ## 快速开始 ``` git clone https://github.com/capture0x/AdAgent.git cd AdAgent chmod +x install.sh run.sh ./install.sh cp .env.example .env nano .env # set DC_IP, DOMAIN, USERNAME, PASSWORD ./run.sh ``` ## 如何使用 [![如何使用](/assets/ADAGENT.png)](https://youtu.be/guLQGFbiNHw?si=7lcvTkYxGAxde4X-) ### AI 后端设置 **Ollama(本地,免费 — 推荐):** ``` ollama pull qwen2.5-coder:7b ollama serve ``` **Claude API:** ``` # 添加到 .env: ANTHROPIC_API_KEY=sk-ant-... ``` ### 交互式菜单选项 ``` ./run.sh # interactive menu ./run.sh --agent # launch agent directly (skip menu) ./run.sh --session path/to/session.json ./run.sh --no-banner ``` ## CLI 模式 完全跳过交互式菜单——将所有设置作为标志传递,代理将立即启动。 ``` chmod +x adcli.sh run.sh ``` ### 密码认证 — Ollama(本地,免费) ``` ./run.sh --dc 10.10.10.10 --domain corp.local --user john --pass Password123 \ --attacker 10.10.14.5 --opsec normal ``` ### NT 哈希 / Pass-the-Hash — Claude ``` ./run.sh --dc 10.10.10.10 --domain corp.local --user administrator \ --hash aad3b435b51404eeaad3b435b51404ee:abc123def456... \ --backend claude --model sonnet --opsec loud ``` ### Kerberos ccache ``` ./run.sh --dc 10.10.10.10 --domain corp.local --user john \ --ccache /tmp/john.ccache --opsec stealth ``` ### NULL 会话(无凭据) ``` ./run.sh --dc 10.10.10.10 --domain corp.local --opsec normal ``` ### 仅计划 — 生成攻击计划但不执行工具 ``` ./run.sh --dc 10.10.10.10 --domain corp.local --user john \ --pass Password123 --mode plan ``` ### 所有 CLI 标志 | 标志 | 描述 | 默认值 | |---|---|---| | `--dc` | 域控制器 IP | **必需** | | `--domain` | AD 域 (例如 `corp.local`) | **必需** | | `--user` | 用户名 (NULL 会话时省略) | — | | `--pass` | 明文密码 | — | | `--hash` | NT 哈希 (`LM:NT` 或仅 `NT`) | — | | `--ccache` | Kerberos ccache 文件路径 | — | | `--attacker` | 你的监听器 / 攻击者 IP | — | | `--engagement` | 用于报告的 engagement 名称 | — | | `--backend` | `ollama` 或 `claude` | `ollama` | | `--model` | 模型名称或别名 (Claude 可用 `opus`/`sonnet`/`haiku`) | 自动 | | `--api-key` | Anthropic API 密钥 (或设置 `ANTHROPIC_API_KEY` 环境变量) | — | | `--opsec` | `loud` · `normal` · `stealth` | `normal` | | `--mode` | `auto` = 完整运行 · `plan` = 仅文本计划 | `auto` | | `--rounds` | 覆盖最大代理轮次 | 内置限制 | | `--yes` | 跳过 5 秒确认倒计时 | — | | `--no-banner` | 禁用 ASCII 横幅 | — | ### CLI 模式文件结构 ``` AdAgent/ ├── adcli.sh ← standalone CLI launcher (alternative to run.sh) └── cli/ ├── adcli.py ← entry point ├── args.py ← argument parser ├── display.py ← banner, profile table, countdown └── runner.py ← session injection + agent launch ``` ## 截图 ### 会话管理器

Session Manager

会话管理器显示当前目标、认证模式和 engagement 名称。提供五个选项:配置、显示、保存、加载和清除凭据。 ### 代理设置 — 后端、模型和 OPSEC

Agent Setup

清晰的设置流程:选择 AI 后端(推荐 Ollama / Claude API),输入目标凭据(从会话自动填充),选择工具调用模型,选择运行模式(全自动或仅计划),并配置 OPSEC 级别(Loud / Normal / Stealth)。启动摘要栏会在代理启动前确认所有设置。 ### 代理运行 — 实时工具执行

Agent Running

代理逐轮执行工具,实时显示输入、命令和结果。颜色编码输出:**绿色**表示成功/发现,**紫色**表示错误,**黄色**表示警告。每一轮都会记录到实时 Markdown 报告中。 ### 链规划器 — 攻击路径分析

Chain Planner

枚举后,`chain_planner` 工具按置信度对发现的攻击向量进行排序,并为每条路径生成可运行的命令序列——Kerberoast、ACL 滥用、gMSA 接管、ADCS ESC 等。 ### 任务完成 — 摘要

Mission Summary

任务结束时,代理会显示结构化摘要:完成的轮次、按严重性分类的发现、已拥有的用户和主机、捕获的哈希,以及所有生成报告(HTML、Markdown、JSON、ATT&CK Navigator)的路径。 ### HTML 报告 — 执行摘要和 MITRE ATT&CK 覆盖范围

HTML Report - Executive Summary

专业的 HTML 报告以执行摘要开头:每个严重性级别的统计卡片、总发现数、已拥有的用户/主机和运行的命令。下面是自动生成的叙述段落。**MITRE ATT&CK® 覆盖范围**部分将每个发现映射到企业框架,突出显示观察到的战术。 ### HTML 报告 — 附带 CVSS v3.1 的详细发现

HTML Report - Detailed Findings

每个发现卡片显示严重性徽章、**CVSS v3.1 分数和向量**、MITRE ATT&CK 技术 ID(指向 attack.mitre.org 的可点击链接)、描述、建议和时间戳。报告还包括受损资产、攻击时间线和一个 ATT&CK Navigator 层 JSON。 ## 功能特性 | | | |---|---| | **59 种代理工具** | 完整攻击链:侦察 → 枚举 → 凭据 → 权限提升 → 横向移动 → 域控权限 | | **139 种 SAST 技术** | 22 个 YAML 类别注入 AI 系统提示词 | | **AI 后端** | Ollama (本地/免费) · Anthropic Claude (API) | | **认证模式** | 密码 · NT 哈希 (PTH) · Kerberos ccache | | **OPSEC 模式** | `loud` · `normal` · `stealth` | | **死路径跟踪** | 基于主体的循环防止 | | **自动报告** | 实时 Markdown + HTML + JSON + ATT&CK Navigator | | **MITRE ATT&CK** | CVSS v3.1 评分、技术增强、战术覆盖地图 | ## 全部 59 种工具
侦察与发现 | 工具 | 描述 | |---|---| | `nmap_scan` | 端口扫描、操作系统、域、时钟偏移 | | `kerbrute_enum` | 通过 Kerberos 进行用户名枚举 | | `no_cred_surface_recon` | LDAP rootDSE、SMB null/guest、HTTP/ADCS/WSUS 攻击面 | | `rediscover_target` | 在 engagement 中重新运行 LDAP/NXC/nmap 发现 |
枚举 | 工具 | 描述 | |---|---| | `enumerate_ldap` | 用户、组、GPO、信任、SPN、LAPS、委派 | | `enumerate_shares` | SMB 共享、SYSVOL、GPP 密码文件 | | `collect_bloodhound` | 收集 BloodHound 数据,带后备方案 | | `query_bloodhound_paths` | Neo4j 最短路径查询 | | `user_hunt` | 会话狩猎、PSRemoting 检查 |
凭据攻击 | 工具 | 描述 | |---|---| | `asrep_roast` | AS-REP 可 roast 账户的哈希 | | `kerberoast` | SPN 账户 roast | | `targeted_kerberoast` | 通过可写账户进行定向 SPN 滥用 | | `password_spray` | 带抖动的凭据喷洒 | | `timeroast` | MS-SNTP NTP 哈希提取 (无需凭据) | | `pre2k_attack` | Pre-Windows 2000 默认密码滥用 |
权限提升 | 工具 | 描述 | |---|---| | `adcs_scan` | ADCS ESC1–ESC13 枚举和利用 | | `shadow_credentials_attack` | msDS-KeyCredentialLink 注入 | | `acl_abuse_scan` | GenericWrite/WriteDACL/ForceChangePassword 边缘 | | `force_change_password_pivot` | 通过 ForceChangePassword ACE 重置用户 | | `rbcd_attack` | RBCD 完整链 | | `unconstrained_delegation` | 通过强制认证捕获 TGT | | `local_privesc_chain` | Potato、AlwaysInstallElevated、未加引号路径 | | `jea_enum` | JEA 端点、PSReadLine 历史记录 | | `windows_privesc_recon` | Shell 后的本地权限提升侦察 |
横向移动和 Shell | 工具 | 描述 | |---|---| | `evil_winrm` | WinRM shell (密码 / 哈希 / Kerberos) | | `discover_winrm_access` | 查找可访问 WinRM 的主机 | | `lateral_movement` | WMI / WinRM / PSExec 风格执行 | | `mssql_abuse` | xp_cmdshell、链接服务器 RCE | | `logon_script_abuse` | 可写 scriptPath 滥用 |
凭据访问 | 工具 | 描述 | |---|---| | `dcsync_attack` | 完整域哈希转储 | | `credential_dump` | 远程 LSASS / SAM / NTDS | | `credential_loot` | 后渗透凭据搜寻 | | `laps_read` | LAPS 本地管理员密码 | | `shadow_copies_dump` | 基于 VSS 的 NTDS.dit 和 SAM 提取 | | `auto_loot_chain` | 共享 → 解析凭据 → 测试 → 转向 |
gMSA · 证书 · Kerberos | 工具 | 描述 | |---|---| | `gmsa_read` | 读取 gMSA 托管密码 | | `gmsa_takeover` | 修改 msDS-GroupMSAMembership → 转储哈希 | | `bloodyad` | 通用 LDAP 对象操作 | | `pass_the_cert` | PKINIT → NT 哈希 | | `golden_ticket` | 使用 krbtgt 哈希伪造 TGT | | `silver_ticket` | 使用服务账户哈希伪造 TGS | | `request_tgt` | 获取 Kerberos TGT |
云 / 混合 / ADFS / SCCM / WSUS | 工具 | 描述 | |---|---| | `adfs_attack` | DKM 证书、Golden SAML、MSOL DCSync | | `sccm_abuse` | NAA 凭据、客户端推送中继 | | `wsus_attack` | HTTP 漏洞检查、pywsus 注入 | | `trust_attack` | 信任密钥、SID 历史、跨域 | | `trust_chain_planner` | ExtraSID 计划、跨林 Kerberoast | | `gpo_abuse` | GPO 创建 / 链接 / 执行 / 劫持 | | `adidns_abuse` | DNS 通配符、WPAD、记录注入 | | `rodc_attack` | RODC PRP、Key List、RODC Golden Ticket | | `coercion_attack` | PrinterBug / PetitPotam / Coercer |
OPSEC 和实用工具 | 工具 | 描述 | |---|---| | `opsec_check` | EDR/AV/Sysmon/MDI/LAPS 检测 | | `c2_stage` | Sliver / Havoc / MSF 载荷 + 投递 | | `test_credential` | 测试 SMB/LDAP/WinRM 凭据 | | `update_session` | 持久化发现的情报 | | `chain_planner` | 根据证据对攻击链排序 | | `generate_report` | HTML · Markdown · JSON · ATT&CK Navigator | | `agent_complete` | 结束任务并生成摘要 |
## 配置 (`.env`) ``` DC_IP=10.10.10.10 DOMAIN=corp.local USERNAME=john.doe PASSWORD=Password123 # NT_HASH=aad3b435b51404ee... (PASSWORD 的替代) ATTACKER_IP=10.10.14.5 ENGAGEMENT_NAME=Corp-Pentest-2026 ANTHROPIC_API_KEY= # leave blank for Ollama ADSTRIKE_OPSEC=normal # loud | normal | stealth ``` ## 输出 ``` output/ ├── session.json ← persistent session state ├── agent_logs/ │ ├── agent_.md ← live Markdown round-by-round report │ └── agent_.json ← JSON conversation log └── reports/ ├── adagent_report_.html ← full HTML pentest report ├── adagent_report_.md ← Markdown report ├── adagent_report_.json ← JSON findings export └── adagent_report__navigator.json ← ATT&CK Navigator layer ``` ## 前置条件 ``` # 系统工具 sudo apt install -y impacket-scripts nxc evil-winrm bloodhound-python \ certipy-ad ldap-utils krb5-user nmap responder coercer seclists # Python 包 pip install -r requirements.txt # 可选项 pip install bloodyad lsassy dploot roadtx roadrecon sccmhunter pywsus ``` ## 文档 完整操作员指南:[`docs/ADAGENT_GUIDE.md`](docs/ADAGENT_GUIDE.md) 涵盖内容:会话模型、全部 59 种工具、SAST 知识库、决策引擎优先级阶梯、gMSA/ADCS/BloodHound/ADFS/WSUS/信任工作流、循环保护、故障排除、开发指南和操作员检查清单。 ## 与 AdStrike 的关系 AdAgent 是 **[AdStrike](https://github.com/capture0x/AdStrike)** 的仅代理提取版本——一个完整的 56 模块交互式 AD 攻击框架。 | | AdAgent | AdStrike | |---|---|---| | AI 代理 | ✅ 完整 (59 种工具) | ✅ 完整 | | 交互式模块 | ❌ | ✅ 56 个模块 | | 最佳适用场景 | 自主运行 | 手动 + AI 混合 | ## 免责声明 AdAgent 仅用于**授权的安全测试**、红队 engagement 和教育实验室使用。作者对滥用不承担任何责任。在测试任何您不拥有的系统之前,请始终获得书面许可。 密码喷洒可能导致账户锁定。DCSync、DCShadow、ADCS 利用和强制认证攻击具有高影响——仅在明确的范围批准下使用。

创建者: tmrswrr  ·  GitHub: capture0x  ·  框架: AdStrike v5.0 «AdStrike»  ·  许可证: MIT

标签:Active Directory攻击, AI后端, AI风险缓解, AI驱动, Claude, CVE检测, kill-chain执行, LLM评估, Ollama, Python, SEO关键词, 功能工具, 协议分析, 反取证, 域妥协, 安全评估, 技术栈, 攻击模拟, 无后门, 权限提升, 横向移动, 编程规范, 网络安全, 自主代理, 自动攻击链, 证据跟踪, 逆向工具, 隐私保护, 驱动签名利用