1

一段时间以来,我一直在尝试从 SAM 文件中获取密码哈希。我不想下载可以为我获取它的程序;首先,因为我想自己做,其次,因为我下载的都是恶意软件。

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

我设法将整个 SAM 导出到我的桌面,既作为“.reg”文件,也作为“.txt”文件。问题是......我不知道从哪里开始寻找密码哈希。有趣的是,当打开“.txt”版本时,我意识到这与将“.reg”版本更改为“.txt”文件时不同。此处显示了一个示例:

00000000 07 00 01 00 00 00 00 00 - 98 00 00 00 02 00 01 00 ...... 默认文本版本

[HKEY_LOCAL_MACHINE\SAM\SAM] "C"=hex:07,00,01,00,00,00,00,00,98,00,00,00,02,00,01,00,01,00,14 ,80,78,00,00,\ reg文件改成txt

任何帮助将非常感激。至于意图,我只是想尝试使用 Windows。:)...

4

1 回答 1

3

在此处输入图像描述

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

编辑

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

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

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

十进制将 00000190 转换为十六进制得到 BE

十六进制转换 BE 得到 190

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

以十进制形式添加 CC(CC 的十进制为 204),即 204 和 400 得到 604(注意:必须将 CC 添加到您所做的每个等式中,否则它将不起作用)

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

于 2016-01-19T15:11:58.603 回答