如何使用 Hashcat 工具破解密碼?
已發表: 2021-12-14在道德黑客和滲透測試中,密碼破解對於訪問系統或服務器至關重要。
在系統和數據庫中,密碼很少以純文本形式保存。
密碼在存儲到數據庫之前總是經過哈希處理,並且在驗證過程中會比較哈希值。
根據所採用的加密方式,不同的系統以不同的方式存儲密碼哈希。 如果你有哈希,你可以輕鬆破解任何密碼。
在本文中,我們將探討如何使用方便且出色的 Hashcat 命令行工具來破解密碼哈希。
所以讓我們開始吧。
但在那之前……
什麼是哈希函數?
散列是使用稱為散列函數的某種數學函數將普通輸入文本轉換為固定大小的文本字符串的過程。 任何文本,無論長度如何,都可以使用算法轉換為整數和字母的隨機組合。
- 輸入是指將被散列的消息。
- 散列函數是類似於 MD5 和 SHA-256 的加密算法,將字符串轉換為散列值。
- 最後,哈希值就是結果。
什麼是哈希貓?
Hashcat 是最快的密碼恢復工具。 它旨在在短時間內破解高度複雜的密碼。 而且這個工具還能夠進行單詞列表和蠻力攻擊。
Hashcat 有兩種變體。 基於 CPU 和 GPU(圖形處理單元)。 基於 GPU 的工具可以在比 CPU 更短的時間內破解哈希。 您可以在其官方網站上查看 GPU 驅動程序要求。
特徵
- 免費和開源
- 可以實現超過 200 種散列類型變體。
- 支持 Linux、Windows 和 macOS 等多操作系統。
- 可以使用 CPU 和 GPU 支持等多平台。
- 可以同時破解多個哈希。
- 支持Hex-salt和hex-charset 文件,以及自動性能調整。
- 可以使用內置的基準測試系統。
- 可以使用覆蓋來支持分佈式破解網絡。
您還可以從他們的網站上看到其他功能。
Hashcat的安裝
首先,確保您的 Linux 系統使用最新的程序和工具是最新的。
為此,打開一個終端並輸入:
$ sudo apt update && sudo apt upgrade
Hashcat 通常預裝在 Kali Linux 中。 您可以在密碼破解部分下找到該工具。 但是,如果您需要在任何 Linux 發行版中手動安裝它,請在終端中鍵入以下命令。
$ sudo apt-get install hashcat
工具使用
要開始使用 Hashcat,我們需要一些密碼哈希。 如果您沒有要破解的哈希,我們將首先創建一些哈希。
要使用命令行創建哈希,只需遵循以下格式。
echo -n "input" | algorithm | tr -d "-">>outputfiename
例如,您可以看到我使用下面的 md5 算法將一些單詞轉換為哈希值。
┌──(rootkali)-[/home/writer/Desktop] └─# echo -n "geekflare" | md5sum | tr -d "-">>crackhash.txt echo -n "password123" | md5sum | tr -d "-">>crackhash.txt echo -n "Webtechnology" | md5sum | tr -d "-">>crackhash.txt echo -n "microsoftteams" | md5sum | tr -d "-">>crackhash.txt echo -n "recyclebin" | md5sum | tr -d "-">>crackhash.txt
並且輸出將保存在crackhash.txt 文件中。

現在我們將檢查保存在給定文件中的哈希值。
┌──(rootkali)-[/home/writer/Desktop] └─# cat crackhash.txt 066d45208667198296e0688629e28b14 482c811da5d5b4bcd497ffeaa98491e3 72a2bc267579aae943326d17e14a8048 2192d208d304b75bcd00b29bc8de5024 caae8dd682acb088ed63e2d492fe1e13
你可以看到,現在我們有一些哈希要破解。 這是使用您選擇的算法創建散列的過程。
下一步是在你的 Linux 機器上啟動一個 Hashcat 工具。 只需使用以下命令即可使用 Hashcat。
$ hashcat --help
它將顯示運行該工具所需的所有選項。 在終端上,您可以找到所有的攻擊和哈希模式。
命令的一般形式是
$ hashcat -a num -m num hashfile wordlistfile
這裡的“num”表示要使用的特定攻擊和哈希模式。 如果滾動終端,您可以找到每種攻擊和哈希模式的確切數字,例如 md4 - 數字是 0,而 sha256 算法 - 數字是 1740。
我要使用的詞表是rockyou wordlist。 您可以在路徑 /usr/share/wordlists 中輕鬆找到該詞表。
您甚至可以使用 locate 命令來查找該詞表路徑。
┌──(rootkali)-[/home/writer] └─# locate rockyou.txt
最後,要使用 wordlist 文件破解哈希,請使用以下命令。
$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt
運行此命令後,您可能會遇到運行時錯誤(令牌長度異常錯誤),可以輕鬆解決。
要解決此問題,請將每個哈希分別保存在不同的文件中。 如果您的 CPU 或 GPU 速度較低,則會出現此錯誤。 如果您的計算機具有高速處理器,您可以輕鬆地同時破解所有哈希作為單個文件本身。
所以在修復錯誤和一切之後,結果將是這樣的。
┌──(rootkali)-[/home/writer/Desktop] └─# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt hashcat (v6.1.1) starting... OpenCL API (OpenCL 1.2 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project] ============================================================================================================================= * Device #1: pthread-Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz, 2403/2467 MB (1024 MB allocatable), 4MCU Minimum password length supported by kernel: 0 Maximum password length supported by kernel: 256 Hashes: 1 digests; 1 unique digests, 1 unique salts Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates Rules: 1 Dictionary cache built: * Filename..: rockyou.txt * Passwords.: 14344405 * Bytes.....: 139921671 * Keyspace..: 14344398 * Runtime...: 1 sec 8276b0e763d7c9044d255e025fe0c212: [email protected] Session..........: hashcat Status...........: Cracked Hash.Name........: MD5 Hash.Target......: 8276b0e763d7c9044d255e025fe0c212 Time.Started.....: Sun Dec 12 08:06:15 2021 (0 secs) Time.Estimated...: Sun Dec 12 08:06:15 2021 (0 secs) Guess.Base.......: File (rockyou.txt) Guess.Queue......: 1/1 (100.00%) Speed.#1.........: 1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8 Recovered........: 1/1 (100.00%) Digests Progress.........: 4096/14344398 (0.03%) Rejected.........: 0/4096 (0.00%) Restore.Point....: 0/14344398 (0.00%) Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1 Candidates.#1....: 123456 -> pampam Started: Sun Dec 12 08:06:13 2021 Stopped: Sun Dec 12 08:06:16 2021
在上面的結果中,在字典緩存詳細信息之後,您可以注意到,哈希被破解,密碼被洩露。
結論
我希望您對使用 Hashcat 破解密碼有了更好的了解。
您可能也有興趣了解用於滲透測試的各種蠻力工具和一些最好的滲透測試工具。