
Génère des organigrammes basés sur Neo4j à partir d'Active Directory, superposant les données d'utilisateurs compromis issues d'audits de mots de passe pour visualiser les départements présentant une faible hygiène des mots de passe.

Active Directory est utilisé par les organisations comme fournisseur d'identité.
Il contient les informations de tous les employés, y compris leurs noms, titres de poste, départements et leurs responsables.
Les audits de mots de passe peuvent aider à découvrir les faiblesses et les risques.
Vous pouvez essayer le password spraying d'un petit nombre de mots de passe.
Ou lancer des attaques par dictionnaire avec hashcat contre les hachages des utilisateurs.
Vous pouvez également obtenir des informations sur les fuites via des services comme https://haveibeenpwned.com
Dans ces cas, vous obtiendrez une liste d'utilisateurs à risque. Ce script vous aide à visualiser quels départements ou zones sont à risque.
La connaissance de mots de passe en clair permet à un acteur malveillant de s'authentifier en tant qu'utilisateur et ne déclenche souvent aucune alerte.
Ce dépôt vous aide à visualiser votre organisation en dessinant un organigramme basé sur l'attribut manager dans Active Directory.
Il importera ensuite une liste d'utilisateurs compromis et combinera les informations.
Il générera un organigramme où vous pouvez voir les utilisateurs compromis et vous aidera à repérer facilement les départements où l'hygiène des mots de passe n'est pas idéale. Vous pouvez fournir une formation de sensibilisation supplémentaire à ces départements.
Ce script PowerShell s'exécute sur un ordinateur joint à Active Directory.
Il utilise les modules PowerShell Active Directory pour interroger tous les objets utilisateur AD. Généralement, cela peut être fait par n'importe quel utilisateur de l'environnement.
Optionnellement, il importera le fichier compromised_users.csv et marquera ces objets.
Pour visualiser les informations, Neo4j Desktop est utilisé. Le script PowerShell génère le script Cypher nécessaire.
Le script accepte deux paramètres. -OutputFile -> Les instructions Cypher seront écrites dans ce fichier. Par défaut : ".\cypher.txt" -CompromisedUsersFile -> Une liste des comptes utilisateur compromis (SamAccountName). Par défaut : ".\Users_Compromised.csv" [string]$CompromisedUsersFile =


exécutez la requête suivante
MATCH (employee)
RETURN employee

Vous pouvez trouver d'autres exemples de requêtes dans le fichier cyper_search_queries.md
Pour les grandes organisations, vous devez augmenter la variable Initial Node Display dans les paramètres de Neo4j. Par défaut, les requêtes affichent 300 nœuds.
Vous pouvez également utiliser d'autres applications comme yFiles Neo4j Explorer pour avoir différentes mises en page

Ce dépôt contient un fichier Vagrant.
Vous pouvez installer Virtualbox et Vagrant sur votre ordinateur et exécuter :
vagrant up
Cela va :
Cet environnement de démonstration devrait vous aider à l'essayer dans un environnement contrôlé avant de l'exécuter dans un grand environnement d'entreprise.
Il existe également un exemple de script de création de base de données au cas où vous ne voudriez pas mettre en place un environnement AD complet.
Installez simplement Neo4j Desktop et utilisez le fichier demo/example_cypher_creation_script.txt pour construire la base de données.