
Genera organigramas basados en Neo4j desde Active Directory, superponiendo datos de usuarios comprometidos de auditorías de contraseñas para visualizar departamentos con higiene de contraseñas débil.

Active Directory es utilizado por las organizaciones como proveedor de identidad.
Contiene información de todos los empleados, incluyendo sus nombres, títulos laborales, departamentos y sus gerentes.
Las auditorías de contraseñas pueden ayudar a descubrir debilidades y riesgos.
Puede intentar el rociado de contraseñas con un pequeño número de contraseñas.
O puede ejecutar ataques de diccionario con hashcat contra los hashes de los usuarios.
También puede obtener información de filtraciones de servicios como https://haveibeenpwned.com
En esos casos, obtendrá una lista de usuarios en riesgo. Este script le ayuda a visualizar qué departamentos o áreas están en riesgo.
El conocimiento de contraseñas en texto claro permite a un actor de amenazas autenticarse como el usuario y, a menudo, no generará alertas.
Este repositorio le ayuda a visualizar su organización dibujando un organigrama basado en el atributo de gerente en Active Directory.
Luego importará una lista de usuarios comprometidos y combinará la información.
Generará un organigrama donde podrá ver los usuarios comprometidos y le ayudará a identificar fácilmente departamentos donde la higiene de contraseñas no es la ideal. Puede proporcionar capacitación de concientización adicional a esos departamentos.
Este script de PowerShell se ejecutará en una computadora unida a Active Directory.
Utilizará los módulos de PowerShell de Active Directory para consultar todos los objetos de usuario de AD. Normalmente, esto puede ser realizado por cualquier usuario en el entorno.
Opcionalmente, importará el archivo compromised_users.csv y marcará esos objetos.
Para visualizar la información se utiliza Neo4j Desktop. El script de PowerShell genera el script Cypher necesario.
El script acepta dos parámetros. -OutputFile -> Las sentencias Cypher se escribirán en este archivo. Por defecto: ".\cypher.txt" -CompromisedUsersFile -> Una lista de cuentas de usuario comprometidas (SamAccountName). Por defecto: ".\Users_Compromised.csv" [string]$CompromisedUsersFile =


ejecute la siguiente consulta
MATCH (employee)
RETURN employee

Puede encontrar otras consultas de ejemplo en el archivo cyper_search_queries.md
Para organizaciones grandes, debe aumentar la variable Initial Node Display en la configuración de Neo4j. Por defecto, las consultas muestran 300 nodos.
También puede usar otras aplicaciones como yFiles Neo4j Explorer para tener diferentes diseños

Este repositorio contiene un archivo Vagrant.
Puede instalar Virtualbox y Vagrant en su computadora y ejecutar:
vagrant up
Esto:
Este entorno de demostración debería ayudarle a probarlo en un entorno controlado antes de ejecutarlo en un entorno empresarial grande.
También hay un script de creación de base de datos de ejemplo en caso de que no desee activar un entorno AD completo.
Simplemente instale Neo4j Desktop y use el archivo demo/example_cypher_creation_script.txt para construir la base de datos.