Skip to content

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.

Published on 3 min read

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

ToolLanguageRemoteOffline hivesNotes
Impacket secretsdumpPython✅✅The reference; needs Python
pypykatzPython✅ (LSASS)✅Cross-platform, also parses LSASS dumps
gosecretsdumpGo❌✅Very fast on large NTDS.dit
NetExec (nxc)Python✅❌Dumps across many hosts at once
MimikatzC (Windows)❌✅The original; live + offline
SharpSecDumpC# / .NET✅❌Remote, C2-friendly
DSInternalsPowerShell❌✅Reads NTDS.dit natively
secretsdump.comRust/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.dit to 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.

Related articles

A quick reference for Impacket secretsdump.py: offline LOCAL dumping of SAM, SECURITY and NTDS.dit hives, plus remote, pass-the-hash, Kerberos and DCSync usage.
How secretsdump's -just-dc uses the DRSUAPI replication protocol to pull every domain hash from a DC without touching disk — the required rights, the flags, and what it outputs.
How to read Impacket secretsdump output — the username:RID:LMhash:NThash pwdump line, the blank LM hash, the DCC2 ($DCC2$) cache and the LSA secrets block.