Md5(base64)加密与解密实战

Md5 base64 )加密与解密实战
陈小兵 [A.S.T]
本文已被黑客防线录用,转载请注明出处!
在对某一个 CMS 系统进行安全检测时,通过注入点获取其管理员表中的管理员和密码数据,但由于不知道该密码数据采用何种加密方式,虽然知道 CMS 系统管理后台,但苦于没有破解管理员的密码,因此无法登录系统。通过研究终于掌握了 Md5 base64 )加密原理和解密原理,因此才有本文。
Base64 是网络上最常见的用于传输 8Bit 字节代码的编码方式之一,在发送电子邮件时,服务器认证的用户名和密码需要用 Base64 编码,附件也需要用 Base64 编码。 Base64 要求把每三个 8Bit 的字节转换为四个 6Bit 的字节( 3*8 = 4*6 = 24 ),然后把 6Bit 再添两位高位 0 ,组成四个 8Bit 的字节,也就是说,转换后的字符串理论上将比原来的长 1/3
md5 的全称是 message-digest algorithm 5 (信息 - 摘要算法),在 90 年代初由 mit laboratory for computer science rsa data security inc ronald l. rivest 开发出来,经 md2 md3 md4 发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。

(一)md5dbase64)密码

md5 dbase64 )加密后的字符串长度为 24 位,最末尾有两个“=”好,在字符串中有数字字母大小写混在一起,如图 1 所示,三个用户以及其加密后的密码字符串。 md5 dbase64 )这种加密方式在 asp.net CMS 环境中会经常碰到。
1 md5 dbase64 )密码

(二)从Google寻找破解之路

直接在 Google 上面对“ md5 dbase64 )加解密”进行搜索,一共约六条记录,如图 2 所示,而且从搜索结果来看,除了求助外,根本就没有 md5 dbase64 )的加密和解密方法,从网络来解决问题看来是不行了。
2 Google 搜索结果

(三)自己动手丰衣足食――寻求解密方法

1.生成Hash

以前曾经写过一篇 Windows 下面有关 hash 破解的文章,在 InsidePro 网站提供了在线 Hash 破解( http://hash.insidepro.com/ )和在线生成各种 Hash 值,其在线生成 Hash 值网站地址为: http://www.insidepro.com/hashes.php?lang=eng ,打开后如图 3 所示。在 password 中输入“ author ”,然后单击“ Generate ”按钮直接生成各种 Hash 值。
3 生成各种 Hash

2.比对Hash值和加密密码值

   http://www.insidepro.com/hashes.php?lang=eng 生成 Hash 值后的页面中拖动滚动条,一个个的进行对照,通过比对在 Base64 加密中有一个明显的特征,即加密字符串最后面一般都有等号。从中截取部分 author 的加密值如下:
Haval128(Base64):1xehfrgfAcMYLCdLcYiDlg==
Haval160(Base64):JPfaQRoHY0v/EJnXN9iKd9MfdbE=
MD2(Base64):d+K74ta9Vhbr4yuKzfCAZQ==
MD4(Base64):QPRz/CVV3O9EVOA/iCaOwA==
MD5(Base64):Ar2S+qOKqmzA6nXlmTeh7w==
MD5(Base64):Ar2S+qOKqmzA6nXlmTeh7w== ”跟图1 中的加密值一致,如图4 所示,验证了该加密方式就是MD5(Base64) 加密。
4 找到加密方式

3.寻找破解方式

1)添加Hash

http://www.insidepro.com/eng/passwordspro.shtml 页面上我了解到 passwordspro 可以破解 MD5(Base64) 加密方式,但无法从该网站直接下载 passwordspro ,老外都是收钱的,呵呵,到国内的一些下载网站下载 passwordsprov 2.5.3 .0 ,然后运行该程序,右键单击后选择 Add ,如图 5 所示,添加一个 Hash 进行破解,在 Hash 值中输入“ MD5(Base64):Ar2S+qOKqmzA6nXlmTeh7w== ”,完毕后单击“ Add ”按钮完成 Hash 值的添加。
5 添加破解 Hash

2)执行暴力破解

