该软件既可以直接作为 CLI 工具使用,也可以作为库使用,以从 NTDS.DIT 文件生成 SQLite 数据库。如果同时提供相关的 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 数据库可能增长到数 GB)。