在信息安全領域,密碼破解是不可或缺的一環。而 Hashcat,作為當前最強大的密碼恢復工具之一,因其高效的性能與靈活的配置廣受好評。本文將介紹 Hashcat 的基礎用法,幫助新手快速上手,同時遵守合法使用的基本原則。
一、什么是 Hashcat?
Hashcat 是一款開源的密碼恢復工具,支持 CPU 和 GPU 加速。它可以對多種散列算法進行“密碼猜測”,廣泛用于密碼安全性測試與CTF競賽中。
?? 合法使用聲明:本教程僅供合法授權的安全測試學習和研究用途。禁止將本文所述內容用于任何非法活動!
二、安裝 Hashcat
Hashcat 支持 Windows、Linux 和 macOS。以 Ubuntu 為例:
sudo apt update
sudo apt install hashcat
或者從官網下載最新版本:hashcat - advanced password recovery
Windows 用戶可直接解壓 zip 包后使用命令行運行 hashcat.exe
。
三、常用 Hash 類型
在開始破解前,你需要知道 Hash 類型。以下是一些常見類型及其對應編號:
算法 | 示例 | Hashcat模式 |
---|---|---|
MD5 | 5f4dcc3b5aa765d61d8327deb882cf99 | 0 |
SHA1 | a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 | 100 |
SHA256 | 5e884898da28047151d0e56f8dc6292773603d0d | 1400 |
bcrypt | $2y$10$... | 3200 |
你也可以使用工具如 hash-identifier 來判斷 Hash 類型。
四、基本使用示例
1. 字典攻擊(最常用)
準備一個包含常用密碼的字典文件 rockyou.txt
,執行命令:
hashcat -m 0 -a 0 hashes.txt rockyou.txt
含義解釋:
-
-m 0
:指定 Hash 類型為 MD5 -
-a 0
:攻擊模式為字典攻擊 -
hashes.txt
:存放目標 hash 的文件(每行一個) -
rockyou.txt
:密碼字典
2. 混合掩碼攻擊
適用于知道部分密碼結構的情況:
hashcat -m 0 -a 3 hashes.txt ?d?d?d?d
這將嘗試 4 位數字(0000-9999)的所有組合。
3. 使用規則文件(增強字典)
規則文件可以對字典中的密碼進行變形,例如添加數字、大小寫轉換:
hashcat -m 0 -a 0 hashes.txt rockyou.txt -r rules/best64.rule
Hashcat 自帶多個規則文件,在 rules/
文件夾中。
4. 恢復破解進度
中斷破解任務后可以使用以下命令繼續:
hashcat --restore
五、查看支持的 Hash 類型
hashcat --help
或者使用:
hashcat -h | grep -A 20 'Hash modes'
六、性能優化建議
-
使用支持 OpenCL/CUDA 的顯卡,如 NVIDIA GPU,將大幅提升速度
-
合理控制任務規模,避免長時間全速運行導致過熱
-
使用較小字典先快速嘗試常見密碼,后再擴大攻擊范圍
七、安全與合法性提醒
Hashcat 是強大的雙刃劍。請務必遵守以下原則:
-
只用于個人學習或授權測試
-
不攻擊他人賬戶、服務、數據庫等
-
不在互聯網上傳播真實用戶 Hash 或破解后的密碼
在CTF比賽中,Hashcat是神器,但在現實世界中,請守住道德與法律的底線。
八、結語
Hashcat 功能強大,但也需要合理配置與策略。新手可以先從字典攻擊練習起,再逐漸深入規則、掩碼、組合攻擊等高級方式。
如果你對密碼學、CTF、安全測試感興趣,不妨多動手實驗。未來的你,會感謝現在開始學習的自己。
參考資料:
-
Hashcat 官方文檔:start [hashcat wiki]
-
常用密碼字典推薦:rockyou.txt(可在 Kali Linux 上獲取)
如有疑問或想了解更多用法,歡迎評論交流!