
Active Directory 被组织用作身份提供者。
它包含所有员工的信息,包括姓名、职位、部门以及他们的经理。
密码审计有助于发现弱点和风险。
您可以尝试对少量密码进行密码喷洒。
或者,您可以使用 hashcat 对用户哈希执行字典攻击。
您还可以从 https://haveibeenpwned.com 等服务获取泄露信息。
在这些情况下,您将获得一份有风险的用户列表。此脚本可帮助您可视化哪些部门或区域面临风险。
知晓明文密码后,威胁行为者可以以该用户身份进行身份验证,而这通常不会触发任何警报。
此存储库通过基于 Active Directory 中的经理属性绘制组织架构图,帮助您可视化您的组织。
然后,它将导入一份受损用户列表,并将信息合并。
它将生成一个组织架构图,您可以在其中查看受损用户,并帮助您轻松发现密码卫生状况不佳的部门。您可以为这些部门提供额外的意识培训。
此 PowerShell 脚本将在加入 Active Directory 的计算机上运行。
它将使用 Active Directory PowerShell 模块来查询所有 AD 用户对象。通常,环境中的每位用户都可以执行此操作。
可选情况下,它将导入 compromised_users.csv 文件并标记这些对象。
为了可视化信息,使用 Neo4j Desktop。PowerShell 脚本生成所需的 Cypher 脚本。
该脚本接受两个参数。
-OutputFile -> Cypher 语句将写入此文件。默认值:".\cypher.txt"
-CompromisedUsersFile -> 受损用户帐户列表(SamAccountName)。默认值:".\Users_Compromised.csv"
[string]$CompromisedUsersFile =


运行以下查询
MATCH (employee)
RETURN employee

您可以在文件 cyper_search_queries.md 中找到其他查询示例。
对于大型组织,您需要在 Neo4j 的设置中增加“初始节点显示”变量。默认情况下,查询显示 300 个节点。
您也可以使用其他应用程序(如 yFiles Neo4j Explorer)来获得不同的布局。

此存储库包含一个 Vagrant 文件。
您可以在计算机上安装 Virtualbox 和 Vagrant,然后运行:
vagrant up
它将
此演示环境应帮助您在可控环境中试用,然后再在企业级环境中运行。
此外,还提供了一个示例数据库创建脚本,供您不想启动完整 AD 环境时使用。
只需安装 Neo4j Desktop,然后使用文件 demo/example_cypher_creation_script.txt 来构建数据库。