Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
AD_Miner — AD Miner è uno strumento di audit per Active Directory che sfrutta query cypher per elaborare dati dal database di grafi #Bloodhound per scoprire debolezze di sicurezza. | Kitploit
Strumenti/GitHubGitHub/ad-security/ad_miner
Escalation di PrivilegiRicognizioneAnalisi delle VulnerabilitàMovimento LateraleAudit di ConfigurazioneRaccolta InformazioniPenetration TestingConfigurazione ErrataApprendimento e Formazione
GitHubad-security/ad_miner

AD_Miner

AD Miner è uno strumento di audit per Active Directory che sfrutta query cypher per elaborare dati dal database di grafi #Bloodhound per scoprire debolezze di sicurezza.

1.6k1635 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
AD_Miner
Latest AD_Miner version Latest release Latest commit in dev Rawsec's CyberSecurity Inventory badge
Discord

AD Miner è uno strumento di audit per Active Directory (on-premise e Entra ID) che:

  • Utilizza query Cypher per analizzare i dati del database grafico BloodHound (Neo4j).
  • Fornisce una panoramica completa delle vulnerabilità esistenti attraverso un report statico basato sul web.

Caratteristiche dei report basati sul web:

  • Elenchi dettagliati delle debolezze identificate
  • Grafici dinamici per l'analisi visiva
  • Indicatori chiave storici per monitorare i cambiamenti nel tempo
  • Valutazioni del rischio per prioritizzare minacce e azioni

Panoramica rapida di un report

Percorsi di mitigazione completi per i rischi di Active Directory

Una valutazione basata sul rischio delle debolezze di Active Directory, insieme a percorsi di mitigazione completi.

Main page

Un'interfaccia web dinamica

Barra di ricerca e controlli attentamente progettati per identificare le configurazioni errate più rischiose.

Main page

Monitoraggio del progresso attraverso un'interfaccia in evoluzione

Puoi anche osservare gli indicatori nel tempo per aiutare a misurare l'efficacia della mitigazione.

Main page

AD Miner è stato inizialmente creato da Forvis Mazars ed è mantenuto dal team di Cybersecurity Audit & Advisory di Grant Thornton.

Prerequisiti

Per eseguire AD Miner, è necessario prima un database neo4j che contenga gli oggetti di Active Directory:

  1. Per estrarre i dati dal dominio, è possibile utilizzare strumenti come SharpHound, RustHound-CE o BloodHound.py e AzureHound per ambienti EntraID.

[!CAUTION] Raccomandiamo vivamente di utilizzare BloodHound Automation, poiché installa il plugin Graph Data Science di Neo4j, che:

  • migliora notevolmente il tempo di calcolo e le prestazioni generali.
  • abilita l'uso di Smartest Path invece della funzione built-in shortestPath() di Neo4j (cioè, Percorsi più facili da sfruttare piuttosto che con il minimo numero di nodi).
  1. Per configurare il tuo ambiente BloodHound (inclusi GUI e database Neo4j), BloodHound Automation è altamente raccomandato per la sua integrazione perfetta con il plugin Graph Data Science. Anche se è perfettamente possibile utilizzare l'installazione predefinita di BloodHound CE, tieni presente che perderai i vantaggi di GDS (ad esempio, pathfinding più intelligente, velocità di esecuzione migliorata, ecc.).

  2. Per impostazione predefinita, BloodHound crea un database neo4j accessibile sulla porta 7687.

Installazione e configurazione

Il modo più semplice è eseguire il seguente comando usando pipx:

root@kitploit:~
pipx install 'git+https://github.com/AD-Security/AD_Miner.git'

ADMiner è disponibile anche su alcune distribuzioni Linux:

Packaging status

  • BlackArch: pacman -S ad-miner
  • NixOS: nix-env -iA nixos.ad-miner

Un'immagine Docker è disponibile per la creazione. Costruisci l'immagine con il seguente comando:

root@kitploit:~
docker build -t ad-miner .

Per eseguirlo su Windows con i dati di BloodHound Community Edition, utilizza i comandi seguenti:

root@kitploit:~
docker run -v ${PWD}:/tmp ad-miner AD-miner -b bolt://host.docker.internal:7687 -u neo4j -p mypassword -cf YOUR_PREFIX

Per eseguirlo su Linux con i dati di BloodHound Community Edition, utilizza i comandi seguenti:

root@kitploit:~
docker run -v ${PWD}:/tmp --network host ad-miner AD-miner -b bolt://localhost:7687 -u neo4j -p mypassword -cf YOUR_PREFIX

