官网: hashcat - advanced password recovery
linux安装hashcat
# sudo apt install -y build-essential git # 安装git
git clone https://github.com/hashcat/hashcat.git
# git clone https://kgithub.com/hashcat/hashcat.git # 国内镜像克隆
cd hashcat
make
make install
newgrp # 刷新
测试
hashcat -I # 查看硬件信息
hashcat -b -m 22000 # 测试是否正常运行以及破解速度
常用选顶参数
-a / / 指定破解模式
-m / / 指定Hash类型( 默认MD5 )
-o / / 将输出结果储存到指定的文件
--force / / 忽略警告信息
--show / / 仅显示已经破解的Hash及其对应的明文(近期破解的存放在hashcat.potfile文件中)
--incremen / / 启用增量破解模式, 可以利用此模式让Hashcat 在指定的密码长度范围内执行破解过程
--increment-min / / 密码最小长度, 配合increment模式一起使用
--increment-max / / 密码最大长度, 同上
--outfile-format / / 指定破解结果的输出格式id , 默认是3
--username / / 忽略hash 文件中的指定的用户名, 在破解linux系统用户密码hash可能会用到
--remove / / 删除已被破解成功的hash
-r / / 使用自定义破解规则
-a
选项表示攻击模式,有以下几种:
0 | Straight
1 | Combination
3 | Brute-force
6 | Hybrid Wordlist + Mask
7 | Hybrid Mask + Wordlist
一般使用掩码选择 -a 3
, 使用字典文件选择 -a 0
-m
选项表示hash类型
类型手册:example_hashes [hashcat wiki]
?a?a?a?a?a?a
表示6位可显示字符,其它字符集如下:
?l = abcdefghijklmnopqrstuvwxyz
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d = 0123456789
?h = 0123456789abcdef
?H = 0123456789ABCDEF
?s = !"#$%&'()*+,-./:;<=>?@[]^_`{|}~
?a = ?l?u?d?s
?b = 0x00 - 0xff
示例:破解all.hash文件里保存的Hash,纯数字,1-10位
hashcat -m 13000 -a 3 all.hash ?d?d?d?d?d?d?d?d?d?d --increment --increment-min=1 --increment-max=10 ;
如果已经爆破出结果,在结尾加 --show
可以直接显示结果
默认结果可能会存在这些文件里:
~/.hashcat/hashcat.potfile
~/.local/share/hashcat/hashcat.potfile