官术网_书友最值得收藏!

1.10 MD5加密與解密

MD5密文破解(解密)可以說是網絡攻擊中的一個必不可少的環節,是黑客工具中的一個重要“輔助工具”。MD5解密主要用于網絡攻擊,在對網站等進行入侵過程,有可能獲得管理員或者其他用戶的賬號和密碼值(MD5加密后的值)。獲得的密碼值有兩種情況,一種是明文,另外一種就是對明文進行了加密。如果密碼值是加密的,這個時候就需要對密碼值進行判斷,如果是采取MD5加密,則可以通過MD5Crack3等軟件進行破解。王小云教授的MD5密碼碰撞破解算法沒有公布,因此目前MD5解密方式主要采取暴力破解,即軟件通過算法生成字典,然后使用MD5函數加密該字典中的值形成密文,接著跟需要破解的密文進行比較,如果相同則認為破解成功。目前網上有很多網站提供MD5加密或者加密值查詢,將加密后的MD5值,輸入到網站中,如果網站數據庫中存在該MD5,則該值對應的MD5加密前的值就為密碼。本案例介紹如何使用MD5Crack3以及一些在線的網站來進行破解;MD5Crack3是阿呆寫的一款MD5密碼破解軟件,其網站地址:http://www.adintr.com/subject/mdcrk/index.htm,目前已經發布了MD5Crack4.0版本,也可以到我的blog(http://simeon.blog.51cto.com/18680/144558)去下載。

1.10.1 有關MD5加解密知識

MD5密文破解(解密)可以說是網絡攻擊中的一個必不可少的環節,是黑客工具中的一個重要“輔助工具”。MD5解密主要用于網絡攻擊,在對網站進行入侵時,有可能獲得管理員或者其他用戶的賬號和密碼值(MD5加密后的值)。獲得的密碼值有兩種情況,一種是明文,另外一種就是對明文進行了加密。如果密碼值是加密的,這個時候就需要對密碼值進行判斷,如果采取MD5加密,則可以通過MD5Crack4等軟件進行破解。王小云教授的MD5密碼碰撞破解算法沒有公布,因此目前MD5解密方式主要采取暴力破解,即軟件通過算法生成字典,然后使用MD5函數加密該字典中的值形成密文,接著跟需要破解的密文進行比較,如果相同則認為破解成功。目前網上有很多網站提供MD5加密或者加密值查詢,將加密后的MD5值,輸入到網站中,如果網站數據庫中存在該MD5,則該值對應的MD5加密前的值就為密碼。

1.10.2 通過cmd5網站生成MD5密碼

在瀏覽器中輸入地址“http://www.cmd5.com/”,在輸入框中輸入想要加密的原始密碼,然后單擊“MD5加密或解密”按鈕即可,如圖1-71所示,原始密碼為“goodman88”,加密后的密碼值為:

MD5(goodman88,32) = d5a8e0b115259023faa219f5b53ca522
MD5(goodman88,16) = 15259023faa219f5

圖1-71 MD5加密

作為實驗數據,我們再生成一組生日的MD5密碼如下:

MD5(19801230,32) = 2540bb62336a8eb3ebc1e42ee44c8e3d
MD5(19801230,16) = 336a8eb3ebc1e42e

1.10.3 通過cmd5網站破解MD5密碼

在cmd5網站的輸入框中輸入剛才加密后的MD5 32值“d5a8e0b115259023faa219 f5b53ca522”,然后單擊“md5加密或解密”按鈕即可,如圖1-72所示,未能成功破解。

圖1-72 通過cmd5網站未能破解MD5密碼

將第二個生日加密后的MD5值“2540bb62336a8eb3ebc1e42ee44c8e3d”,放入cmd5網站進行破解,很快其結果就出來了,如圖1-73所示。

圖1-73 破解簡單的數字密碼

1.10.4 在線MD5破解網站收費破解高難度的MD5密碼值

一些在線網站提供的MD5密碼破解只能破解已經收錄和一些簡單的密碼,對于稍微復雜一點的密碼,都不容易被破解;而且對一些稍微有點難度的MD5密碼值,如果數據庫中有,在線網站是要求付費的,例如用一個復雜一點的MD5值進行破解,如圖1-74所示,提示找到,但是要求進行付費。

圖1-74 要求付費才能查看MD5密碼值

1.10.5 使用字典暴力破解MD5密碼值

(1)再次生成MD5密碼值

再在cmd5網站生成原密碼為“jimmychu246”的MD5密碼值為:

MD5(jimmychu246,32) = 437f4fffb6b2e5aaca9fd1712b8ad282
MD5(jimmychu246,16) = b6b2e5aaca9fd171

直接運行MD5Crack4,運行界面如圖1-75所示。

圖1-75 MD5Crack4程序主界面

(2)在MD5Crack4中驗證MD5值

