今天心情好沮喪QQ,因為房東機掰,
害我沒有熱水澡可以洗,網路又異常的慢>”<
今天介紹的市一個密碼破解工具John the Ripper,或簡稱John,
是一款在Kali Linux中也有內建安裝好的開源軟體。
主要的工具如同他的全名「John the Ripper password cracker」一樣,
就是一個專門用來破解密碼的工具,
那我標題提到的HASH是甚麼呢?
也許有些人還不知道,這邊就來提一下幾個東西,
分別是編碼(Encode)、雜湊(Hash)、加密(Encryption)(有分對稱式跟非對稱式)。
首先所謂的編碼,主要是因為資料傳送或是不同應用程式需要不同編碼方式等等,
為了讓資料、字元彼此溝通而有了不同的編碼,編碼是可以雙向的,非常容易且快速。
而加密就是經過一個複雜的演算法跟一把鑰匙,加密的重點就在於鑰匙,
這邊不談對稱式與非對稱式的差異,但重點就是都有鑰匙,
所以一個明文被加密過後的就會變成密文,
密文是不具可讀性的,就是你看不懂的東西,
然後要解密回明文的話你就需要當初加密的那把鑰匙。
那第三個就是今天提到的HASH雜湊,
雜湊也是把原本的內容經過一串複雜的演算法變成一個值,
那雜湊的重點在於它是不可逆的算法,是單向的,
也就是說我今天HASH過後的值,
我是沒有鑰匙可以解開他,也無法用原本演算法算回去。
那這個雜湊呢就經常被用在密碼的驗證,
假設我今天設定密碼是psd,經過hash某種演算法後結果值是a1b2c3,
電腦會把a1b2c3存起來當成下次登入的驗證,
那這一串a1b2c3理論上是無法推算出我的密碼psd,
所以每次登入時只有我輸入psd之後,
又會產生出a1b2c3這個值,跟我電腦裡存的值去驗證兩者一樣就成功登入。
當然,有注意到我剛剛說的理論上了XD
實際上今天講的這個工具John,
他就是去破解HASH過後的內容來算出你的原本明文,
不過隨著明文的長度不同,計算時間可能會差很多。
那HASH也有分成很多種演算法,
有的其實已經被認定成不安全,很快就可以被反解出來,
除此之外還有一些破解或安全性相關的Rainbow table或是salt,
這邊也不多提,有興趣的人可以去找找看喔^^
本文為作者參與第 11 屆 iT 邦幫忙鐵人賽的文章
原文連結 https://ithelp.ithome.com.tw/users/20114110/ironman/2536