
Создает организационные диаграммы на основе Neo4j из Active Directory, накладывая данные о скомпрометированных пользователях из аудита паролей для визуализации отделов с низким уровнем безопасности паролей.

Active Directory используется организациями в качестве поставщика удостоверений.
Он содержит информацию о всех сотрудниках, включая их имена, должности, отделы и руководителей.
Аудит паролей может помочь выявить слабые места и риски.
Вы можете попробовать распыление паролей с использованием небольшого количества паролей.
Или запустить атаки по словарю с помощью hashcat против хешей пользователей.
Вы также можете получить информацию об утечках из сервисов, таких как https://haveibeenpwned.com.
В этих случаях вы получите список пользователей, находящихся в зоне риска. Этот скрипт помогает визуализировать, какие отделы или области находятся под угрозой.
Знание паролей в открытом виде позволяет злоумышленнику аутентифицироваться от имени пользователя и часто не вызывает никаких предупреждений.
Этот репозиторий помогает визуализировать вашу организацию, рисуя организационную диаграмму на основе атрибута менеджера в Active Directory.
Затем он импортирует список скомпрометированных пользователей и объединяет информацию.
Будет сгенерирована организационная диаграмма, на которой вы сможете увидеть скомпрометированных пользователей и легко выявить отделы, где гигиена паролей оставляет желать лучшего. Вы можете предоставить дополнительное обучение по повышению осведомлённости для этих отделов.
Этот скрипт PowerShell будет работать на компьютере, присоединённом к Active Directory.
Он использует модули PowerShell для Active Directory для запроса всех объектов пользователей 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
Для крупных организаций необходимо увеличить переменную Initial Node Display в настройках Neo4j. По умолчанию запросы отображают 300 узлов.
Вы также можете использовать другие приложения, например yFiles Neo4j Explorer, для различных вариантов отображения.

Этот репозиторий содержит Vagrant-файл.
Вы можете установить Virtualbox и Vagrant на свой компьютер и запустить:
vagrant up
Он:
Эта демо-среда поможет вам опробовать её в контролируемых условиях перед запуском в крупной корпоративной среде.
Также существует пример скрипта для создания базы данных на случай, если вы не хотите разворачивать полноценную среду AD.
Просто установите Neo4j Desktop и используйте файл demo/example_cypher_creation_script.txt для построения базы данных.