【实验目的】
1)理解saminside破解本地sam散列的原理
2)学习psaminside破解本地sam散列的过程
【实验原理】
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算法存在几个弱点,微软在保持向后兼容性的同时提出了自己的挑战响应机制,NTLM Hash便应运而生。假设明文口令是"123456",首先转换成Unicode字符串,与LM Hash算法不同,这次不需要添加0补足14字节
"123456"->310032003300340035003600。
从ASCII串转换成Unicode串时,使用little-endian序,微软在设计整个SMB协议时就没考虑过big-endian 序,ntoh*()、hton*()函数不宜用在SMB报文解码中。0×80之前的标准ASCII码转换成Unicode码,就是简单地从0x变成 0×00。此类标准ASCII串按little-endian序转换成Unicode串,就是简单地在原有每个字节之后添加0×00。对所获取的 Unicode串进行标准MD4单向哈希,无论数据源有多少字节,MD4固定产生128-bit的哈希值,16字节 `310032003300340035003600`-进行标准MD4单向哈希->32ED87BDB5FDC5E9 CBA88547376818D4,就得到了最后的NTLM Hash
NTLM `Hash:32ED87BDB5FDC5E9CBA88547376818D4`。
## 【实验环境】
本次环境是模拟黑客在已经获得目标机HASH的情况下,通过saminside对目标HASH进行破解
【实验步骤】
一、获得系统SAM值
如:pwdump导出本地SAM散列http://klmyoil.blog.51cto.com/10978910/1721965
二 获得系统口令
2.1 打开SAMInside.exe
2.2 导入我们保存在桌面的HASH值文档
2.3 选中要破解的账户
2.4 点击’audit’,依次勾选‘NT-HASH ATTACK’和’ Dictionarie ATTACK‘
2.5 点击工具箱下的opintos选项
2.6 选择Dictionaries选项
2.7 选择‘add‘,选项,添加SAMInside文件下,Dictionaries下的InsidePro (Mini).dic密码字典
2.8 选择开始按钮
2.9 密码被破解出来,至此实验结束。
Windows口令安全与破解之--saminside破解本地sam散列
原文地址:http://klmyoil.blog.51cto.com/10978910/1721977