
Una piccola utility per convertire i file NTDS.dit in formato SQLite.
Questo software può essere utilizzato direttamente come utilità CLI oppure come libreria per ottenere un database SQLite da un file NTDS.DIT. I bit crittografati possono essere decifrati se viene fornito anche il relativo hive di sistema.
python -m pip install ntdsdotsqlite
ntdsdotsqlite NTDS.DIT --system SYSTEM -o NTDS.sqlite
usage: NTDS.sqlite [-h] [--system SYSTEM] -o OUTFILE NTDS
This tool helps dumping NTDS.DIT file to an SQLite database
positional arguments:
NTDS The NTDS.DIT file
optional arguments:
-h, --help show this help message and exit
--system SYSTEM The SYSTEM hive to decrypt hashes. If not provided, hashes will be encrypted inside the sqlite database.
-o OUTFILE, --outfile OUTFILE
The sqlite database. Example : NTDS.sqlite
Il modello SQL è descritto nel file sql_model.md in questo repository. In pratica, non tutti gli oggetti vengono estratti (del tutto), ma al momento vengono recuperati i seguenti: oggetto di dominio, account utente, account computer, gruppi, unità organizzative e contenitori. Ho pensato che questi sarebbero stati i più utili. Se hai bisogno di estrarre più classi di oggetti o attributi aggiuntivi, sentiti libero di aprire un'issue o una pull request!
Le prestazioni possono essere un po' basse per file NTDS enormi. L'intero NTDS non viene memorizzato in memoria per evitare l'esaurimento della memoria quando si lavora con file enormi (i database NTDS possono crescere fino a diversi gigabyte).