【实验目的】
1)理解Opcrack挂彩虹表破解本地sam散列的原理
2)学习Opcrack挂彩虹表破解本地sam散列的过程
【实验原理】
彩虹表是一个用于加密散列函数逆运算的预先计算好的表, 常用于破解加密过的密码散列。一般主流的彩虹表都在100G以上。 查找表常常用于包含有限字符固定长度纯文本密码的加密。这是以空间换时间的典型实践, 在每一次尝试都计算的暴力破解中使用更少的计算能力和更多的储存空间,但却比简单的每个输入一条散列的翻查表使用更少的储存空间和更多的计算性能。使用加盐的KDF函数可以使这种攻击难以实现令。
为了保证后台数据安全,现在的做法都是使用哈希算法对明文密码进行加密存储.由于哈希算法不可逆向,因此由密码逆向出明文运算就成了不可能。
起初黑客们通过字典穷举的方法进行破解,这对简单的密码和简单的密码系统是可行的,但对于复杂的密码和密码系统,则会产生无穷大的字典.为了解决逆向破解的难题,黑客们就产生了彩虹表的技术。
为了解决所需要字典大小,减少产生和查找字典的时间,黑客选择性存储一个较小的可逆向的长链的密码的哈希值。虽然在破解单个密文,使用哈希链接的方式需要更多的计算时间的反向查找,但字典要小得多,因此可以存储更长的密码的哈希值。彩虹表是此链接技术的一种改进,并提供一种称为碰撞链的解决方案.其基于Martin Hellman理论(基于内存与时间的权重理论)
彩虹表打大小依据需要而定,有上T数据的彩虹表,也有几百M的数据,不同的情况下选择不同的彩虹表,可以快速得到结果。
【实验环境】
本次环境是模拟黑客在已经获得目标机HASH的情况下,通过加挂彩虹表对目标HASH进行破解。
【实验步骤】
一、获得系统SAM值
如 pwdump导出本地SAM散列 http://klmyoil.blog.51cto.com/10978910/1721965
二 使用Opcrack挂彩虹表破解本地sam
2.1 打开ophcrack.exe
2.2 下面绿色的就是我们加挂的彩虹表
2.3 我们点击”load”按钮,选择single hash
2.4 把我们保存在文档中的hash单独复制出来。
2.5 确定后,我们点击软件的CRACK
2.6 等待破解,成功后会在软件中显示
2.7 密码被破解出来,至此实验结束。