將需要破解的MD5值(437f4fffb6b2e5aaca9fd1712b8ad282)粘貼到“破解單個密文(Single Cryptograph)”輸入框中,如圖1-76所示,如果該MD5值是正確的,則會在“破解單個密文”輸入框下方顯示黑色的“有效(valid)”兩個字,否則顯示“valid”為灰色。

圖1-76 在MD5Crack4中驗證MD5值

(3)使用字典進行破解

在“字符設置(Plaintext Setting)”中選擇“字典(Dictionary)”,并在“N0.1”、“N0.2”以及“N0.3”中選擇三個不同的字典,選擇完畢后,單擊“Start”按鈕開始MD5破解,破解結束后會給出相應的提示,如圖1-77所示,在本案例中使用字典破解成功,在Result中顯示破解的密碼為“jimmychu246”。

圖1-77 使用字典進行破解

(4)“使用字符集(Char Muster)”中的數字進行破解

將上面生成的數字MD5值“336a8eb3ebc1e42e”放入單一MD5密碼破解輸入框中,選中“Char Muster”后,依次可以選擇“Number”、“lowercase”、“majuscule”、“special char”以及“custom”進行破解,在本例中使用數字進行破解,因此“最小長度(Min Length)”中設置為“1”,“最大長度(Max Length)”中設置為“8”,然后單擊“開始”按鈕,使用數字進行MD5破解,嘗試破解密碼位數從1~9999999之間的所有數字組合,如圖1-78所示,其密碼值破解成功,破解結果為“336a8eb3ebc1e42e ---> [19801230]”。

圖1-78 使用數字進行破解

說明

(1)在MD5Crack4中還可以定義數字、大小字母、特殊字符的組合來進行破解。

(2)如果計算機配置比較好,可以設置更多線程。

(3)如果自定義進行破解,建議先選擇使用數字,然后依次是數字、大小字母、特殊字符的組合。破解時先易后難,否則破解時間太長。

(4)在MD5Crack4還可以“使用插件”進行破解。

(5)在MD5Crack4中還可以設置軟件顯示的語言版本,一共有中文簡體和英語兩個版本,單擊主界面中的設置(Option),即可進行設置,如圖1-79所示。

圖1-79 設置md5crack4

1.10.6 一次破解多個密碼

將需要破解的MD5密碼全部存放到一個txt文件中,每一個密碼獨立一行,然后在MD5Crack4中單擊“破解多個密文”,選擇剛才編輯的MD5密碼文件,如圖1-80所示,選擇一種破解方式,在本案例中選擇使用數字字典進行破解,最后單擊“開始”按鈕開始破解。

圖1-80 破解多個MD5密碼值

在MD5Crack4右下方會顯示破解結果,單擊“日志”可以查看MD5值校驗等日志信息,單擊“結果”可以查看破解的結果,如圖1-81所示,在結果中會將MD5值與原始密碼進行一一對應。

圖1-81 破解結果

MD5加解密是網絡攻防中必須掌握的知識,本文介紹了使用MD5Cracker以及通過網站來對MD5值進行破解,對MD5破解,可以先在一些MD5破解網站進行破解,如果未能破解,則可以在本地通過MD5Cracker進行破解。

1.10.7 MD5變異加密方法破解

網站采用MD5變異加密,即password=md5(jiami(str)),jiami(str)定義如下:

<%
function jiami(str)
mima="*#$A.J>?;&%*&$C#%!@#JH+-\)(HNKNDKJNKJDWNY*Y@H&A^BHJHJXNXMAX5454ADD
EFW45485121WDQWD21DD5DWQ15QD1"
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^BHJHJXNXMAX5454 ADDEFW45485121WDQWD21DD5DWQ15QD1”字符串,然后進行密碼比對,在加密表中找到相同的MD5值即為破解。

除以上方法外,還有兩個方法可用于該密碼破解。第一個方法即在該服務器網絡內部或者相鄰網絡安裝cain等工具,嗅探http包,通過捕獲原始包有可能獲得原始密碼。第二個方法即在該網站插入記錄用戶登錄密碼、用戶名的代碼,將每次用戶登錄的用戶名和密碼添加到指定的文件,通過查看文件即可獲得或者登錄密碼。

主站蜘蛛池模板: 通渭县| 抚宁县| 屏东市| 霞浦县| 镇江市| 嘉义县| 苗栗市| 洪江市| 克什克腾旗| 施甸县| 永吉县| 麻阳| 普兰店市| 彝良县| 库尔勒市| 崇州市| 嘉峪关市| 会东县| 桑植县| 阳信县| 凌源市| 集安市| 长沙市| 万荣县| 保康县| 寿阳县| 浮梁县| 吉安市| 罗江县| 新河县| 常宁市| 如东县| 麻阳| 突泉县| 栾城县| 霸州市| 萍乡市| 临颍县| 西乌珠穆沁旗| 滨州市| 剑阁县|