- Web滲透技術及實戰案例解析
- 陳小兵 范淵 孫立偉編著
- 2629字
- 2018-12-26 19:37:02
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包,通過捕獲原始包有可能獲得原始密碼。第二個方法即在該網站插入記錄用戶登錄密碼、用戶名的代碼,將每次用戶登錄的用戶名和密碼添加到指定的文件,通過查看文件即可獲得或者登錄密碼。
- 會聲會影X5視頻剪輯高手速成
- JavaScript實例自學手冊
- 計算機應用基礎·基礎模塊
- 蕩胸生層云:C語言開發修行實錄
- 數據中心建設與管理指南
- 讓每張照片都成為佳作的Photoshop后期技法
- Docker High Performance(Second Edition)
- 信息物理系統(CPS)測試與評價技術
- 計算機網絡原理與技術
- 網中之我:何明升網絡社會論稿
- 電子設備及系統人機工程設計(第2版)
- R Data Analysis Projects
- Dreamweaver+Photoshop+Flash+Fireworks網站建設與網頁設計完全實用
- 貫通開源Web圖形與報表技術全集
- DynamoDB Applied Design Patterns