
Gera gráficos organizacionais baseados em Neo4j a partir do Active Directory, sobrepondo dados de usuários comprometidos de auditorias de senhas para visualizar departamentos com higiene de senhas fraca.

O Active Directory é usado pelas organizações como provedor de identidade.
Ele contém informações de todos os funcionários, incluindo seus nomes, cargos, departamentos e seus gerentes.
Auditorias de senhas podem ajudar a descobrir fraquezas e riscos.
Você pode tentar password spraying com um pequeno número de senhas.
Ou pode executar ataques de dicionário com hashcat contra os hashes dos usuários.
Você também obtém informações de violações de serviços como https://haveibeenpwned.com
Nesses casos, você obterá uma lista de usuários em risco. Este script ajuda a visualizar quais departamentos ou áreas estão em risco.
O conhecimento de senhas em texto claro permite que um ator de ameaça se autentique como o usuário e muitas vezes não levantará alertas.
Este repositório ajuda a visualizar sua organização desenhando um Organograma baseado no atributo de gerente no Active Directory.
Em seguida, importará uma lista de usuários comprometidos e combinará as informações.
Ele gerará um Organograma onde você pode ver os usuários comprometidos e ajudar a identificar facilmente departamentos onde a higiene de senhas não é ideal. Você pode fornecer treinamento adicional de conscientização para esses departamentos.
Este script PowerShell será executado em um computador ingressado no Active Directory.
Ele usará módulos PowerShell do Active Directory para consultar todos os objetos de usuário do AD. Normalmente, isso pode ser feito por qualquer usuário no ambiente.
Opcionalmente, importará o arquivo compromised_users.csv e marcará esses objetos.
Para visualizar as informações, é usado o Neo4j Desktop. O script PowerShell gera o script Cypher necessário.
O script aceita dois parâmetros. -OutputFile -> As declarações Cypher serão escritas neste arquivo. Padrão: ".\cypher.txt" -CompromisedUsersFile -> Uma lista de contas de usuário comprometidas (SamAccountName). Padrão: ".\Users_Compromised.csv" [string]$CompromisedUsersFile =


execute a seguinte consulta
MATCH (employee)
RETURN employee

Você pode encontrar outros exemplos de consultas no arquivo cyper_search_queries.md
Para organizações grandes, você precisa aumentar a variável Initial Node Display nas configurações do Neo4j. Por padrão, as consultas mostram 300 nós.
Você também pode usar outros aplicativos como o yFiles Neo4j Explorer para ter layouts diferentes

Este repositório contém um arquivo Vagrant.
Você pode instalar o VirtualBox e o Vagrant no seu computador e executar:
vagrant up
Ele irá
Este ambiente de demonstração deve ajudá-lo a testá-lo em um ambiente controlado antes de executá-lo em um ambiente empresarial grande.
Há também um script de exemplo de criação de banco de dados, caso você não queira montar um ambiente AD completo.
Basta instalar o Neo4j Desktop e usar o arquivo demo/example_cypher_creation_script.txt para construir o banco de dados.