破解秘籍——hashcat使用宝典
Hashcat 是一款开源的密码恢复工具,主要用于通过暴力破解、字典攻击等方式恢复丢失或忘记的密码。它支持多种哈希算法(如 MD5、SHA 系列、NTLM 等),兼容 CPU、GPU 等硬件加速,广泛应用于网络安全、渗透测试和密码审计领域。其特点包括高效的多线程处理、灵活的攻击模式配置以及对复杂密码策略的支持,是信息安全从业者常用的工具之一。
官网: https://hashcat.net/hashcat/
将资源包rz上传到kali,解压(大白鼠直接上传到root家目录):
┌──(root㉿kali)-[~]
└─# 7z x hashcat-6.2.4.7z
添加执行权限:
┌──(root㉿kali)-[~]
└─# chmod +x hashcat-6.2.4 && chmod +x hashcat-6.2.4/*
进入到hashcat目录即可使用:
┌──(root㉿kali)-[~]
└─# cd hashcat-6.2.4 ┌──(root㉿kali)-[~/hashcat-6.2.4]
└─# ls
charsets example0.hash example400.hash example500.hash extra hashcat.hcstat2 layouts OpenCL target.txt
docs example0.sh example400.sh example500.sh hashcat.bin hashcat.hctune masks result.txt
example0.cmd example400.cmd example500.cmd example.dict hashcat.exe hashpanduan.py modules rules┌──(root㉿kali)-[~/hashcat-6.2.4]
└─#
使用前必须明白的事情:
A,破解方式选择(可通过--help查看):
┌──(root㉿kali)-[~/hashcat-6.2.4]
└─# hashcat --help |grep -A 10 "Attack Modes"
- [ Attack Modes ] -# | Mode===+======0 | Straight1 | Combination3 | Brute-force6 | Hybrid Wordlist + Mask7 | Hybrid Mask + Wordlist9 | Association┌──(root㉿kali)-[~/hashcat-6.2.4]
└─#
进一步解释:
Hashcat 的不同破解模式适用于不同场景,以下是对表格中各模式的补充说明:
0 | Straight(字典破解)
- 原理:直接使用字典文件中的字符串作为密码候选,按顺序尝试匹配哈希值。
- 适用场景:已知目标可能使用常见密码(如弱口令、常用词),或已有泄露密码字典。
- 示例:用包含“123456”“password”的字典破解简单密码哈希。
1 | Combination(组合破解)
- 原理:将多个字典中的字符串进行组合(如 A 字典的词 + B 字典的词),生成新的候选密码。
- 适用场景:目标密码可能是多个单词/数字的组合(如“iloveyou2023”“admin@123”)。
- 示例:结合“季节”字典(spring/summer)和“数字”字典(2023/2024),生成“spring2023”“summer2024”等。
3 | Brute-force(掩码暴力破解)
- 原理:通过自定义掩码规则(如长度、字符集)生成所有可能的字符串组合。
- 适用场景:已知密码格式(如“8位数字+字母”“生日+姓名缩写”),但无具体字典。
- 示例:用掩码
?d?d?d?d?d?d?d?d
(8位数字)破解银行卡密码哈希。
6 | Hybrid Wordlist + Mask(字典+掩码破解)
- 原理:在字典词的末尾添加掩码生成的字符(如字典词 + 数字/符号)。
- 适用场景:目标密码可能是“基础词+变体”(如“password”后加“!@#”或年份)。
- 示例:字典词“hello” + 掩码“?d?d”(2位数字),生成“hello12”“hello34”等。
7 | Hybrid Mask + Wordlist(掩码+字典破解)
- 原理:在掩码生成的字符开头添加字典词(如数字/符号 + 字典词)。
- 适用场景:目标密码可能是“前缀+基础词”(如“!@#”+“password”)。
- 示例:掩码“?s?d”(1个符号+1个数字) + 字典词“world”,生成“!2world”“@5world”等。
模式选择建议
- 优先尝试:先用 Straight 模式(字典破解)测试常见密码,效率最高。
- 复杂密码:若字典破解失败,再用 Hybrid 模式(字典+掩码)覆盖“基础词+变体”场景。
- 无规律密码:最终尝试 Brute-force 模式,但需根据密码长度和字符集评估时间成本(如8位混合字符可能需要数天甚至更长时间)。
通过灵活组合这些模式,可提高哈希破解的成功率。
B,掩码
掩码其实就代表着范围,查看hashcat中的掩码:
┌──(root㉿kali)-[~/hashcat-6.2.4]
└─# hashcat --help |grep -A 12 "Built-in Charsets"
- [ Built-in Charsets ] -? | Charset===+=========l | abcdefghijklmnopqrstuvwxyz [a-z]u | ABCDEFGHIJKLMNOPQRSTUVWXYZ [A-Z]d | 0123456789 [0-9]h | 0123456789abcdef [0-9a-f]H | 0123456789ABCDEF [0-9A-F]s | !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~a | ?l?u?d?sb | 0x00 - 0xff