单击三角形按钮,运行破解,如图 6 所示,选择暴力破解,在 passwordsprov 2.5.3 .0 中还有其它的破解方式,如图 7 所示,还有“ Preliminary Attack ”,“ Mask Attack ”,“ Simple Dictionary Attack ”,“ Combined Dictionary Attack ”,“ Hybrid Dictionary Attack ”和“ Rainbow Attack ”六种破解方式。
 
6 暴力破解 md5 base64 )密码
7 多种破解方式

3)破解成功

    暴力破解方式太耗费时间,后面选择了“ Simple Dictionary Attack ”(简单字典攻击),由于密码在字典中,所以很快就破解出来了,如图 8 所示,值得一提的是在 InsidePro 官方网站提供了 74 个字典文件下载( http://www.insidepro.com/eng/download.shtml ),喜欢的朋友可以自己去下载。在实际过程中这些字典仍然不够,有些密码设置往往超乎想象的复杂,除非有完整的彩虹表,否则暴力和字典破解的时间将非常漫长。
8 使用字典破解成功

(四)探寻md5base64)的其它破解方式

1.base64解码

网上有很多工具可以对 base64 编码进行解码,我先后找了两款,一款是可以在 linux windows 下运行的 base64 工具,其下载地址为 http://www.fourmilab.ch/webtools/base64/ ,下载完毕后可以直接运行,其运行命令为“ base64 �Cdecode base64.b64 base64.tmp ”,参数“ ―decode ”或者“ -d ”表示解码,“ --encode ”或者“ -e ”表示 base64 编码。“ base64.b 64 base64 编码后的文件,“ base64.tmp ”是解码后生成的文件。在该工具目录下还有一个 bat 文件,用来批处理解码,如图 10 所示。
9 base64 解码工具
10 执行解码批处理文件

2.编辑解码文件

   md5 base64 )加密后的密码值“ Ar2S+qOKqmzA6nXlmTeh7w== ”复制到 base64.b64 文件中,如图 11 所示。
11 编辑解码文件

3.查看解码后的文件

    使用 UltraEdit-32 编辑器打开“ base64.tmp ”文件,如图 12 所示,在“ base64.tmp ”文件中显示为乱码。关于这点我也很是奇怪,后面通过其它一些 base64 解码工具进行解码,其正常显示结果仍然为乱码。
12 查看解码后的文件

4.获取base64解码后的md5

    UltraEdit-32 编辑器中,直接以二进制方式打开解码后的文件 base64.tmp ,如图 13 所示,将其中的二进制编码进行整理,其结果为“ 02BD92FAA38AAA6CC0EA75E 59937A 1EF ”一共 32 位,这个跟 md5 加密后的值有点像哦!将这个值复制到 www.cmd5.com 网站进行解密,如图 14 所示,结果显示为“ author ”。
13 获取二进制的值
14 md5 解密

5.md5base64)加密原理

   后面通过在线生成 Hash 值( http://www.insidepro.com/hashes.php?lang=eng )然后按照上面的步骤重新进行测试,结果跟上面的测试吻合。因此我们可以推测出 md5 base64 )加密解密方法。

1md5base64)加密原理

a )首先对字符串进行 md5 加密 md5 string
(b) 然后对 md5 加密后的字符串进行 base64 编码

1md5base64)解密原理

a )首先对 md5 base64 )进行 base64 解码
b )对 base64 解码后的值通过二进制方式进行读取,其结果应该为 32 位字符串
c )对获取的 32 位字符串进行 md5 解密。

(五)总结

   在信息安全的领域,只有想不到的,没有做不到的,只要努力、坚持和不断尝试,终究会有所收获。通过对 md5 base64 )加密和解密原理的研究,最终成功获取了该 CMS 系统的 Webshell ,如图 15 所示,还是孙总说的对,网络攻防的最终就是技术的对抗!欢迎来www.antian365.com(AST技术论坛进行技术探讨),我的技术交流QQ号码:525760451
15 成功获取该系统的 Webshell

本文出自 “simeon技术专栏” 博客,转载请与作者联系!

你可能感兴趣的:(职场,解密,实战,休闲,Md5(base64)加密)