secretsdump alternatives: 7 tools compared
Beyond Impacket secretsdump: pypykatz, gosecretsdump, NetExec, Mimikatz, SharpSecDump, DSInternals and secretsdump.com — what each does and when to reach for it.
Impacket's secretsdump.py is the
reference tool for dumping Windows credentials, but it is not the only one — and
depending on your platform, scale, or whether you can install Python, another
tool may fit better. Here is how the main alternatives compare.
Quick comparison
| Tool | Language | Remote | Offline hives | Notes |
|---|---|---|---|---|
| Impacket secretsdump | Python | ✅ | ✅ | The reference; needs Python |
| pypykatz | Python | ✅ (LSASS) | ✅ | Cross-platform, also parses LSASS dumps |
| gosecretsdump | Go | ❌ | ✅ | Very fast on large NTDS.dit |
| NetExec (nxc) | Python | ✅ | ❌ | Dumps across many hosts at once |
| Mimikatz | C (Windows) | ❌ | ✅ | The original; live + offline |
| SharpSecDump | C# / .NET | ✅ | ❌ | Remote, C2-friendly |
| DSInternals | PowerShell | ❌ | ✅ | Reads NTDS.dit natively |
| secretsdump.com | Rust/WASM | ❌ | ✅ | In-browser, no install |
The tools
Impacket secretsdump
The baseline. Handles remote dumping (SAM/LSA, DCSync) and offline hive/NTDS.dit
parsing. See the command cheat sheet. Its only
real friction is needing a working Python/Impacket environment.
pypykatz
pypykatz is a pure-Python reimplementation
of Mimikatz. It parses exported hives offline (pypykatz registry), reads LSASS
minidumps, and runs happily on Linux and macOS — a strong pick when you cannot
run Mimikatz on the target.
gosecretsdump
gosecretsdump is a Go reimplementation
focused on speed. On a large domain's NTDS.dit it is dramatically faster
than the Python parser, which matters when a database holds hundreds of thousands
of accounts. Offline only.
NetExec (nxc)
NetExec, the maintained successor to
CrackMapExec, shines at scale: nxc smb $TARGETS --sam --lsa --ntds dumps
credentials across an entire subnet with one command, using the same
authentication options as secretsdump.
Mimikatz
Mimikatz is the original credential
tool. Its lsadump::sam and lsadump::secrets modules read the live registry or
offline hives, but it runs on Windows and is heavily signatured by AV/EDR.
SharpSecDump
SharpSecDump is a .NET port of secretsdump's remote SAM/LSA method, designed to be run in-memory from a C2 framework on a Windows foothold — no Python required on the operator side.
DSInternals
DSInternals is a PowerShell
module whose Get-ADDBAccount reads an offline NTDS.dit directly. It is also
a legitimate DFIR/administration tool for auditing weak or duplicate hashes.
secretsdump.com
secretsdump.com reimplements Impacket's offline secretsdump.py in
Rust, compiled to WebAssembly. Drop SYSTEM, SAM, SECURITY or NTDS.dit
onto the page and it recovers the boot key, SAM NT/LM hashes, LSA secrets and
DCC2 logons entirely client-side — no install, and nothing is uploaded. It is
built for the offline case specifically, so it does not do remote dumping.
Which should you use?
- Handling client hives you must not upload, or no install allowed → secretsdump.com.
- A huge
NTDS.ditto parse fast → gosecretsdump. - Many hosts at once → NetExec.
- From a Windows C2 foothold → SharpSecDump or Mimikatz.
- Everything else, one host → Impacket secretsdump or pypykatz.
Legacy tools such as samdump2 (SAM only, no LSA) and pwdump/fgdump still
appear in write-ups, but they are dated and superseded by everything above.