
Небольшая утилита для преобразования файлов NTDS.dit в формат SQLite.
Это программное обеспечение можно использовать либо напрямую как CLI-утилиту, либо как библиотеку для получения базы данных SQLite из базы NTDS.DIT. Зашифрованные фрагменты могут быть расшифрованы, если вместе с ними предоставлен соответствующий системный куст (system hive).
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
Модель SQL описана в файле sql_model.md в этом репозитории. По сути, извлекаются не все объекты (вовсе не все), но на сегодняшний день извлекаются следующие: объект домена, учётные записи пользователей, учётные записи машин, группы, организационные подразделения и контейнеры. Я подумал, что они будут наиболее полезными. Если вам нужно, чтобы извлекались дополнительные классы объектов или дополнительные атрибуты, смело открывайте issue или pull request!
Для огромных файлов NTDS производительность может быть немного низкой. Весь NTDS не хранится в памяти, чтобы предотвратить исчерпание памяти при работе с огромными файлами (базы NTDS могут разрастаться до нескольких гигабайт).