
AD Miner es una herramienta de auditoría de Active Directory que utiliza consultas Cypher para procesar datos de la base de datos de gráficos #Bloodhound y descubrir debilidades de seguridad.
Características de los informes basados en web:
Una calificación basada en riesgo de las debilidades de Active Directory, junto con rutas de mitigación integrales.
Barra de búsqueda y controles cuidadosamente diseñados para identificar las configuraciones incorrectas más riesgosas.
También puede observar indicadores a lo largo del tiempo para ayudar a medir la eficiencia de la mitigación.
AD Miner fue creado inicialmente por Forvis Mazars y es mantenido por el Equipo de Auditoría y Asesoría de Ciberseguridad de Grant Thornton.
Para ejecutar AD Miner, primero necesita una base de datos neo4j que contenga los objetos de Active Directory:
[!CAUTION] Recomendamos encarecidamente usar BloodHound Automation, ya que instala el complemento Neo4j Graph Data Science, el cual :
- mejora significativamente el tiempo de cómputo y el rendimiento general.
- permite usar Smartest Path en lugar del shortestPath() integrado de Neo4j (es decir, Rutas más fáciles de explotar en lugar de la menor cantidad de saltos).
Para configurar su entorno BloodHound (incluyendo la GUI y la base de datos Neo4j), se recomienda encarecidamente BloodHound Automation debido a su integración perfecta con el complemento Graph Data Science. Sin embargo, es perfectamente válido usar la instalación predeterminada de BloodHound CE, pero tenga en cuenta que perderá los beneficios de GDS (por ejemplo, pathfinding más inteligente, mejora en la velocidad de ejecución, etc.).
Por defecto, BloodHound crea una base neo4j accesible en el puerto 7687.
La forma más sencilla es ejecutar el siguiente comando usando pipx:
pipx install 'git+https://github.com/AD-Security/AD_Miner.git'
ADMiner también está disponible en algunas distribuciones de Linux:
pacman -S ad-minernix-env -iA nixos.ad-minerHay una imagen Docker disponible para construir. Construya la imagen con el siguiente comando:
docker build -t ad-miner .
Para ejecutar esto en Windows con los datos de BloodHound Community Edition, use los siguientes comandos:
docker run -v ${PWD}:/tmp ad-miner AD-miner -b bolt://host.docker.internal:7687 -u neo4j -p mypassword -cf YOUR_PREFIX
Para ejecutar esto en Linux con los datos de BloodHound Community Edition, use los siguientes comandos:
docker run -v ${PWD}:/tmp --network host ad-miner AD-miner -b bolt://localhost:7687 -u neo4j -p mypassword -cf YOUR_PREFIX
Tenga en cuenta que montar el volumen con -v es fundamental para obtener la salida de los datos. Esto asume que el servidor BHCE se está ejecutando en el host Docker con la configuración predeterminada.
Ejecute la herramienta:
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]
Ejemplo:
AD-miner -cf My_Report -u neo4j -p mypassword
Los archivos de caché se generan al completar cada solicitud de Neo4j. Esta característica le permite pausar o detener AD Miner en cualquier punto del proceso sin perder los resultados previamente calculados. Para aprovechar el caché, use el parámetro -c. Los archivos de caché se almacenan en la carpeta cache_neo4j en su repositorio actual. Para que se use el caché, el nombre del informe debe coincidir con el prefijo del nombre del archivo de caché:
AD-miner -c -cf My_Report -u neo4j -p mypassword
Para manejar mejor conjuntos de datos grandes, es posible habilitar el multi-threading y también usar un clúster de bases de datos neo4j, como se muestra en el siguiente ejemplo (donde server1 maneja 32 hilos y server2 maneja 16):
AD-miner -c -cf My_Report -b bolt://server1:7687 -u neo4j -p mypassword --cluster server1:7687:32,server2:7687:16
Si se conoce la política de renovación de contraseñas, puede especificarla usando el parámetro -r para asegurarse de que los controles de renovación de contraseñas se alineen con la configuración de su entorno (el valor predeterminado es 90 días). Por ejemplo, si la política de contraseñas está configurada a 180 días, puede usar lo siguiente: