如何使用regedit从SAM文件获取密码哈希

时间:2015-10-12 08:54:28

标签: hash passwords hex regedit sam

我一直在尝试从SAM文件中获取密码哈希值。我不想下载一个可以帮我的程序;首先,因为我想自己做,其次,因为我下载的所有内容都是恶意软件。

很快我意识到登录我的帐户(管理员)时我无法在注册表上访问SAM,所以我决定交换" utilman.exe"使用" cmd.exe"的副本因此我可以访问SAM作为'系统'退出我的帐户时。

我设法将整个SAM导出到我的桌面,作为" .reg"文件和" .txt"文件。问题是......我不知道从哪里开始寻找密码哈希。有趣的是,当打开" .txt"版本,我意识到改变" .reg"版本为" .txt"文件。这里显示了一个例子:

<00> 00000000 07 00 01 00 00 00 00 00 - 98 00 00 00 02 00 01 00 ................ 默认文字版

[HKEY_LOCAL_MACHINE \ SAM \ SAM] &#34; C&#34; =己烷:07,00,01,00,00,00,00,00,98,00,00,00,02,00,01,00,01,00,14,80 ,78,00,00,\ 注册文件已更改为txt

非常感谢任何帮助。至于意图,我只想尝试Windows。 :)...

1 个答案:

答案 0 :(得分:3)

enter image description here

这帮我装了。在这里,您可以看到LM(Lan Manager)密码哈希和NT哈希。我在我的注册表中找到了这些并确切地发现了。

修改

如何从第一个块中找到第二个块中值的位置(对于自动程序)。因为,第一个框总是看起来像(例如,工作站在0078),但第二个框将具有不同的值并且位于不同的位置,因此它的工作原理如下:

  

选择前4个字节,例如:90 01 00 00

     

反转它们,例如:00 00 01 90注意:我没有改变值,只是字节顺序,因此90仍然是90而不是09)

     

Decimal将00000190转换为十六进制以获取BE

     

Hex将BE转换为190

     

十六进制转换(再次)190得到400(现在是我们的十进制值)

     

以十进制形式添加CC(CC的十进制数为204),其为204和400以制作604(注意:CC必须添加到您执行的每个等式中,否则它将无法工作)

     

十六进制到十进制604得到25C。然后,如果你看第二个块,它是0258,0259,025A,025B,025C。那么025C(25C)就是你的价值。