红蓝攻防
点击放大


<di="center">
<img src="/assets/screenshots/22.png" alt="AdStrike banner" width="900">
<h1>AdStrike — <code>v5.0 «AdStrike»</code></h1>
<p><strong>AI Powered Professional Acti Attack Framework</strong></p>
![Python]()
![Platform]()

![Phases]()
![Primitives]()

![Creator]()
Authorized use only. Do not run this tool against systems without explicit written permission.
Release status: beta/research build. Menu and import health checks pass; indi modules still depend on target state, credentials, network reachability, and installed third-party tools.
<img src="assets/screenshots/1.png" alt="AdStrike main menu" width="900">
</div>
---
AdStrike is a modular, terminal-based Acti attack framework. It helps operators mo discovery, enumeration, exploitation, credential access, lateral mo, persistence, and reporting while keeping session state in one place.
The framework stores target details, credentials, Kerberos state, findings, executed commands, and output paths in a shared session. Modules can reuse that context instead of forcing the operator to re-enter the same data repeatedly.
> 🔑 No API key required. AdStrike now ships an MCP server that exposes all
> 53 tools (52 attack modules + set_engagement) over the Model Context
> Protocol. Plug it into an MCP host you already
> use — Claude Code, Cursor, Claude Desktop — and that host's LLM drives the
> whole engagement with its own subscription. No Ollama, no ANTHROPIC_API_KEY,
> no local model to download. See MCP Server (No API Key)
> below and docs/mcp.md.
Core capabilities:
---
| AD Enumeration | BloodHound Helper |
|---|---|
| !AD enumeration | !BloodHound helper |
| AdStrike Agent | Smart Analyst |
|---|---|
| !AdStrike Agent | !Smart Analyst |
---
![How to use]()
---
Do not run install.sh or run.sh with sudo. The installer creates repo-local files such as adrt_venv/, .env, and output/; running as root can lea files root-owned.
If you already ran it with sudo, fix ownership once:
---
| Item | Requirement |
|---|---|
| OS | Kali Linux 2024+ or Parrot OS recommended |
| Python | 3.10 or higher |
| Pri | Normal user for the framework; root only for tools that require packet capture or pri network actions |
| Network | Reachability to in-scope AD services, commonly 88, 389, 443, 445, 636, 5985 |
Key external tools:
Most dependencies are installed by install.sh. Some optional tools are installed or repaired by scripts/repair_tools.sh when possible.
---
The installer copies .en to .env. Edit .env before an engagement:
You can also enter these interactively from the Session Manager. The session carries them across modules automatically.
Ne real engagement data. Keep .env, output/, ticket files, hashes, dumps, reports, and captured loot private and redacted.
Useful en flags:
| | Default | Purpose |
|---|---:|---|
| ADSTRIKE_SHOW_SECRETS | false | Mask passwords, hashes, and loot in logs and reports unless explicitly enabled |
| ADSTRIKE_NO_ANIMATION | unset | Disable startup animation for cleaner logs or slow terminals |
| ADSTRIKE_PORT_CHECK | unset | Force quick nmap AD port check during session setup |
| TGT_AUTO_RENEW | true | Keep Kerberos renewal behavior enabled where supported |
| ADSTRIKE_OPSEC | normal | Agent mode o: loud, normal, or stealth |
| ADSTRIKE_BH_HOST | unset | BloodHound/Agent hostname o |
| ADSTRIKE_BH_DOMAIN | unset | BloodHound/Agent domain o |
| ADSTRIKE_BH_IP | unset | BloodHound/Agent DC IP o |
| ANTHROPIC_API_KEY | unset | Optional Claude backend key for AdStrike Agent |
---
Start the interactive menu:
Recommended first-run flow:
Direct module execution:
Health check:
Current local health check:
---
| Phase | Menu Range | Area |
|---|---:|---|
| 0 | 1-2 | Reconnaissance |
| 1 | 3-9 | Initial access |
| 2 | 10-16 | Enumeration |
| 3 | 17-27 | Pri escalation |
| 4 | 28-32 | Lateral mo |
| 5 | 33-36 | Credential access |
| 6 | 37-42 | Persistence |
| 7 | 43-48 | Cloud / hybrid |
| 8 | 49-52 | Ad operations |
| Utilities | 53-58 | Agent, Analyst, Kerberos Manager, reporting, sessions, tool checking |
| # | Module | Co |
|---|---|---|
| 1 | Recon & OSINT | DNS, WHOIS, email harvest, certificate transparency |
| 2 | Network Discovery | nmap, masscan, nbtscan, netdiscover, IPv6 scanning |
| # | Module | Co |
|---|---|---|
| 3 | Initial Access (No Creds) | NTLM capture, relay, ARP, DHCPv6, RID cycling |
| 4 | CVE / AD Exploits | NoPac, PrintNightmare, Zerologon |
| 5 | AMSI / Defense E | AMSI bypass, CLM bypass, AppLocker, obfuscation |
| 6 | EDR / A | NanoDump, MockingJay, RWXfinder, BOF, syscalls |
| 7 | UAC Bypass | fodhelper, e, CMSTP, token impersonation |
| 8 | Pre2K & Timeroasting | Pre-Win2K accounts, MS-SNTP hash, MAQ abuse |
| 9 | WSUS Attack | WSUS HTTP spoofing, pywsus, SYSTEM execution |
| # | Module | Co |
|---|---|---|
| 10 | AD Enumeration | LDAP, SMB, GPO, DNS, trusts, SPNs, LAPS, delegation |
| 11 | PowerView Enumeration | PowerView cmdlet reference and execution |
| 12 | BloodHound Helper | SOAPHound, RustHound, ADExplorer, Neo4j queries |
| 13 | File & Share Hunter | Snaffler, SYSVOL, GPP, spider_plus |
| 14 | NetExec / NXC Suite | SMB, LDAP, MSSQL, WinRM, RDP |
| 15 | User Hunting | SessionHunter, UserHunter, PSRemoting admin checks |
| 16 | ADIDNS Abuse | Wildcard DNS, WPAD, record injection, DNSAdmins |
| # | Module | Co |
|---|---|---|
| 17 | Local Pri Escalation | PowerUp, KrbRelayUp, Potato attacks, JEA |
| 18 | Kerberos Attacks | AS-REP roast, Kerberoast, PtT, OPtH, tickets, PKINIT |
| 19 | Rubeus Toolkit | TGT, TGS, roasting, PTT, S4U, monitor mode |
| 20 | Shadow Credentials | msDS-KeyCredentialLink, pywhisker, PKINIT |
| 21 | RBCD Full Chain | Powermad, S4U2Proxy, altservice, Bronze Bit |
| 22 | ACL / ACE Abuse | GenericAll, WriteDACL, ForceChangePassword, AddMember |
| 23 | Certificate Abuse (ADCS) | ESC1-ESC13, Certipy, CertSync, CA enumeration |
| 24 | RODC Attacks | PRP abuse, Key List Attack, RODC Golden Ticket |
| 25 | Golden Certificate | CA key theft, UnPAC, PassTheCert |
| 26 | UnPAC / PassTheCert | Targeted Kerberoast, UnPAC, PassTheCert, SPN-Jack |
| 27 | JEA Attacks | JEA bypass, PSReadLine history, CLM escape |
| # | Module | Co |
|---|---|---|
| 28 | Lateral Mo | PSExec, WMIExec, SMBExec, DCOM, E, WinRS |
| 29 | Coercion Attacks | PrinterBug, PetitPotam, DFSCoerce, relay paths |
| 30 | MSSQL Abuse | xp_cmdshell, PowerUpSQL, linked servers, UNC capture |
| 31 | Password Attacks | Spray, Kerbrute, credential stuffing, relay capture |
| 32 | SCCM / MECM Abuse | NAA credential theft, relay, client push, AdminService |
| # | Module | Co |
|---|---|---|
| 33 | Credential Dumping | LSASS, SAM, NTDS, lsassy, nanodump, pypykatz |
| 34 | DPAPI & Credential Vault | dploot, SharpDPAPI, LaZagne, KeeThief, browsers |
| 35 | DCSync / DCShadow | Domain hash dumping and rogue DC operations |
| 36 | Shadow Copies Abuse | VSS, NTDS.dit, SAM, SYSTEM hi |
| # | Module | Co |
|---|---|---|
| 37 | Domain Persistence | Golden/Sil, AdminSDHolder, NPPSPY, TTL group membership |
| 38 | Local Persistence | SharPersist, WMI subscriptions, registry, startup |
| 39 | GPO Abuse | GPO creation, linking, scheduled task execution, hijack |
| 40 | DNSAdmins Abuse | DLL injection through DNS service configuration |
| 41 | Trust Attacks | TrustKey, SID History, PAM trust, cross-forest escalation |
| 42 | AD Misc Abuse | Backup Operators, Skeleton Key, Exchange RBAC, DSRM |
| # | Module | Co |
|---|---|---|
| 43 | Azure AD / Entra ID | AADConnect, PTA, PHS, PRT, token theft |
| 44 | Entra Hybrid Attacks | MSOL DCSync, Device Code flow, PTA injection |
| 45 | gMSA Attacks | Enumeration, hash extraction, pass-the-hash, shadow credentials |
| 46 | ADFS & Golden SAML | Token signing certificate, Golden SAML, AADInternals |
| 47 | AiTM / MFA Bypass | E, Modlishka, E, MFA fatigue, cookie replay, hybrid pivot |
| 48 | M365 / Teams Attacks | MailSniper, Graph API, Teams phishing, SharePoint theft, Intune abuse |
| # | Module | Co |
|---|---|---|
| 49 | Exploit Chains | Pre-built full attack paths |
| 50 | C2 Integration | Sliver, Havoc, Metasploit, Cobalt Strike payload delivery |
| 51 | Loot Parser & Analyzer | Parse, deduplicate, score, and export loot |
| 52 | AD Ad Playbook | WDAC, MDE/MDI, WMI filters, trusts, deception |
| # | Utility | Purpose |
|---|---|---|
| 53 | AdStrike Agent (AI) | Optional AI-assisted planner/orchestrator |
| 54 | Smart Analyst | Parse output, build an attack plan, optionally execute steps |
| 55 | Kerberos Manager | TGT, PTT, S4U, ccache, kirbi, krb5.conf management |
| 56 | Generate Report | HTML, Markdown, and JSON reporting |
| 57 | Session Manager | Save, load, switch, and clear sessions |
| 58 | Tool Checker | external tools and module imports |
---
Runtime files are written under output/:
| Path | Purpose |
|---|---|
| output/session.json | Persisted session state |
| output/session_*.log | Launcher logs from run.sh |
| output/enum/ | LDAP, SMB, GPO, and enumeration artifacts |
| output/bloodhound/ | BloodHound collections and related data |
| output/audit/capability_audit.json | Tool Checker and module health snapshot |
| output/agent_logs/ | AdStrike Agent Markdown/JSON run logs |
| output/agent_runtime/ | Kerberos config, ccache, hashes, and temporary agent artifacts |
| output/reports/ | Generated reports |
Review and redact e in output/ before sharing.
---
During first-run session setup, entering a DC IP triggers a fast discovery pass:
1. LDAP rootDSE query to derive DOMAIN, BASE_DN, and DC_FQDN when a.
2. NetExec SMB fallback when LDAP does not reveal the domain.
3. Optional quick nmap check of common AD ports.
Force the port check:
If a DC FQDN is discovered, AdStrike prints an /etc/hosts line for en where DNS resolution is unreliable. If clock skew is detected, it prints a time-sync hint before Kerberos-hea.
---
For targets where NTLM is disabled or unreliable, use:
This workflow can:
krb5.confKRB5CCNAME and KRB5_CONFIGCommon Kerberos checks:
---
AdStrike Agent is optional. Manual modules do not require AI.
Want to try just the agent? → github.com/capture0x/AdAgent
Supported backends:
| Backend | Use Case | Requirement |
|---|---|---|
| Ollama | Local / private / offline lab usage | ollama serve, local model, Python requests |
| Claude | API-backed reasoning | ANTHROPIC_API_KEY, internet / API access |
Ollama example:
Claude example:
Agent modes:
| Mode | Meaning |
|---|---|
| Full Auto | Agent executes tool calls and adapts to e |
| Plan Only | Agent produces a prioritized plan without executing tools |
OPSEC modes:
| Mode | Meaning |
|---|---|
| Loud | Fast lab/CTF mode |
| Normal | Balanced internal pentest mode; default |
| Stealth | More conser nati behavior where possible |
---
> No ANTHROPIC_API_KEY, no Ollama, no local model. On this path AdStrike runs
> no LLM of its own. It exposes its AD-attack tools over the
> Model Context Protocol, and an MCP host you
> already have — Claude Code, Cursor, Claude Desktop — drives the engagement
> with its own subscription. The host is the brain; AdStrike is the toolbox.
All 53 tools are published — the 52 attack tools (nmap_scan, enumerate_ldap,adcs_scan, e, gmsa_read, dcsync_attack, kerberoast, …) plusset_engagement — using the exact same schemas the standalone agent uses
(modules/agent/_core.py), so there is one source of truth and no duplication.
!AdStrike MCP server demo
1. the server can load (uses the project venv):
2. Register in Claude Code. The repo already ships a project .mcp.json with
repo-relati, so if you start Claude Code from the AdStrike folder (step 3)
you can skip this step — it is picked up automatically:
To register it globally (so it works from any directory) use absolute paths via CLI:
Cursor and Claude Desktop use the same command + args shape in their MCP config.
3. Start Claude Code from the AdStrike folder. A project .mcp.json is only
loaded when claude launches from the directory that contains it, so run it there:
On first launch Claude Code asks you to approve the adstrike MCP server — accept
it. Confirm the tools are live with /mcp inside Claude Code (or claude mcp list
from the shell). Cursor and Claude Desktop pick the server up after a restart.
4. Use it. Set the engagement once, then let the host drive:
> set_engagement: dc_ip 10.0.0.1, domain corp.local, username alice, password … (or nt_hash)
AdStrike stores the target and credentials in the session and **injects them into
every later tool call**, so the host LLM never has to repeat the password and can't
accidentally target the wrong host or account. From there the host reads each
tool's output and picks the next tool — nmap → LDAP enum → BloodHound → the
matching abuse primitive — just like the built-in agent loop, but funded by the
host subscription.
Example prompt — paste this into Claude Code (adjust the target) to set the
engagement once and have the host drive the standard AdStrike workflow:
You only pass the credential inside set_engagement; every later tool reuses the
session value, so the host ne it again.
Full walkthrough (requirements, config for each host, OPSEC notes):
docs/mcp.md.
---
The agent uses a rule engine for most decisions (no LLM call). Rounds that require LLM input call Ollama locally. If Ollama runs on CPU instead of GPU, each call takes 15–30 seconds instead of 2–5 seconds.
which processor Ollama is using:
---
On some Kali Linux setups the ollama systemd service starts before CUDA libraries are on the library path, so GPULayers:[] appears in the logs and inference falls back to CPU.
Step 1 — add CUDA en to the service:
Add these three lines inside the [Service] block:
Full [Service] block example after the edit:
Step 2 — reload and restart:
Step 3 — confirm GPU is in use:
> Note: The CUDA path /usr/local/lib/ollama/cuda_v12 is created by the official Ollama Linux installer. If you installed Ollama a different way, adjust the path to match where libcublas.so.12 lives on your system.
---
| Model | VRAM | Speed | Tool-call quality |
|---|---|---|---|
| qwen2.5-coder:7b | ~5 GB | Medium | Best for AD agent |
| llama3.2:3b | ~2 GB | Fastest | Good for low-VRAM machines |
| mistral:latest | ~4.5 GB | Medium | Decent fallback |
Pull a model:
---
Check installed tools and module imports:
Repair missing tools where possible:
Scoped repairs:
If the en is missing:
If NetExec or Impacket fails, and rerun the repair script:
If reports include sensiti, confirm redaction is enabled:
Then review .env, output/session.json, and generated reports manually before sharing.
---
Additional guides:
Security policy:
License:
---
This software is provided for authorized security testing, red team engagements, and educational purposes only.
Use against systems without explicit written authorization from the system owner is illegal and may the Computer Fraud and Abuse Act (CFAA), the Computer Misuse Act (CMA), and equi laws in your jurisdiction.
The author accepts no liability for damage, data loss, service disruption, or legal consequences arising from misuse.
---
tmrswrr - GitHub: capture0x </br>
contact - Mail : tmrswrr -at- gmail.com
Maintained for authorized offensi research, lab , and professional red team operations.
开发语言:Python
Star 数:356
该项目属于红蓝攻防方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕AI-powered modular Active Directory red-team framework for authorized penetration testing, AD enumeration, attack-path analysis, Kerberos/ADCS workflows, reporting, operator automation, and MCP server integration.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | AdStrike - AI-powered modular Active Directory red-team frame |
| 所属分类 | 红蓝攻防 |
| 发布作者 | admin |
| 发布时间 | 2026-10-06 00:42:55 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 334 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |