Active Directory database file copied, exported or dumped
Matches a command line that names the Active Directory database or a tool that extracts it — ntds.dit itself, the NTDS directory on a domain controller, ntdsutil, whose install-from-media mode writes a full copy of the database, Invoke-NinjaCopy, which the technique names, and NTDSDumpEx, a closely related dumping utility added here. This is the only rule in the corpus keyed on the directory database: the neighbouring credential-dumping rules match handles opened against lsass.exe (T1003, T1003.001) or copies of the local SAM, SYSTEM and SECURITY hives (T1003.002, T1003.004), none of which touch a domain controller's NTDS. Shadow copy creation, which AN1611 also names, is deliberately not matched, because backup and imaging software creates shadow copies continuously and those hits would bury everything else. secretsdump.py, the other tool the technique names, has no selector either: its default DRSUAPI replication mode runs from a remote host against the domain controller's directory service and creates no process on the controller for this logsource to observe, so it is structurally out of scope here and only its local-file mode would match incidentally, through the ntds.dit term. The analytic's process source is Security EventID 4688, so Audit Process Creation must be enabled and, because every term here sits on the arguments, the separate Include command line in process creation events policy as well — with either one off this rule matches nothing while looking healthy. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0586, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full descriptionShow less
The detection
The 4 SIEM queries below are previews produced by Siemphony’s own translator, not pySigma, and none has been executed against a real backend — review before you deploy.
detection.yml
Sentinel · KQL
Run this as a search.
DeviceProcessEvents| where (ProcessCommandLine contains "ntds.dit" or ProcessCommandLine contains "ntdsutil" or ProcessCommandLine contains "Windows\\NTDS" or ProcessCommandLine contains "Invoke-NinjaCopy" or ProcessCommandLine contains "NTDSDumpEx")
Splunk · SPL
Run this as a search.
index=* (CommandLine="*ntds.dit*" OR CommandLine="*ntdsutil*" OR CommandLine="*Windows\\NTDS*" OR CommandLine="*Invoke-NinjaCopy*" OR CommandLine="*NTDSDumpEx*")Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE (TO_LOWER(process.command_line) LIKE "*ntds.dit*" OR TO_LOWER(process.command_line) LIKE "*ntdsutil*" OR TO_LOWER(process.command_line) LIKE "*windows\\\\ntds*" OR TO_LOWER(process.command_line) LIKE "*invoke-ninjacopy*" OR TO_LOWER(process.command_line) LIKE "*ntdsdumpex*")
Wazuh · XML rule
Deploy to your manager — this is a rule, not a search.
<group name="sigma,windows,process_creation,"> <!-- Rule ids must be unique on your manager; 100000+ is the user range. --> <rule id="100000" level="12"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="CommandLine" type="pcre2">(?i)(ntds\.dit|ntdsutil|Windows\\NTDS|Invoke-NinjaCopy|NTDSDumpEx)</field> <description>Active Directory database file copied, exported or dumped</description> <mitre> <id>T1003.003</id> </mitre> </rule></group>
Verdicts · reactions · comments
Community
Verdicts from engineers who actually deployed it, and the conversation around it.
Nobody has run this in a real environment and said what happened.
Verdicts from engineers who deployed it
0 castNo verdicts reported yet. The first one is worth more than the tenth — say what you ran it against.
Log in to report a verdict.
Log in to join the discussion.
No comments yet. Someone who deploys this will have something to say about it.