AD-control-paths高级技巧利用Cypher查询发现隐藏的域管理员控制路径【免费下载链接】AD-control-pathsActive Directory Control Paths auditing and graphing tools项目地址: https://gitcode.com/gh_mirrors/ad/AD-control-pathsAD-control-paths是一款专为Active Directory环境设计的控制路径审计与图形化工具能够帮助安全人员通过Neo4j图数据库分析复杂的权限关系快速定位潜在的域管理员控制路径。本文将分享三个高级Cypher查询技巧教你如何在AD-control-paths中挖掘隐藏的权限链条提升域安全审计效率。一、理解AD-control-paths的工作流架构在深入Cypher查询之前先了解AD-control-paths的数据处理流程有助于更好地构建查询逻辑。该工具通过两个核心阶段完成控制路径分析AD-control-paths的数据流架构图展示了从数据采集到图形化展示的完整流程数据采集阶段通过LdapDump和RelationProvider组件从SYSVOL和LDAP目录中提取Active Directory对象数据经过AceFilter处理后生成关系数据TSV格式。相关实现可参考 Dump/ADCP/Import-ADCPDump.ps1 和 Src/AceFilter/AceFilterCore/AceFilter.c。数据处理阶段导入工具将TSV数据加载到Neo4j图数据库通过Query模块执行Cypher查询分析权限关系最终通过Visualize组件生成HTML/SVG格式的控制路径图形。核心查询功能由 Query/Query.ps1 脚本实现。二、基础Cypher查询定位关键节点AD-control-paths的 Query/Query.ps1 脚本内置了基础搜索功能通过-search参数可快速定位目标节点。例如查找domain admins组.\Query.ps1 -search cndomain admins,该命令背后执行的Cypher查询逻辑如下简化版MATCH(n) WHERE n.name STARTS WITH $searchedName WITH {id:ID(n),name:n.name} AS principal RETURN principal实用技巧使用节点ID进行精确查询可提高效率。在搜索结果中获取目标节点ID后通过-graph NODEID参数生成完整控制路径.\Query.ps1 -graph 123 -outFile control-paths.json三、高级查询技巧发现隐藏的控制路径技巧1多深度最短路径分析默认查询深度为15层可通过-maxDepth调整使用allShortestPaths函数能高效发现多条权限路径MATCH p allShortestPaths( (n)-[*..15]-(u) ) WHERE id(n)$graphedNode UNWIND relationships(p) as links RETURN length(p) as path_length, collect(distinct type(links)) as relation_types, [node in nodes(p) | node.name] as path_nodes ORDER BY path_length这段查询源自 Query/Query.ps1 的核心逻辑通过分析最短路径可快速识别最直接的权限提升路径技巧2排除特定关系类型当需要过滤Exchange相关的RBAC权限时可添加关系类型排除条件如 Query/Query.ps1#L139 实现MATCH p allShortestPaths( (n)-[*..15]-(u) ) WHERE id(n)$graphedNode AND NONE (r IN relationships(p) WHERE type(r) IN [ RBAC_SET_MBX, RBAC_CONNECT_MBX, RBAC_ADD_MBXPERM, RBAC_NEW_MBXEXPORTREQ ]) RETURN p技巧3节点类型过滤与关系聚合结合节点标签和关系类型进行多维度分析定位特定类型的控制路径MATCH (n:Group)-[r]-(m) WHERE n.name CONTAINS Domain Admins WITH m, collect(distinct type(r)) as perms WHERE MEMBER_OF in perms OR HAS_PRIVILEGE in perms RETURN m.name as controlled_object, perms as permissions ORDER BY size(perms) DESC四、查询结果可视化与分析执行查询后结果将保存为JSON文件默认路径out.json。你可以通过以下方式进行深度分析直接查看使用-console参数在命令行输出JSON结果.\Query.ps1 -graph 123 -console图形化展示通过工具的可视化组件生成交互式图谱支持右键删除不需要的节点/关系导出Cypher delete命令清理数据如 README.md 所述调整布局展示关键路径深度分析重点关注最短路径中的关键中间节点包含多种权限类型的复合关系跨域或跨林的权限传递五、实战建议与注意事项性能优化对大型AD环境建议将maxDepth限制在8-10层使用X-Stream头部启用流式传输Query/Query.ps1#L92安全最佳实践定期更新数据 dump使用 Dump/Dump.ps1结合 Utils/Get-MAPIFoldersPermissions.ps1 检查Exchange权限常见问题排查连接Neo4j失败检查 neo4j.conf 配置结果为空尝试扩大搜索范围或检查数据导入完整性通过掌握这些Cypher查询技巧你可以更高效地使用AD-control-paths发现Active Directory中的隐藏权限关系为域安全审计提供有力支持。建议结合官方文档和实际环境不断优化查询策略构建更全面的控制路径分析体系。【免费下载链接】AD-control-pathsActive Directory Control Paths auditing and graphing tools项目地址: https://gitcode.com/gh_mirrors/ad/AD-control-paths创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考