Nota che montare il volume con -v è fondamentale per ottenere l'output dei dati. Questo presuppone che il server BHCE sia in esecuzione sull'host Docker con le impostazioni predefinite.

Utilizzo

Esegui lo strumento:

root@kitploit:~
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]

Esempio:

root@kitploit:~
AD-miner -cf My_Report -u neo4j -p mypassword

I file cache vengono generati al completamento di ogni richiesta Neo4j. Questa funzionalità permette di mettere in pausa o fermare AD Miner in qualsiasi punto del processo senza perdere i risultati precedentemente calcolati. Per sfruttare la cache, utilizza il parametro -c. I file cache sono memorizzati nella cartella cache_neo4j nella tua directory corrente. Affinché la cache venga utilizzata, il nome del report deve corrispondere al prefisso del nome del file cache:

root@kitploit:~
AD-miner -c -cf My_Report -u neo4j -p mypassword

Per gestire meglio set di dati di grandi dimensioni, è possibile abilitare il multi-threading e anche utilizzare un cluster di database neo4j, come mostrato nell'esempio seguente (dove server1 gestisce 32 thread e server2 ne gestisce 16):

root@kitploit:~
AD-miner -c -cf My_Report -b bolt://server1:7687 -u neo4j -p mypassword  --cluster server1:7687:32,server2:7687:16

Se la politica di rinnovo della password è nota, è possibile specificarla utilizzando il parametro -r per garantire che i controlli di rinnovo della password siano allineati con le impostazioni del tuo ambiente (il valore predefinito è 90 giorni). Ad esempio, se la politica password è impostata a 180 giorni, puoi utilizzare il seguente comando:

root@kitploit:~
AD-miner -c -cf My_Report -b bolt://server:7687 -u neo4j -p mypassword -r 180

[!TIP] La password predefinita del database neo4j di Bloodhound CE è bloodhoundcommunityedition o neo5j se usi BloodHound Automation

Opzioni:

