图1 md5加密
作为实验数据,我们在生成一组生日的md5密码如下:
MD5(19801230,32) = 2540bb62336a8eb3ebc1e42ee44c8e3d
MD5(19801230,16) = 336a8eb3ebc1e42e
通过cmd5网站***md5密码
在cmd5网站的输入框中输入刚才加密后的md5 32值“
d5a8e0b115259023faa219f5b53ca522”,然后单击“md5加密或解密”按钮即可,如图2 所示,未能成功***。
图2 通过cmd5网站未能***md5密码
将第二个生日加密后的md5值“
2540bb62336a8eb3ebc1e42ee44c8e3d”,放入cmd5网站进行***,很快其结果就出来了,如图3 所示。
图3 ***简单的数字密码
一些在线网站提供的md5密码***只能***已经收录和一些简单的密码,对于稍微复杂一点的密码,都不容易被***;而且对一些稍微有点难度的md5密码值,如果数据库中有,在线网站是要求付费的,例如用一个复杂一点的md5值进行***,如图4 所示,提示找到,但是要求进行付费。
图4 要求付费才能查看md5密码值
(1)再次生成md5密码值
再在cmd5网站生成原密码为“jimmychu246”的md5密码值为:
MD5(jimmychu246,32) = 437f4fffb6b2e5aaca9fd1712b8ad282
MD5(jimmychu246,16) = b6b2e5aaca9fd171
直接运行md5crack4,运行界面如图5 示
图5 md5crack4程序主界面
(2)在md5crack4中验证md5值
将需要***的md5值(
437f4fffb6b2e5aaca9fd1712b8ad282)粘贴到“***单个密文(Single Cryptograph)”输入框中,如图6 所示,如果该md5值是正确的,则会在“***单个密文”输入框下方显示黑色的“有效(valid)”两个字,否则显示“valid”为灰色
图6 在md5crack4中验证md5值
(3)使用字典进行***
在“字符设置(Plaintext Setting)”中选择“字典(Dictionary)”,并在“N0.1”、“N0.2”以及“N0.3”中选择三个不同的字典,选择完毕后,单击“Start”按钮开始md5***,***结束后会给出相应的提示,如图7 所示,在本案例中使用字典***成功,在Result中显示***的密码为“jimmychu246”。
图7 使用字典进行***
(4)“使用字符集(Char Muster)”中的数字进行***
将上面生成的数字md5值“336a8eb3ebc1e42e”放入单一md5密码***输入框中,选中“Char Muster”后,依次可以选择“Number”、“lowercase”、“majuscule”、“special char”以及“custom”进行***,在本例中使用数字进行破击,因此 “最小长度(Min Length)”中设置为“1”,“最大长度(Max Length)”中设置为“8”,然后单击“开始”按钮,使用数字进行md5***,尝试***密码位数从1~9999999之间的所有数字组合,如图8 所示,其密码值***成功,***结果为“336a8eb3ebc1e42e —> [19801230]”。
图8 使用数字进行***
&说明
(1)在md5crack4中还可以定义数字、大小字母、特殊字符的组合来进行***。
(2)如果计算机配置比较好,可以设置更多线程。
(3)如果自定义进行***,建议先选择使用数字,然后依次是数字、大小字母、特殊字符的组合。***时先易后难,否则***时间太长。
(4)在md5crack4还可以“使用插件”进行***。
(5)在md5crack4中还可以设置软件显示的语言版本,一共有中文简体和英语两个版本,单击主界面中的设置(Option),即可进行设置,如图9 所示。
图9 设置md5crack4
将需要***的md5密码全部存放到一个txt文件中,每一个密码独立一行,然后在md5crack4中单击“***多个密文”,选择刚才编辑的md5密码文件,如图10 所示,选择一种***方式,在本案例中选择使用数字字典进行***,最后单击“开始”按钮开始***。
图10 ***多个md5密码值
在md5crack4右下方会显示***结果,单击“日志”可以查看md5值校验等日志信息,单击“结果”可以查看***的结果,如图11 所示,在结果中会将md5值与原始密码进行一一对应。
图11 ***结果
Md5加解密是网络攻防中必须掌握的知识,本文介绍了使用md5cracker以及通过网站来对md5值进行***,对md5***,可以先在一些md5***网站进行***,如果未能***,则可以在本地通过md5cracker进行***。
网站采用md5变异加密,即password=md5(jiami(str)),jiami(str)定义如下:
<%
function jiami(str)
mima=”*#$A.J>?;&%*&$C#%!@#JH+-)(HNKNDKJNKJDWNY*Y@H&A^BHJHJXNXMAX5454ADDEFW45485121WDQWD21DD5DWQ15QD1″
for i=1 to len(str)
newstr=newstr&Mid(str,i,1)
if i>len(mima) then
newstr=newstr&Mid(mima,i-len(mima),1)
else
newstr=newstr&Mid(mima,i,1)
end if
next
jiami=newstr
end function
%>
原始密码加密原理为:假如初始密码为123456,通过jiami函数首先对初始密码进行长度判断,获知长度为6,依次取一位,然后插入自定义的加密字符串。经过加密后密码变为为:1#2$3A4.5J6>,然后再对字符串“1#2$3A4.5J6>”进行md5加密。普通的6位密码通过jiami算法重新加密后,将变为12位密码,通常的md5暴力***基本是无解。
了解该加密方式后,可以针对该加密方式撰写一段代码,将密码字典依次间隔插入“*#$A.J>?;&%*&$C#%!@#JH+-)(HNKNDKJNKJDWNY*Y@H&A^
BHJHJXNXMAX5454ADDEFW45485121WDQWD21DD5DWQ15QD1”字符串,然后进行密码比对,在加密表中找到相同的md5值即为***。
除以上方法外,还有二个方法可用于该密码***。即在该服务器网络内部或者相邻网络安装cain等工具,嗅探http包,通过捕获原始包有可能获得原始密码。第二个方法即在该网站插入记录用户登录密码、用户名的代码,将每次用户登录的用户名和密码添加到指定的文件,通过查看文件即可或者登录密码。