cyeezy08/DominoAD

GitHub: cyeezy08/DominoAD

一款离线、透明的 Active Directory 攻击路径收集与分析工具,帮助发现权限提升路径并可视化攻击面。

Stars: 2 | Forks: 0

# 🛡️ DominoAD: Active Directory 攻击路径收集与分析工具 [![Status](https://img.shields.io/badge/status-active-success.svg)](https://github.com/cyeezy08/DominoAD) [![Python](https://img.shields.io/badge/python-3.9+-blue.svg)](https://github.com/cyeezy08/DominoAD) [![License](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://github.com/cyeezy08/DominoAD) [![Active Directory](https://img.shields.io/badge/Security-Active%20Directory-red.svg)](https://github.com/cyeezy08/DominoAD) **DominoAD** 是一款轻量级、透明且完全离线的工具,旨在映射 Active Directory 环境、发现隐藏的权限提升路径并可视化攻击面。从底层构建,提供对 AD 滥用路径的清晰、无“黑盒”理解。 ## 🚀 关键特性 ### 🔍 全面收集 - **LDAP 枚举**:深入用户、组、计算机、组织单位(OU)和组策略对象(GPO)。 - **关系映射**:自动识别组成员关系和嵌套层次结构。 - **SMB/RPC 洞察**:发现活动会话和本地管理员关系。 - **漏洞标记**:即时识别 Kerberoastable 账户、AS-REP roastable 账户和 AdminCount 用户。 ### 🧠 智能图引擎 - **有向图模型**:将 AD 建模为节点和边的复杂网络。 - **节点类型**:用户、组、计算机、GPO、组织单位(OU)。 - **边类型**:`MemberOf`、`AdminTo`、`HasSession`。 ### ⚡ 高级分析 - **基于 BFS 的发现**:使用广度优先搜索(BFS)查找最短、最有效的攻击路径。 - **内置安全查询**: - 🎯 **通往域管理员的路径**:识别通往“王国钥匙”的每一条路径。 - 🌊 **爆炸半径**:衡量受损账户的潜在影响。 - 🛑 ** chokepoints**:查找关键节点,如果加以保护,可中断多条攻击路径。 - **基于严重程度的报告**:按风险级别分类的清晰、可操作的报告。 ## 🛠️ 安装 确保已安装 Python 3.9+,然后安装依赖项: ``` pip install ldap3 impacket ``` ## 📖 使用 ### 完整执行(收集 + 分析) ``` python cli.py \ --host 10.10.10.100 \ --domain corp.local \ --username "corp\administrator" \ --password Password123 ``` ### 传递哈希支持 ``` python cli.py \ --host 10.10.10.100 \ --domain corp.local \ --username administrator \ --nt-hash ``` ### 仅分析(离线模式) ``` python cli.py --analyze-only --graph output/graph.json ``` ### 针对性安全查询 ``` # 到域管理员的捷径 python cli.py --analyze-only --query da-paths # 可 Kerberoast 且有路径到 DA 的用户 python cli.py --analyze-only --query kerb # 关键节点识别 python cli.py --analyze-only --query chokepoints # 针对特定用户的爆炸半径分析 python cli.py --analyze-only --query "blast:jsmith" ``` ## 📊 示例输出 ``` ============================================================ DominoAD — ATTACK PATH REPORT ============================================================ SUMMARY [CRITICAL] 2 finding(s) [HIGH] 3 finding(s) [MEDIUM] 1 finding(s) FINDINGS ------------------------------------------------------------ [CRITICAL] 2 direct path(s) to Domain Admins Users/groups with 1-2 hop paths to Domain Admins. Affected: • svc_backup • helpdesk_admin Example path: svc_backup[MemberOf] -> Backup Operators[MemberOf] -> Domain Admins ``` ## 🧪 测试环境 DominoAD 已在以下环境中经过严格测试: - ✅ **TryHackMe**:Attacktive Directory、Throwback - ✅ **GOAD**(Game of Active Directory)实验环境 - ⚠️ **注意**:目前针对实验环境优化;真实生产环境的测试正在进行中。 ## ⚖️ 免责声明 本工具仅供**授权的安全测试与研究**使用。仅在你拥有或获得明确书面许可的环境中运行。作者不对任何误用或由此造成的损害负责。 ## 🤝 致谢 特别感谢 [@Cannatag](https://github.com/cannatag) 的启发和基础概念,使本项目得以实现。

用心为安全社区制作 ❤️

标签:Active Directory, AdminCount, AD安全, AS-REP Roast, BFS发现, Checkov, GPLv3, Kerberoast, LDAP枚举, Plaso, Prisma Cloud, Python, Python 3.9+, SEO: Active Directory attack path collector, SEO: AD attack surface visualization, SEO: privilege escalation mapping, SMB RPC洞察, SNMP, 域管理员路径, 安全报告, 攻击面可视化, 无后门, 无黑盒, 最短路径, 有向图模型, 权限路径分析, 爆破半径, 状态活跃, 瓶颈点, 离线工具, 组关系映射, 网络安全审计, 节点类型, 边类型, 逆向工具, 透明分析