root@kitploit:~
  -h, --help            mostra questo messaggio di aiuto ed esci
  -b BOLT, --bolt BOLT  Connessione bolt Neo4j (predefinito: bolt://127.0.0.1:7687)
  -u USERNAME, --username USERNAME
                        Nome utente Neo4j (predefinito: neo4j)
  -p PASSWORD, --password PASSWORD
                        Password Neo4j (predefinito: bloodhoundcommunityedition)
  -e EXTRACT_DATE, --extract_date EXTRACT_DATE
                        Data di estrazione (es., 20220131). Predefinito: data dell'ultimo accesso
  -r RENEWAL_PASSWORD, --renewal_password RENEWAL_PASSWORD
                        Politica di rinnovo della password in giorni. Predefinito: 90
  -c, --cache           Usa file locale per i dati neo4j
  -l LEVEL, --level LEVEL
                        Livello ricorsivo per le query di path
  -cf CACHE_PREFIX, --cache_prefix CACHE_PREFIX
                        File cache da utilizzare (in caso di più file cache per azienda)
  --gpo_low             Esegue una query più veloce ma incompleta per GPO (più veloce della query regolare)
  -ch NB_CHUNKS, --nb_chunks NB_CHUNKS
                        Numero di chunk per richieste neo4j parallele. Predefinito: 20 * numero di CPU
  -co NB_CORES, --nb_cores NB_CORES
                        Numero di core per richieste neo4j parallele. Predefinito: numero di CPU
  --rdp                 Include il bordo CanRDP nei grafici
  --evolution EVOLUTION
                        Evoluzione nel tempo: posizione dei file json dei dati. es.: '../../tests/'
  --cluster CLUSTER     Nodi del cluster per eseguire query neo4j parallele. es.: host1:port1:nCore1,host2:port2:nCore2,...

Nelle pagine dei grafici, puoi fare clic con il tasto destro sui nodi del grafico per raggrupparli o per aprire il cluster.

Evoluzione

Se hai più report AD-Miner nel tempo, puoi facilmente tracciare l'evoluzione con l'argomento --evolution: ogni report AD-Miner genera un file JSON di dati insieme al file index.html. Devi solo raccogliere questi diversi file JSON in un'unica cartella e specificare il percorso di quella cartella dopo l'argomento --evolution.

root@kitploit:~
AD-miner -c -cf My_Report -b bolt://server:7687 -u neo4j -p mypassword -r 180 --evolution evolution_folder/

Una scheda 'Evoluzione nel tempo' appare sulla pagina principale, fornendo grafici di evoluzione per ogni categoria (Permessi, Password, Kerberos e Varie).

È disponibile anche l'evoluzione dettagliata per ogni controllo, accessibile tramite il pulsante "Mostra evoluzione" per ogni categoria. Una scala logaritmica è disponibile per evidenziare meglio le sottili variazioni nel tempo.

Percorsi più intelligenti (Smartest paths)

AD Miner può calcolare percorsi basati sulla loro effettiva sfruttabilità. Infatti, a volte il percorso più breve è difficile da sfruttare (qui a causa di ExecuteDCOM prima di HasSession).

Mentre esiste un percorso più lungo ma più semplice (qui con MemberOf e AdminTo invece di ExecuteDCOM).

AD Miner passa automaticamente alla modalità smartest path quando il tuo database neo4j ha installato il plugin Graph Data Science (https://neo4j.com/docs/graph-data-science/current/). Il modo più semplice per installare questo plugin è definire una variabile d'ambiente nel tuo docker neo4j: NEO4J_PLUGINS=["graph-data-science"] (è installato per impostazione predefinita con BloodHound Automation).

Attualmente, 10 controlli utilizzano la copertura completa del grafico e ottimizzano i percorsi più intelligenti per l'analisi.

Controlli implementati

La seguente è una lista di controlli già implementati in AD Miner:

Controlli per On-premise

Controlli per Entra ID

Contribuire

Scopri come contribuire qui.

Scarica lo strumento
CategoriaDescrizioneCategoriaDescrizione
KerberosAccount AS-REP RoastableVarieComputer con SO obsoleto
KerberosAccount KerberoastableVarieAccount dormienti
KerberosDelegazione vincolata KerberosVarieLivello funzionale del dominio
KerberosKerberos RBCD contro computerVarieComputer fantasma
KerberosDelegazioni non vincolate KerberosVarieGruppi senza membri
KerberosPassword KRBTGT vecchiaVarieOU senza membri
KerberosShadow Credentials su account privilegiatiVarieShadow credentials su controller di dominio
KerberosShadow Credentials su account regolariVariePrimaryGroupID inaspettato
PasswordAccesso alle password LAPSPermessiAnomalie ACL
PasswordComputer senza LAPSPermessiPunti di strozzatura nei percorsi di attacco
PasswordOggetti possono leggere password GMSA degli amministratoriPermessiComputer amministratori di altri computer
PasswordBypass dei requisiti passwordPermessiPercorsi cross-dominio verso Domain Admin
PasswordUtenti con password in chiaroPermessiAccount ospiti
PasswordUtenti con password vecchiePermessiAccesso inadeguato ai privilegi DCSync
PasswordUtenti senza scadenza passwordPermessiPrivilegi inadeguati per modifiche GPO
PermessiImpostazioni AdminCount inadeguatePermessiAccount macchina con privilegi inadeguati
PermessiNumero inadeguato di amministratori di dominioPermessiAccount macchina con privilegi inadeguati
PermessiAccount macchina con privilegi inadeguatiPermessiPrivilegi di admin locale non Tier-0 su ADCS
PermessiOggetti con cronologia SIDPermessiPercorsi verso DNS Admins
PermessiPercorsi verso Domain AdminsPermessiPercorsi verso Gruppi Operatori
PermessiPercorsi verso Unità Organizzative (OU)PermessiPercorsi verso server
PermessiPercorsi verso il contenitore AdminSDHolderPermessiGruppo "Accesso compatibile Pre-Windows 2000"
PermessiAccount privilegiati fuori dal gruppo utenti protettiPermessiAccesso RDP (computer)
PermessiAccesso RDP (utenti)PermessiViolazione Tier-0 (sessioni)
PermessiUtenti con potenti privilegi cross-dominioPermessiUtenti con privilegi di amministratore locale
CategoriaDescrizioneCategoriaDescrizione
Varie Entra IDAccount dormienti AzureEntra ID MS GraphControllori diretti di MS Graph
Password Entra IDPrivilegi di reimpostazione password Entra IDEntra ID MS GraphAccount Entra ID non sincronizzati on-prem
Password Entra IDCambio password ultimo incoerenteEntra ID MS GraphAccount sincronizzati con account gemello disabilitato
Permessi Entra IDAccesso a ruoli Entra ID privilegiatiPermessi Entra IDAccount privilegiati sia su on-prem che su Azure
Permessi Entra IDPercorso cross on-prem/Entra ID verso tier-0Permessi Entra IDUtenti possibilmente correlati a AADConnect
Permessi Entra IDUtenti Entra ID con percorsi verso target di alto valore