開源資安工具 – 在我這裡就不是密碼 – John the Ripper

John the Ripper 是最知名、最受歡迎和用途最廣的哈希破解工具之一。它結合了快速的破解速度和廣泛的兼容散列類型。

什麼是哈希?

散列是一種獲取任意長度的數據並以另一種固定長度的形式表示它的方法。這掩蓋了數據的原始值。這是通過散列算法運行原始數據來完成的。有許多流行的哈希算法,例如 MD4、MD5、SHA1 和 NTLM。讓我們試著用一個例子來展示這一點:

如果我們採用“polo”,一個 4 個字符的字符串,並通過 MD5 散列算法運行它,我們最終會得到輸出: b53759f3ce692de7aff1b5779d3964da 一個標準的 32 個字符的 MD5 散列。

同樣,如果我們採用“polomints”,一個 9 個字符的字符串,並通過相同的 MD5 散列算法運行它,我們最終會得到輸出: 584b6e4f4586e136bc280f27f9c64f3b 另一個標準的 32 字符 MD5 散列。

是什麼讓哈希安全?

散列算法的設計使得它們只能以一種方式運行。這意味著不能僅使用給定的輸出來反轉計算出的散列。這與稱為P 與 NP 關係的基本數學問題有關

雖然這是一個非常有趣的數學概念,它被證明是計算和密碼學的基礎,但我絕對沒有資格在這裡詳細解釋它;但抽像地說,它意味著哈希值的算法將是“NP”,因此可以合理地計算。然而,非散列算法將是“P”並且難以解決——這意味著它不能使用標準計算機在合理的時間內計算出來。

約翰進來的地方…

儘管算法本身並不可行可逆。這並不意味著破解哈希是不可能的。例如,如果您有密碼的散列版本 – 並且您知道散列算法 – 您可以使用該散列算法來散列大量單詞,稱為字典。然後,您可以將這些哈希值與您嘗試破解的哈希值進行比較,以查看它們中是否有任何匹配。如果他們這樣做了,您現在知道與該哈希對應的單詞 – 您已經破解了它!

這個過程被稱為字典攻擊,John the Ripper,或者通常縮寫為John,是一種允許您對大量不同哈希類型進行快速暴力攻擊的工具。

基本語法

John the Ripper 命令的基本語法如下。我們將介紹使用時使用的特定選項和修飾符。

john [options] [path to file]

john – 調用開膛手約翰程序

[path to file] – 包含您試圖破解的哈希的文件,如果它在同一目錄中,您將不需要命名路徑,只需命名文件。

自動破解

John 具有內置功能來檢測它所提供的哈希類型,並選擇適當的規則和格式來為您破解它,這並不總是最好的主意,因為它可能不可靠 – 但如果您無法識別您正在使用哪種哈希類型並且只想嘗試破解它,它可能是一個不錯的選擇!為此,我們使用以下語法:

john --wordlist=[path to wordlist] [path to file]

--wordlist= – 指定使用 wordlist 模式,從您在以下路徑中提供的文件中讀取…

[path to wordlist] – 您正在使用的詞表的路徑,如上一個任務中所述。

用法:

john –wordlist=/usr/share/wordlists/rockyou.txt hash_to_crack.txt

Back To Top
error: 內容被保護 !!