码迷,mamicode.com
首页 > Windows程序 > 详细

Windows口令安全与破解之--saminside破解本地sam散列

时间:2015-12-11 16:48:42      阅读:925      评论:0      收藏:0      [点我收藏+]

标签:windows   实验目的   比特流   字符串   兼容性   

【实验目的】

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散列

标签:windows   实验目的   比特流   字符串   兼容性   

原文地址:http://klmyoil.blog.51cto.com/10978910/1721977

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!