
Erstellt Neo4j-basierte Organigramme aus Active Directory und überlagert kompromittierte Benutzerdaten aus Passwort-Audits, um Abteilungen mit schwacher Passworthygiene zu visualisieren.

Active Directory wird von Organisationen als Identitätsanbieter genutzt.
Es enthält Informationen aller Mitarbeiter, einschließlich ihrer Namen, Jobtitel, Abteilungen und ihrer Vorgesetzten.
Passwort-Audits können helfen, Schwachstellen und Risiken zu entdecken.
Sie könnten Password Spraying mit einer kleinen Anzahl von Passwörtern versuchen.
Oder Sie können Wörterbuchangriffe mit hashcat gegen die Benutzer-Hashes durchführen.
Sie erhalten auch Datenlecks-Informationen von Diensten wie https://haveibeenpwned.com
In diesen Fällen erhalten Sie eine Liste der gefährdeten Benutzer. Dieses Skript hilft Ihnen zu visualisieren, welche Abteilungen oder Bereiche gefährdet sind.
Das Wissen um Klartext-Passwörter ermöglicht es einem Angreifer, sich als der Benutzer zu authentifizieren und wird oft keine Alarme auslösen.
Dieses Repository hilft Ihnen, Ihre Organisation zu visualisieren, indem es ein Organigramm basierend auf dem Manager-Attribut in Active Directory zeichnet.
Es importiert dann eine Liste kompromittierter Benutzer und kombiniert die Informationen.
Es generiert ein Organigramm, in dem Sie die kompromittierten Benutzer sehen können, und hilft Ihnen, leicht Abteilungen zu erkennen, in denen die Passwort-Hygiene nicht ideal ist. Sie können diesen Abteilungen zusätzliche Schulungen zum Bewusstsein anbieten.
Dieses PowerShell-Skript wird auf einem in die Active Directory eingebundenen Computer ausgeführt.
Es verwendet Active Directory PowerShell-Module, um alle AD-Benutzerobjekte abzufragen. Typischerweise kann dies von jedem Benutzer in der Umgebung durchgeführt werden.
Optional importiert es die Datei compromised_users.csv und markiert diese Objekte.
Zur Visualisierung der Informationen wird neo4j Desktop verwendet. Das PowerShell-Skript generiert das benötigte Cypher-Skript.
Das Skript akzeptiert zwei Parameter. -OutputFile -> Cypher-Anweisungen werden in diese Datei geschrieben. Standard: ".\cypher.txt" -CompromisedUsersFile -> Eine Liste kompromittierter Benutzerkonten (SamAccountName). Standard: ".\Users_Compromised.csv" [string]$CompromisedUsersFile =


Führen Sie die folgende Abfrage aus
MATCH (employee)
RETURN employee

Weitere Beispielabfragen finden Sie in der Datei cyper_search_queries.md
Für große Organisationen müssen Sie die Variable 'Initial Node Display' in den Einstellungen von Neo4j erhöhen. Standardmäßig zeigen die Abfragen 300 Knoten an.
Sie können auch andere Apps wie yFiles Neo4j Explorer verwenden, um verschiedene Layouts zu erhalten.

Dieses Repository enthält eine Vagrant-Datei.
Sie können Virtualbox und Vagrant auf Ihrem Computer installieren und ausführen:
vagrant up
Es wird
Diese Demoumgebung soll Ihnen helfen, es in einer kontrollierten Umgebung auszuprobieren, bevor Sie es gegen eine große Unternehmensumgebung ausführen.
Es gibt auch ein Beispiel-Datenbankerstellungsskript, falls Sie keine vollständige AD-Umgebung aufsetzen möchten.
Installieren Sie einfach Neo4j Desktop und verwenden Sie die Datei demo/example_cypher_creation_script.txt, um die Datenbank zu erstellen.