我一直在尝试从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。 :)...
答案 0 :(得分:3)
这帮我装了。在这里,您可以看到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)就是你的价值。