
Un petit utilitaire pour convertir les fichiers NTDS.dit au format SQLite.
Ce logiciel peut être utilisé soit directement comme utilitaire CLI, soit comme bibliothèque pour obtenir une base de données SQLite à partir d’un fichier NTDS.DIT. Les bits chiffrés peuvent être déchiffrés si la ruche système associée est fournie en même temps.
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
Le modèle SQL est décrit dans le fichier sql_model.md de ce dépôt. Basiquement, tous les objets ne sont pas extraits (du tout), mais les éléments suivants sont récupérés à ce jour : objet domaine, comptes utilisateurs, comptes machines, groupes, unités d’organisation et conteneurs. Je pense que ce sont les plus utiles. Si vous avez besoin que d’autres classes d’objets soient extraites ou d’attributs supplémentaires, n’hésitez pas à ouvrir une issue ou une pull request !
Les performances peuvent être un peu faibles pour les énormes fichiers NTDS. L’intégralité du NTDS n’est pas stockée en mémoire afin d’éviter l’épuisement de la mémoire lors du travail sur de gros fichiers (les bases de données NTDS peuvent atteindre plusieurs gigaoctets).