
AD Miner é uma ferramenta de auditoria do Active Directory que utiliza consultas cypher para processar dados do banco de dados de grafo #Bloodhound e descobrir vulnerabilidades de segurança.
Recursos dos relatórios baseados na web:
Uma classificação baseada em risco das fragilidades do Active Directory, juntamente com caminhos de mitigação abrangentes.
Barra de pesquisa e controles cuidadosamente adaptados para identificar as configurações incorretas mais arriscadas.
Você também pode observar indicadores ao longo do tempo para ajudar a medir a eficiência da mitigação.
O AD Miner foi inicialmente criado pela Forvis Mazars e é mantido pela Grant Thornton Cybersecurity Audit & Advisory Team.
Para executar o AD Miner, você primeiro precisa de um banco de dados neo4j que contenha os objetos do Active Directory:
[!CAUTION] Recomendamos fortemente o uso do BloodHound Automation, pois ele instala o plugin Graph Data Science do Neo4j, que :
- melhora significativamente o tempo de computação e o desempenho geral.
- permite o uso do Smartest Path em vez do shortestPath() embutido do Neo4j (ou seja, Caminhos que são mais fáceis de explorar em vez do menor número de saltos).
Para configurar seu ambiente BloodHound (incluindo a GUI e o banco de dados Neo4j), o BloodHound Automation é altamente recomendado devido à sua integração perfeita com o plugin Graph Data Science. Embora seja perfeitamente aceitável usar a instalação padrão do BloodHound CE, esteja ciente de que você perderá os benefícios do GDS (por exemplo, pathfinding mais inteligente, velocidade de execução aprimorada, etc.).
Por padrão, o BloodHound cria uma base neo4j acessível na porta 7687.
A maneira mais fácil é executar o seguinte comando usando pipx:
pipx install 'git+https://github.com/AD-Security/AD_Miner.git'
O ADMiner também está disponível em algumas distribuições Linux:
pacman -S ad-minernix-env -iA nixos.ad-minerUma imagem Docker está disponível para construir. Construa a imagem com o seguinte comando:
docker build -t ad-miner .
Para executar isso no Windows com os dados do BloodHound Community Edition, use os comandos abaixo:
docker run -v ${PWD}:/tmp ad-miner AD-miner -b bolt://host.docker.internal:7687 -u neo4j -p mypassword -cf YOUR_PREFIX
Para executar isso no Linux com os dados do BloodHound Community Edition, use os comandos abaixo:
docker run -v ${PWD}:/tmp --network host ad-miner AD-miner -b bolt://localhost:7687 -u neo4j -p mypassword -cf YOUR_PREFIX
Observe que montar o volume com -v é fundamental para obter a saída dos dados. Isso pressupõe que o servidor BHCE esteja em execução no host Docker com as configurações padrão.
Execute a ferramenta:
AD-miner [-h] [-b BOLT] [-u USERNAME] [-p PASSWORD] [-e EXTRACT_DATE] [-r RENEWAL_PASSWORD] [-a] [-c] [-l LEVEL] -cf CACHE_PREFIX [-ch NB_CHUNKS] [-co NB_CORES] [--rdp] [--evolution EVOLUTION] [--cluster CLUSTER]
Exemplo:
AD-miner -cf My_Report -u neo4j -p mypassword
Arquivos de cache são gerados ao final de cada requisição Neo4j. Esse recurso permite pausar ou interromper o AD Miner em qualquer ponto do seu processo sem perder resultados previamente computados. Para usar o cache, utilize o parâmetro -c. Os arquivos de cache são armazenados na pasta cache_neo4j no seu repositório atual. Para que o cache seja utilizado, o nome do relatório deve corresponder ao prefixo do nome do arquivo de cache :
AD-miner -c -cf My_Report -u neo4j -p mypassword
Para lidar melhor com grandes conjuntos de dados, é possível habilitar multi-threading e também usar um cluster de bancos de dados neo4j, conforme mostrado no exemplo a seguir (onde server1 lida com 32 threads e server2 lida com 16) :
AD-miner -c -cf My_Report -b bolt://server1:7687 -u neo4j -p mypassword --cluster server1:7687:32,server2:7687:16
Se a política de renovação de senha for conhecida, você pode especificá-la usando o parâmetro -r para garantir que os controles de renovação de senha estejam alinhados com as configurações do seu ambiente (o padrão é 90 dias). Por exemplo, se a política de senha estiver definida para 180 dias, você pode usar o seguinte: