如何在系统运行时转储 Windows SAM 文件?

16 windows security passwords

我已经使用 metasploit 开发了测试机器,并且能够从 SAM 文件中获取哈希值;我试过运行命令SYSTEM来获取它们,但我无法这样做。从 SAM 文件中提取哈希值的更便携方法是什么?

小智 15

有一个更简单的解决方案,不需要管理阴影卷或使用外部工具。您可以使用reg微软提供的命令简单地复制 SAM 和 SYSTEM (在 Windows 7 和 Windows Server 2008 上测试):

reg save hklm\sam c:\sam
reg save hklm\system c:\system
Run Code Online (Sandbox Code Playgroud)

(最后一个参数是要复制文件的位置)


然后,您可以使用 samdump2 包(在 Debian 上可用:)在 Linux 系统上提取哈希apt-get install samdump2

$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::
Run Code Online (Sandbox Code Playgroud)


use*_*686 13

这不是权限问题——Windows 对 SAM 文件保持独占锁定(据我所知,这是加载的注册表配置单元的标准行为),因此任何其他进程都不可能打开它。

但是,最近的 Windows 版本有一项称为“卷影复制”的功能,该功能旨在创建整个卷的只读快照,主要用于备份。文件锁是为了确保数据的一致性,所以如果制作整个文件系统的快照,它们是不必要的。这意味着可以创建 的快照C:,挂载它,复制您的SAM文件,然后丢弃该快照。

具体如何执行取决于您的 Windows 版本:XP 需要外部程序,Vista 和 7 有vssadmin create shadow,Server 2008 有diskshadow命令。该网页安全地从活动域控制器上倾倒哈希对这一过程的详细信息,以及说明书和脚本。

或者,有一些工具samdump可以从各个方向滥用 LSASS 过程,以便直接从内存中提取所有密码哈希。它们可能比 VSS 快照快得多,但系统崩溃的风险更高。

最后,谷歌推出了这个片段,我无法评价它的有用性,因为我自己从未使用过 metasploit:

meterpreter> use priv
meterpreter> hashdump
Run Code Online (Sandbox Code Playgroud)


小智 6

编辑:我决定在放弃多年后进行编辑。


/etc/shadowLinux 系统不同Windows SAM 文件被锁定无法复制/读取。相反,为了解决这个问题,工具将从内存中提取哈希值。

有一些方法可以解决这个问题,我将在下面介绍:

米米卡茨

运行 mimikatz sekurlsa::logonpasswords

转储

与 mimikatz 类似的功能。运行它,哈希值将被转储到本地文件。

哈希转储

内置到meterpreter中;从内存中提取哈希值。

注册表

也可以从注册表中提取(如果您有SYSTEM访问权限):

  1. reg save hklm\sam %tmp%/sam.regreg save hklm\system %tmp%/system.reg
  2. 复制文件,然后运行: samdump2 system sam

备份

SAM 文件也可以存储在备份位置: C:\Windows\Repair\SAM

我还应该提到,这些工具至少需要Administrator特权;除非SYSTEM获得访问权限,否则大多数人不会获得所有哈希值。