2022年2022年哈希值HASH .pdf

上传人:Che****ry 文档编号:27214127 上传时间:2022-07-23 格式:PDF 页数:12 大小:1.10MB
返回 下载 相关 举报
2022年2022年哈希值HASH .pdf_第1页
第1页 / 共12页
2022年2022年哈希值HASH .pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《2022年2022年哈希值HASH .pdf》由会员分享,可在线阅读,更多相关《2022年2022年哈希值HASH .pdf(12页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、哈希值HASH 对入侵者来说,获取Windows 的口令是整个攻击过程至关重要的一环,拥有系统原来用户的口令,将使得内网渗透和守控更加容易。Windows 系统中的Hash 密码值主要有LM-HASH以及 NTLM-HASH值两部分构成,一旦入侵者获取了系统的Hash 值,通过LC5 以 及 彩 虹 表等 破 解工 具 可以 很快的 获 取系 统 的密 码 。为 此 安 天365 团 队()特别针对系统口令攻击与防范展开专题进行研究,本文主要作为其中的一个子课题,探讨如何使用Gethashes工具来获取系统的Hash值,并对 Hash值的生成原理等知识进行了介绍,最后还介绍了一些有关Hash破

2、解方面的技巧。一、Hash基本知识1Hash定义Hash,一般翻译为“散列”,也有直接音译为 “哈希”的,就是把任意长度的输入 (又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射, 也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出, 而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。2Hash的应用HASH 主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128 位的编码里,叫做HASH 值。也可以说, Hash就是找到一种数据内容和

3、数据存放地址之间的映射关系。3hash算法在密码上的应用MD5 和 SHA1 可以说是目前应用最广泛的Hash算法,而它们都是以MD4 为基础设计的。那么他们都是什么意思呢?这里简单说一下:(1)MD4 MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年设计的, MD 是 Message 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - Digest 的缩写。它适用在32 位字长的处理器

4、上用高速软件实现,它是基于32 位操作数的位操作来实现的。(2) MD5 MD5(RFC 1321)是 Rivest 于 1991年对 MD4 的改进版本。 它仍以 512位分组来输入,其输出是 4 个 32 位字的级联,与MD4 相同。 MD5 比 MD4 来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好(3)SHA1 及其他SHA1 是由 NIST NSA 设计为同 DSA 一起使用的,它对长度小于264的输入,产生长度为 160bit 的散列值,因此抗穷举(brute-force)性更好。 SHA-1 设计时基于和MD4 相同原理,并且模仿了该算法。Hash算法在信

5、息安全方面的应用主要体现在以下的3 个方面:(1) 文件校验我们比较熟悉的校验算法有奇偶校验和CRC 校验,这 2 种校验并没有抗数据篡改的能力,它们一定程度上能检测并纠正数据传输中的信道误码,但却不能防止对数据的恶意破坏。MD5 Hash 算法的“数字指纹”特性,使它成为目前应用最广泛的一种文件完整性校验和 (Checksum) 算法,不少 Unix 系统有提供计算md5 checksum的命令。(2)数字签名Hash 算法也是现代密码体系中的一个重要组成部分。由于非对称算法的运算速度较慢,所以在数字签名协议中, 单向散列函数扮演了一个重要的角色。对 Hash值,又称“数字摘要”进行数字签名

6、, 在统计上可以认为与对文件本身进行数字签名是等效的。而且这样的协议还有其他的优点。(3)鉴权协议鉴权协议又被称作挑战 -认证模式:在传输信道是可被侦听, 但不可被篡改的情况下,这是一种简单而安全的方法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 二、Windows 下 Hash密码值1. Windows 系统下的 hash密码格式Windows 系统下的 hash密码格式为:用户名称 :RID:LM-HASH 值:NT-

7、HASH 值,例如:Administrator:500:C8825DB10F2590EAAAD3B435B51404EE:683020925C5D8569C23AA724774CE6CC:表示用户名称为: Administrator RID 为:500 LM-HASH 值为: C8825DB10F2590EAAAD3B435B51404EE NT-HASH 值为: 683020925C5D8569C23AA724774CE6CC 2.Windows 下 LM Hash 值生成原理假设明文口令是“ Welcome”,首先全部转换成大写“ WELCOME”,再做将口令字符串大写转后后的字符串变换成

8、二进制串:“WELCOME ” - 57454C434F4D4500000000000000 技巧:可以将明文口令复制到UltraEdit 编辑器中使用二进制方式查看即可获取口令的二进制串。说明:如果明文口令经过大写变换后的二进制字符串不足14 字节,则需要在其后添加 0 x00 补足 14 字节。然后切割成两组7 字节的数据,分别经str_to_key()函数处理得到两组 8 字节数据:57454C434F4D45 -str_to_key()- 56A25288347A348A 00000000000000 -str_to_key()- 0000000000000000 这两组 8 字节数据

9、将做为 DESKEY 对魔术字符串 “KGS!#$%”进行标准 DES加密KGS!#$% - 4B47532140232425 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 56A25288347A348A - 对4B47532140232425进 行 标 准DES加 密 - C23413A8A1E7665F 0000000000000000 - 对 4B47532140232425进行标准 DES加密- AAD3B435B

10、51404EE 将加密后的这两组数据简单拼接,就得到了最后的LM Hash LM Hash: C23413A8A1E7665FAAD3B435B51404EE 关于 str_to_key()函数见最后附录1 3. Windows 下 NTLM Hash 生成原理从 IBM 设计的 LM Hash 算法存在几个弱点,微软在保持向后兼容性的同时提出了自己的挑战响应机制, NTLM Hash 应运而生。假设明文口令是“123456” , 首先转换成 Unicode字符串,与 LM Hash 算法不同,这次不需要添加0 x00补足 14 字节123456 - 310032003300340035003

11、600 从 ASCII 串转换成 Unicode串时,使用 little-endian 序,微软在设计整个SMB 协议时就没考虑过 big-endian序,ntoh*()、hton*()函数不宜用在SMB 报文解码中。 0 x80之前的标准 ASCII 码转换成 Unicode 码,就是简单地从0 x? 变成 0 x00? 。此类标准 ASCII 串按little-endian 序转换成 Unicode 串,就是简单地在原有每个字节之后添加0 x00。对所获取的 Unicode 串进行标准MD4 单向哈希,无论数据源有多少字节,MD4 固定产生 128-bit的哈希值,16字 节3100320

12、03300340035003600 - 进 行 标 准MD4单 向 哈 希 - 32ED87BDB5FDC5E9CBA88547376818D4 就得到了最后的NTLM Hash NTLM Hash: 32ED87BDB5FDC5E9CBA88547376818D4 与 LM Hash 算法相比,明文口令大小写敏感, 无法根据 NTLM Hash 判断原始明文口令是否小于8 字节,摆脱了魔术字符串KGS!#$% 。MD4 是真正的单向哈希函数,穷举作为数据源出现的明文,难度较大。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名

13、师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 三、使用 GetHashes获取 Windows 系统的 Hash密码值GetHashes目前最高版本是 v1.4, 它是 InsidePro公司早期的一款Hash密码获取软件,其公司地址为: http:/www.InsideP,该公司还有“ SAMInside”、“ PasswordsPro ”以及“ Extreme GPU Bruteforcer”三款密码破解软件。1GetHashes命令使用格式GetHashes System key file Or GetHashes $Local 一

14、般使用“ GetHashes $Local”来获取系统的Hash密码值,该命令仅在system权限下才能执行成功。 一般根据个人爱好, 可以将“GetHashes.exe ”工具软件命名为其它名称,例如在后面案例中,就将其命名为“getpw”。2.使用 GetHashes获取系统 Hash值实例将 GetHashes重命名为 getpw,然后将其复制到欲获取hash密码值的系统盘中, 然后执行“getpw $local” , 如图 1 所示,顺利获取其密码Hash值,在本案例中使用的是Radmin的 Telnet,单击“文本” -“保存为”将结果保存为一个新文件,然后使用UltraEdit 编

15、辑器进行编辑,仅仅保存Hash密码值部分,后面可使用LC5 导入 Hash密码值即可破解系统的密码值。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 图 1 获取系统 Hash值注意:(1)使用“ GetHashes ”来获取系统的 Hash密码值,必须要在System权限下,也就是在反弹 shell或者 telnet下。(2)如果系统中安装有杀毒软件或者防火墙,有可能由于杀毒软件和防火墙的保护而导致密码获取失败。通过研究发现

16、,由于Gethashes软件威力巨大,主要用在入侵过程中获取系统的Hash密码值,因此绝大多少杀毒软件已经将GetHashes软件加入到病毒库中,如图 2 所示,是 Castlecops网站提供的关于各大杀毒软件针对GetHashes所做的病毒库版本以及更新结果。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 图 2 杀毒软件已经将Gethashes作为病毒处理(3)InsidePro 公司在其网站上还提供了一个Hash 产生

17、器,通过输入一些参数值能够生成经过某种加密算法处理的口令密码值,如图 3所示,有兴趣的朋友可以去尝试, 该功能在研究系统的Hash密码值生成中可以进行相互验证。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 图 3 Hash生成器(4)Hash密码值在线查询在网站 http:/ 中还可以在线查询Hash密码值的原始明文口令, 如图4 所示,将获取的MD5 加密后的 Hash值输入后,单击“ Search ”按钮,如果数据库中存

18、在则会在下面给出查询结果。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 图 4 在线破解 Hash密码值2.使用 GetHashes获取系统 Hash值技巧使用 GetHashes来获取系统的 Hash值一般是在获得了系统的部分或者全部控制权限,通常是在新漏洞利用工具出来后,例如Ms08067漏洞利用工具,当存在Ms0867漏洞时,通过使用Ms08067 漏洞利用工具获得存在漏洞计算机的一个反弹Shell,然后再将“GetH

19、ashes ”软件上传到系统中来执行“GetHashes $Local ”命令。对 GetHashes工具的使用,笔者将一些经验技巧进行总结。(一)在获得反弹Shell 的情况下,首先查看系统是否存在杀毒软件;如果存在,则尝试是否可以关闭,如果不能关闭,则放弃使用GetHashes来获取 Hash密码值,转向第二步。(二)查看系统是什么系统,是否开启3389远程终端,如果未开启3389终端,可否直接开启 3389终端。如果可以利用3389终端,则直接添加一个具有管理员权限的用户,然后使用用户登录到系统。(三)关闭杀毒软件,再次通过shell 或者其他控制软件的telnet来执行“ GetHas

20、hes $Local”命令来获取Hash密码值,然后删除新添加到用户。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - 安天 365团队(http:/)欢迎社会各界朋友提供安全事件线索,将免费为提供线索的朋友进行安全检测。附录 1 str_to_key()函数str_to_key()函数,的 C 语言描述程序:#include #include #include /* * 读取形如 AABBCCDDEEFF 这样的 16 进制数

21、字串,主调者自己进行形参的边界检查*/ static void readhexstring ( const unsigned char *src, unsigned char *dst, unsigned int len ) unsigned int i; unsigned char str3; str2 = 0; for ( i = 0; i /* * from The Samba Teams source/libsmb/smbdes.c */ static void str_to_key ( const unsigned char *str, unsigned char *key ) 名师

22、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - unsigned int i; key0 = str0 1; key1 = ( ( str0 & 0 x01 ) 2 ); key2 = ( ( str1 & 0 x03 ) 3 ); key3 = ( ( str2 & 0 x07 ) 4 ); key4 = ( ( str3 & 0 x0F ) 5 ); key5 = ( ( str4 & 0 x1F ) 6 ); key6 =

23、 ( ( str5 & 0 x3F ) 7 ); key7 = str6 & 0 x7F; for ( i = 0; i int main ( int argc, char * argv ) unsigned int i; unsigned char buf_021; unsigned char buf_124; if ( argc != 2 ) fprintf( stderr, Usage: %s n, argv0 ); return( EXIT_FAILURE ); memset( buf_0, 0, sizeof( buf_0 ) ); 名师资料总结 - - -精品资料欢迎下载 - -

24、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - memset( buf_1, 0, sizeof( buf_1 ) ); i = strlen( argv1 ) / 2; readhexstring( argv1, buf_0, i ); for ( i = 0; i 附录 2 相关免费资源(1)在线 Hash密码值破解: http:/ (2)在线生成 Hash密码值: http:/ (3)免费字典下载: http:/ (4)SAMInside http:/ (5)PasswordsPro http:/ (6)Extreme GPU Bruteforcer http:/ (7)Gethashes工具http:/ - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com