“解密“Windows NTLM Hash

从hashcat 3.30开始,在虚拟机中运行hashcat经常会报错,提示GPU错误。这是由于从该版本开始,hashcat对于Intel CPU会自动检测Intel OpenCL运行时,即是否支持GPU破解。如果不支持,就会停止运行。为了便于实验,我们使用2.0版本的hashcat
安装:
wget https://hashcat.net/files/hashcat-2.00.7z
7z e hashcat-2.00.7z
./hashcat-cli64.bin -V
回显为2.0即可

首先需要提取windows密码的hash
新建一个账户进行测试
需要以管理员身份运行
在这里插入图片描述
上面的命令是创建了一个demo用户,密码为pass1234

启动Cain,以管理员身份运行
“解密“Windows NTLM Hash_第1张图片
选中cracker选项卡,右键add to list
“解密“Windows NTLM Hash_第2张图片
选中从本地系统导入hash,next即可

“解密“Windows NTLM Hash_第3张图片“解密“Windows NTLM Hash_第4张图片
这里需要注意的是,LM哈希的历史可以追溯到20世纪80年代,微软不再使用它们了。 Cain显示的LM哈希值只是虚拟填充值,不再包含任何有关真实密码的信息。
NT哈希是微软的“更安全”哈希,由Windows NT在1993年使用,并且从未以任何方式更新。接下里的破解也是针对NT哈希进行的
选中后将其导出
“解密“Windows NTLM Hash_第5张图片
生成demo.lc文件
在这里插入图片描述
可以使用记事本打开
“解密“Windows NTLM Hash_第6张图片
拿到hash后可以去搜索引擎找明文
“解密“Windows NTLM Hash_第7张图片
这一串hash是如何生成的呢?

明文为pass1234,通过文本转16进制的网站转换后为
“解密“Windows NTLM Hash_第8张图片
将得到的16进制转成unicode格式后在hashcalc中计算md4
“解密“Windows NTLM Hash_第9张图片
由此得到了hash,可以和我们从cain中得到的比对,是完全一致的。

如果我们只是拿到hash,但是不知道类型的情况下,可以使用kali自带的hash-identifier识别
“解密“Windows NTLM Hash_第10张图片
输入我们从win上拿到的hash即可
它会列出最可能的hash以及可能性极小的hash
“解密“Windows NTLM Hash_第11张图片

知道了类型之后就可以使用hashcat
我们将NT Hash复制到kali中新建的一个文件命名为demo.hash
在这里插入图片描述
为了破解hash,需要足够强大的字典
Kali Linux包含来自RockYou的大约500,000个常用密码的列表。
在终端窗口中,执行以下命令以解压缩它们:
在这里插入图片描述
由于文件本身很大,我们可以使用head、tail、sed等方式有选择性的查看
“解密“Windows NTLM Hash_第12张图片

5.3 实验任务三
接下来我们就使用这个字典配合hashcat来破解win的hash
在这里插入图片描述
-m 1000指破解windows NT Hash,-a 0指使用字典破解,接着指定输出文件、Hash文件、字典

结果很快就出来了
“解密“Windows NTLM Hash_第13张图片
破解过程会显示“[s]tatus[p]ause [r]esume [b]ypass [q]uit =>”,键盘输入“s”显示破解状态,输入“p”暂停破解,输入“r”继续破解,输入“b”表示忽略破解,输入“q”表示退出

可以在输出文件demopass.txt查看
在这里插入图片描述
破解了,明文为pass1234正是我们创建用户时的密码。

除了hashcat意外,john the ripper也常用
同样新建一个demo.txt,里面输入从win下复制的hash
john的全部参数用法可以-h查看
“解密“Windows NTLM Hash_第14张图片
可以
我们这里直接开始
“解密“Windows NTLM Hash_第15张图片
我们在上面只指定了字典和hash文件
从回显中可以看出john判断出hash的类型为LM或NT,并建议我们加上format参数进行破解
“解密“Windows NTLM Hash_第16张图片
加上format参数NT后可以看到破解后的明文pass1234
而指定format为LM则无法破解出正确的明文
在这里插入图片描述

彩蛋:
从上面破解win的hash的时候已经可以看出john的优点:
如果你不指定目标的hash类型它会给出判断并自动匹配
可以使用下面的命令查看john支持的所有散列类型
“解密“Windows NTLM Hash_第17张图片

5.3.1. 练习
以下说法不是正确的是:【单选题】
【A】在NTLM认证中,NTLM响应分为NTLM v1,NTLMv2,NTLM session v2三种协议,不同协议使用相同同格式的Challenge和加密算法。
【B】hashcat支持的hash算法包括NetNTLMv1、NetNTLMv1+ESS、NetNTLMv2和NTLM。
【C】head 与 tail用来显示开头或结尾某个数量的文字区块
正确答案:A。

8 参考资源
1.jhon使用指导1:
https://countuponsecurity.files.wordpress.com/2016/09/jtr-cheat-sheet.pdf
2.John使用指导2http://msu-nftc.org/courses/intro/material/9%20Password%20Cracking/Tools/John%20the%20Ripper.pdf
3.hashcat指导:https://klionsec.github.io/2017/04/26/use-hashcat-crack-hash/
4.LM、NTLM、Net-NTLMv2介绍https://medium.com/@petergombos/lm-ntlm-net-ntlmv2-oh-my-a9b235c58ed4

你可能感兴趣的:(“解密“Windows NTLM Hash)