
Um pequeno utilitário para converter arquivos NTDS.dit para o formato SQLite.
Este software pode ser usado diretamente como um utilitário de CLI ou como uma biblioteca para obter um banco de dados SQLite a partir de um NTDS.DIT. Bits criptografados podem ser descriptografados se o hive do sistema associado for fornecido juntamente.
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
O modelo SQL é descrito no arquivo sql_model.md neste repositório. Basicamente, nem todos os objetos são extraídos (de forma alguma), mas os seguintes são recuperados atualmente: objeto de domínio, contas de usuário, contas de máquina, grupos, unidades organizacionais e contêineres. Achei que esses seriam os mais úteis. Se você precisar que mais classes de objetos sejam extraídas ou de atributos adicionais, sinta-se à vontade para abrir uma issue ou um pull request!
O desempenho pode ser um pouco baixo para arquivos NTDS grandes. O NTDS inteiro não é armazenado na memória para evitar esgotamento da memória ao trabalhar com arquivos grandes (os bancos de dados NTDS podem crescer até vários gigabytes).