使用pwdump 导出本地windows SAM散列并破解

来源:shiyanbar.com,仅作为笔记,侵删

Windows hash由二部分组成,分别是LM HASH&NT HASH。Windows系统关于hash的组成如下:

用户名称:RID: LM-HASH值:NT-HASH值

LM HASH生成规则:
1.用户的密码被限制为最多14个字符。
2.用户的密码转换为大写。
3.系统中用户的密码编码使用了OEM内码页
4.密码不足14字节将会用0来补全。
5.固定长度的密码被分成两个7byte部分。每部分转换成比特流,再分组,每7bit为一组并且末尾加0,组成新的编码
6.以上步骤得到的8byte二组,分别作为DES key为“KGS!@#$%”进行加密。
7.将二组DES加密后的编码拼接,得到最终LM HASH值。


NT hash生成原理
IBM设计的LM Hash算法存在几个弱点,微软在保持向后兼容性的同时提出了自己的挑战响应机制,NTLMHash便应运而生。假设明文口令是”123456",首先转换成Unicode字符串,与LMHash算法不同,这次不需要添加0补足14字节

“123456"->310032003300340035003600


从ASClI串转换成Unicode串时,使用little-endian序,微软在设计整个SMB协议时就没考虑过big-endian序,ntoh0、hton0函数不宜用在SMB报文解码中。0×80之前的标准ASCII码转换成Unicode码,就是简单地从0x变成0×00。此类标准ASCIl串按little-endian序转换成Unicode串,就是简单地在原有每个字节之后添加0×00。对所获取的Unicode串进行标准MD4单向哈希,无论数据源有多少字节,MD4固定产生128-bit的哈希值,16字节310032003300340035003600-进行标准MD4单向哈希-
>32ED87BDB5FDC5E9 CBA88547376818D4,就得到了最后的NTLM Hash
 NTLM Hash:32ED87BDB5FDC5E9CBA88547376818D4

pwdump.exe --dump-hash-local

下载软件之后,使用以上命令可以获得当前用户名的SAM。

使用pwdump 导出本地windows SAM散列并破解_第1张图片

使用LC5.exe破解

之后可以将SAM保存到文本文件,使用LC5.EXE破解。

使用pwdump 导出本地windows SAM散列并破解_第2张图片

导入字典列表,LC5软件目录下有dic文件。

使用pwdump 导出本地windows SAM散列并破解_第3张图片

即可破解出密码

使用pwdump 导出本地windows SAM散列并破解_第4张图片

使用彩虹表破解

关于彩虹表

彩虹表使用方法

导出SAM到文本文件,使用opcrack 挂彩虹表破解。

使用pwdump 导出本地windows SAM散列并破解_第5张图片

输入单行hash

使用pwdump 导出本地windows SAM散列并破解_第6张图片

点击crack,开始破解

使用pwdump 导出本地windows SAM散列并破解_第7张图片

破解出密码

使用pwdump 导出本地windows SAM散列并破解_第8张图片

你可能感兴趣的:(信息安全)