Krypteria/Neo4LDAP
GitHub: Krypteria/Neo4LDAP
Neo4LDAP 是一款用 LDAP 语法查询和可视化分析 Active Directory 权限关系的图数据库安全工具,可作为 BloodHound 的替代方案。
Stars: 100 | Forks: 11
## 关于 Neo4LDAP
**Neo4LDAP** 是一个专注于 **Active Directory** 的查询和可视化工具。它将 LDAP 语法与 Neo4j 中基于图的数据分析相结合,为 BloodHound 等工具提供了一种替代方案。
## 功能
### LDAP 查看器
- 直接针对 Neo4j 运行**复杂且富有表现力的查询**
- **无需学习 Cypher**:可以使用 **LDAP 语法**编写查询
- 创建**自定义的可重用查询**
- 高亮显示**已拥有的节点**,以提高可见性和搜索效率
### 图查看器
- 通过**交互式图表**分析 Active Directory ACL。
- 出站分析
- 入站分析
- 目标分析
- 用于**减少视觉干扰**的高级技术
- **排除节点**以从视图中移除不相关的元素
- **临时隐藏图表部分**以提高专注度和可读性
- **限制深度的搜索**,用于控制图大小并防止视觉混乱
- 完全控制**图行为**
- 定义每个 ACE 的相关性以符合您的目标
- **上下文驱动的算法**,可适应您的分析需求
### 与 BloodHound 工作流的集成
- Neo4LDAP 可以**从 BloodHound JSON 文件中提取数据**
- 支持 **Legacy** 和 **Community Edition (CE)** 格式
- **快速、多线程**的数据提取
### 其他功能
- 支持**多数据库**
- **独立面板**:可以同时查询数据和分析图表,而不会丢失上下文
此外,还有**两篇文章**介绍了该工具的内部原理:
- [再见 Cypher,你好 LDAP:使用 Neo4LDAP 查询 Neo4j](https://medium.com/@kripteria.sec/goodbye-cypher-hello-ldap-querying-neo4j-with-neo4ldap-5e6466426a01)
- [使用 Neo4LDAP 在 Active Directory 中寻找最佳攻击路径](https://medium.com/@kripteria.sec/finding-optimal-attack-paths-in-active-directory-with-neo4ldap-3d2158419f35)
# 建议
提取大型 JSON 可能会影响内存效率。如果您有一个大型 JSON 文件,建议在上传之前使用 [ShredHound](https://github.com/ustayready/ShredHound) 将其拆分为多个块。
您可以使用以下命令修改 Neo4LDAP 的比例因子:
```
QT_SCALE_FACTOR= neo4ldap
```
# 安装说明
Neo4LDAP 使用 **Neo4j** 作为其数据库。要使用该工具,您必须安装并运行 Neo4j 实例。有关安装说明,请参阅 [Neo4j 官方安装指南](https://neo4j.com/docs/operations-manual/2025.08/installation/)
安装 Neo4j 后,通过运行以下命令启动它:
```
neo4j console
```
为了安装 **Neo4LDAP**,建议使用带有 **Python 3.9.13 或更高版本**的 **Conda 虚拟环境**,以隔离安装并避免依赖冲突:
```
conda create -n neo4ldap python=3.9.13
conda activate neo4ldap
```
激活 Conda 环境后,使用 `pip` 安装以下 **Python 依赖项**:
```
pip install networkx neo4j-rust-ext PySide6
```
根据您使用的显示服务器协议,您必须安装**一些额外的依赖项**。要检查您正在使用的显示服务器协议,请执行以下命令:
```
echo $XDG_SESSION_TYPE
```
如果该命令返回 ```x11```,您必须安装以下**依赖项**:
```
sudo apt install libxcb-cursor0
```
建议在 .bashrc、.zshrc 或等效的 shell 配置中定义以下 **shell 别名**:
```
nano ~/.bashrc
neo4ldap() {
cd || return
python -m Neo4LDAP.Neo4LDAP
}
source ~/.bashrc
```
# 致谢
特别感谢 [@_wald0](https://twitter.com/_wald0)、[@CptJesus](https://twitter.com/CptJesus) 和 [@harmj0y](https://twitter.com/harmj0y) 在 **BloodHound** 上所做的工作,该工具是开发 Neo4LDAP 的基础参考和灵感来源。
标签:Mutation, 代码示例, 可视化, 数据分析, 活动目录, 逆向工具