一、什麼是hashcat及其應用場景
Hashcat是一款密碼破解工具,支持依據哈希值進行破解,可以通過CPU、GPU等硬件資源加速破解,支持常見的加密算法,如MD5、SHA1、PBKDF2等。Hashcat可以用於滲透測試、恢復丟失密碼、評估密碼策略等。在滲透測試中,通過破解密碼獲取管理員權限或重要信息是常見攻擊手段之一。
二、提升密碼安全性的方法
1.密碼策略
一個好的密碼策略可以大大提高密碼的安全性。包含以下幾方面:
(1)密碼長度要足夠長,至少12個字符。
(2)不要使用常見的單詞或組合,如password、123456等。
(3)允許使用字母、數字、特殊符號等多種字符,並推薦使用大小寫混合。
(4)建議定期更換密碼,避免重複使用密碼。
2.加密算法
密碼加密算法的複雜性決定了密碼被破解的難度,選用合適的加密算法可以提高密碼的安全性。推薦使用較為複雜的哈希算法,如bcrypt、PBKDF2等。
3.密碼哈希
或者說密碼學哈希是指將用戶密碼以特定的算法生成一個哈希值,存儲在系統中,登錄時對輸入的密碼進行相同的哈希操作與存儲的哈希值比對,確認密碼的正確性。密碼哈希保證了用戶密碼不會明文存儲在系統中,一般採用單向哈希,無法從哈希值反推出原密碼。
推薦使用較為複雜的哈希算法,如bcrypt、PBKDF2等。哈希長度與存儲的哈希值的唯一性也會影響密碼的安全性。
三、使用hashcat破解密碼
1.常見加密算法的破解
hashcat -m 0 -a 0 md5hashes.txt rockyou.txt
其中md5hashes.txt為包含待破解密碼哈希值的文件,rockyou.txt為可能的密碼字典,常見的加密算法和對應的模式如下:
(1)MD5:0
(2)SHA1:100
(3)SHA256:1400
(4)bcrypt:3200
(5)PBKDF2:10000
2.使用GPU加速
hashcat -a 0 -m 0 -w 3 md5hashes.txt rockyou.txt
其中-w參數指定GPU的工作負載(工作負載越高,速度越快,但電力消耗也越大),值越高代表越大的負載。
3.使用規則
hashcat -a 0 -m 0 -r rules/dive.rule md5hashes.txt rockyou.txt
可以使用自帶的規則或自定義規則,規則可以對密碼字典進行修改、加強組合等操作,提高破解成功率。
4.使用掩碼
hashcat -a 3 -m 0 md5hashes.txt ?l?l?l?l?l?l?l?l
可以使用掩碼技術,指定某些位置必須是某些字符,某些位置必須是某些數字等等,提高破解成功率。
5.使用分布式計算
可以通過hashcat-utils中的distrib目錄下的一些工具實現分布式計算,如VCL(Virtual OpenCL)可以通過多個計算機的CPU或GPU合作來加速破解過程。
總結
通過密碼策略、加密算法、密碼哈希等手段可以提高密碼的安全性,使用hashcat等密碼破解工具可以對密碼進行滲透測試或檢查密碼策略的實際效果。但是要注意不要將其用於非法用途。
原創文章,作者:XVZDU,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/331786.html