一、常用
| 参数 |
说明 |
| -m, --hash-type=NUM |
哈希类别,其NUM值参考其帮助信息下面的哈希类别值,其值为数字。如果不指定m值则默认指md5,例如-m 1800是sha512 Linux加密。 |
| -a, --attack-mode=NUM |
攻击模式,其值参考后面对参数。”-a 0”字典攻击,“-a 1” 组合攻击;“-a 3”掩码攻击。 |
| -V, --version |
版本信息 |
| -h, --help |
帮助信息。 |
| --quiet |
安静的模式, 抑制输出 |
| -O |
限制密码长度 |
| -T |
设置线程数 |
| -r |
使用规则文件 |
二、基准测试
| 参数 |
说明 |
| -b, --benchmark |
测试计算机破解速度和显示硬件相关信息 |
三、杂项
| 参数 |
说明 |
| --hex-salt |
salt值是用十六进制给出的 |
| --hex-charset |
设定字符集是十六进制给出 |
| --runtime=NUM |
运行数秒(NUM值)后的中止会话 |
| --status |
启用状态屏幕的自动更新(代替手动输入s,查看进度) |
| --status-timer=NUM |
状态屏幕更新秒值 |
| --status-automat |
以机器可读的格式显示状态视图 |
| --session |
后跟会话名称,主要用于中止任务后的恢复破解。--session=my 将进度存到my.session文件中,断点续解密 |
| --self-test-disable |
来覆盖,但不报告相关错误 |
四、文件
| 参数 |
说明 |
| -o, --outfile=FILE |
定义哈希文件恢复输出文件 |
| --outfile-format=NUM |
定义哈希文件输出格式 |
|
--outfile-format=1 仅输出破译出的密文hash |
|
--outfile-format=2 仅输出破译出的密码的明文 |
| --outfile-autohex-disable |
禁止使用十六进制输出明文 |
| -p, --separator=CHAR |
为哈希列表/输出文件定义分隔符字符 |
| --show |
仅仅显示已经破解的密码 |
| --left |
仅仅显示未破解的密码 |
| --username |
忽略hash表中的用户名,对linux文件直接进行破解,不需要进行整理。 |
| --remove |
移除破解成功的hash,当hash是从文本中读取时有用,避免自己手工移除已经破解的hash |
| --stdout |
控制台模式,打印用于密码破译的字典中的内容 |
| --potfile-disable |
不写入pot文件 |
| --debug-mode=NUM |
定义调试模式(仅通过使用规则进行混合),参见下面的参考资料 |
| --debug-file=FILE |
调试规则的输出文件(请参阅调试模式) |
| -e, --salt-file=FILE |
定义加盐文件列表 |
| --logfile-disable |
禁止logfile |
五、资源
| 参数 |
说明 |
| -c, --segment-size=NUM |
字典文件缓存大小(M) |
| -n, --threads=NUM |
线程数 |
| -s, --words-skip=NUM |
跳过单词数 |
| -l, --words-limit=NUM |
限制单词数(分布式) |
| -d, --backend-devices |
指定用哪块显卡(多个用逗号分隔) |
| -D, --opencl-device-types |
指定破解设备类型:1:CPU;2:GPU;3:FPGA, DSP, Co-Processor(多个用逗号分隔) |
| -O |
使用GPU模式进行破解时,可以使用 -O 参数自动进行优化 |
| --gpu-accel 160 |
可以让GPU发挥最大性能.该参数支持的值有1,8,40,80,160 |
| --gpu-loops 1024 |
可以让GPU发挥最大性能。该参数支持的值的范围是8-1024(有些算法只支持到1000) |
| --segment-size 512 |
可以提高大字典破解的速度。默认为32MB,可以根据自身内存情况进行设置,当然是越大越块了 |
| -w=NUM |
指定工作模式(电力消耗) |
| --hwmon-temp-abort=100 |
限制GPU温度达到100后,停止(默认90) |
| --force |
忽略破解过程中的警告信息,跑单条hash可能需要加上此选项。虚拟机没有 GPU 强制使用 CPU |
参数-w用于指定工作模式(电力消耗),共有四种,如下表所示:
| N |
Performance |
Runtime Power Consumption |
Desktop Impact |
| 1 |
Low |
2 ms |
Low |
| 2 |
Default |
12 ms |
Economi |
| 3 |
High |
96 ms |
High |
| 4 |
Nightmare |
480 ms |
Insane |
六、规则(Rule)
| 参数 短/长 |
说明 |
举例(Example) |
| -j, --rule-left=rule |
Single rule applied to each word from left wordlist |
将字符c加载密码的左边,-j '$c' |
| -k, --rule-right=rule |
Single rule applied to each word from right wordlist |
将字符^-加载密码的右边,-k '^-' |
| -r,--rules-file=FILE |
使用规则文件: -r rules/best64.rule |
|
| -g,--generate-rules=NUM |
随机生成规则 |
|
| --generate-rules-func-min= |
每个随机规则最小值 |
|
| --generate-rules-func-max= |
每个随机规则最大值 |
|
| --generate-rules-seed=NUM |
强制RNG种子数 |
|
^和$和正则的作用是一样(但不是正则)。表示头和尾
七、攻击模式
| 参数 |
说明 |
| --toggle-min=NUM |
在字典中字母的最小值 |
| --toggle-max=NUM |
在字典中字母的最大值 |
| --increment |
使用增强模式(自增遍历模式(不确定密码长度的情况)) |
| --increment-min=NUM |
增强模式开始值 (未知密码长度时,限制最小从几位开始) 。最小值和参数-m 有关,-m 2500 时 最小值只能是8;-m 0 最小值可以是1 |
| --increment-max=NUM |
增强模式结束值(未知密码长度时,限制最大到几位结束)。 最小值和参数-m 有关,-m 2500 时 最小值只能是8;-m 0 最小值可以是1 |
| --perm-min=NUM |
过滤比NUM数小的单词 |
| --perm-max=NUM |
过滤比NUM数大的单词 |
| -t,--table-file=FILE |
表文件 |
| --table-min=NUM |
在字典中的最小字符值 |
| --table-max=NUM |
在字典中的最大字符值 |
| --pw-min=NUM |
如果长度大于NUM,则打印候选字符 |
| --pw-max=NUM |
如果长度小于NUM,则打印候选字符 |
| --elem-cnt-min=NUM |
每个链的最小元素数 |
| --elem-cnt-max=NUM |
每个链的最大元素数 |
| --wl-dist-len |
从字典表中计算输出长度分布 |
| --wl-max=NUM |
从字典文件中加载NUM个单词,设置0禁止加载。 |
| --case-permute |
在字典中对每一个单词进行反转 |
八、参考
| 参数 |
说明 |
| 1 |
hash[:salt] |
| 2 |
plain 明文 |
| 3 |
hash[:salt]:plain |
| 4 |
hex_plain |
| 5 |
hash[:salt]:hex_plain |
| 6 |
plain:hex_plain |
| 7 |
hash[:salt]:plain:hex_plain |
| 8 |
crackpos |
| 9 |
hash[:salt]:crackpos |
| 10 |
plain:crackpos |
| 11 |
hash[:salt]:plain:crackpos |
| 12 |
hex_plain:crackpos |
| 13 |
hash[:salt]:hex_plain:crackpos |
| 14 |
plain:hex_plain:crackpos |
| 15 |
hash[:salt]:plain:hex_plain:crackpos |
九、调试模式输出文件 (for hybrid mode only, by using rules):
| 参数 |
说明 |
| 1 |
save finding rule |
| 2 |
save original word |
| 3 |
save original word and finding rule |
| 4 |
save original word, finding rule andmodified plain |
十、用户自定义字符集
例如:
--custom-charset1=?dabcdef 设置?1 为0123456789abcdef
--custom-charset2=mycharset.hcchr 指定字符文件 mycharset.hcchr
-1=charsets/special/Russian/ru_ISO-8859-5-special.hcchr 指定字符文件
十一、内置的字符集:
| 参数 |
说明 |
备注 |
| ?l |
abcdefghijklmnopqrstuvwxyz |
代表小写字母 |
| ?u |
ABCDEFGHIJKLMNOPQRSTUVWXYZ |
代表大写字母 |
| ?d |
0123456789 |
代表数字 |
| ?s |
!”#$%&’()*+,-./:;<=>?@[\]^_`{|}~ |
代表特殊字符 |
| ?a |
?l?u?d?s |
大小写数字及特殊字符的组合 |
| ?b |
\0×00 -- \0xff |
十六进制值 |
| ?D |
|
表示8bit的德语字符 |
| ?F |
|
表示8bit的法语字符 |
| ?R |
|
表示8bit的俄语字符 |
如果想要表示?这个纯字符,就需要使用??
十二、-a 攻击模式
0模式:字典破解(多个字典依次读取,支持字典文件夹)
1模式:组合字典破解(只能两个字典,两个字典会重新组合成新字典,不支持字典文件夹)
十三、-m 哈希类型
hash示例:https://hashcat.net/wiki/doku.php?id=example_hashes
| 参数 |
hash名 |
| 0 |
MD5 |
| 10 |
md5($pass.$salt) |
| 20 |
md5($salt.$pass) |
| 30 |
md5(unicode($pass).$salt) |
| 40 |
md5($salt.unicode($pass)) |
| 50 |
HMAC-MD5 (key |
| 60 |
HMAC-MD5 (key |
| 100 |
SHA1 |
| 110 |
sha1($pass.$salt) |
| 120 |
sha1($salt.$pass) |
| 130 |
sha1(unicode($pass).$salt) |
| 140 |
sha1($salt.unicode($pass)) |
| 150 |
HMAC-SHA1 (key |
| 160 |
HMAC-SHA1 (key |
| 200 |
MySQL323 |
| 300 |
MySQL4.1/MySQL5 |
| 400 |
phpass, MD5(WordPress), MD5(phpBB3),MD5(Joomla) |
| 500 |
md5crypt, MD5(Unix), FreeBSD MD5,Cisco-IOS MD5 |
| 900 |
MD4 |
| 1000 |
NTLM |
| 1100 |
Domain Cached Credentials (DCC), MSCache |
| 1400 |
SHA256 |
| 1410 |
sha256($pass.$salt) |
| 1420 |
sha256($salt.$pass) |
| 1430 |
sha256(unicode($pass).$salt) |
| 1431 |
base64(sha256(unicode($pass))) |
| 1440 |
sha256($salt.unicode($pass)) |
| 1450 |
HMAC-SHA256 (key |
| 1460 |
HMAC-SHA256 (key |
| 1600 |
md5apr1, MD5(APR), Apache MD5 |
| 1700 |
SHA512 |
| 1710 |
sha512($pass.$salt) |
| 1720 |
sha512($salt.$pass) |
| 1730 |
sha512(unicode($pass).$salt) |
| 1740 |
sha512($salt.unicode($pass)) |
| 1750 |
HMAC-SHA512 (key |
| 1760 |
HMAC-SHA512 (key |
| 1800 |
SHA-512(Unix) |
| 2400 |
Cisco-PIX MD5 |
| 2410 |
Cisco-ASA MD5 |
| 2500 |
WPA/WPA2 |
| 2600 |
Double MD5 |
| 3200 |
bcrypt, Blowfish(OpenBSD) |
| 3300 |
MD5(Sun) |
| 3500 |
md5(md5(md5($pass))) |
| 3610 |
md5(md5($salt).$pass) |
| 3710 |
md5($salt.md5($pass)) |
| 3720 |
md5($pass.md5($salt)) |
| 3800 |
md5($salt.$pass.$salt) |
| 3910 |
md5(md5($pass).md5($salt)) |
| 4010 |
md5($salt.md5($salt.$pass)) |
| 4110 |
md5($salt.md5($pass.$salt)) |
| 4210 |
md5($username.0.$pass) |
| 4300 |
md5(strtoupper(md5($pass))) |
| 4400 |
md5(sha1($pass)) |
| 4500 |
Double SHA1 |
| 4600 |
sha1(sha1(sha1($pass))) |
| 4700 |
sha1(md5($pass)) |
| 4800 |
MD5(Chap), iSCSI CHAP authentication |
| 4900 |
sha1($salt.$pass.$salt) |
| 5000 |
SHA-3(Keccak) |
| 5100 |
Half MD5 |
| 5200 |
Password Safe SHA-256 |
| 5300 |
IKE-PSK MD5 |
| 5400 |
IKE-PSK SHA1 |
| 5500 |
NetNTLMv1-VANILLA / NetNTLMv1-ESS |
| 5600 |
NetNTLMv2 |
| 5700 |
Cisco-IOS SHA256 |
| 5800 |
Android PIN |
| 6300 |
AIX |
| 6400 |
AIX |
| 6500 |
AIX |
| 6700 |
AIX |
| 6900 |
GOST, GOST R 34.11-94 |
| 7000 |
Fortigate (FortiOS) |
| 7100 |
OS X v10.8+ |
| 7200 |
GRUB 2 |
| 7300 |
IPMI2 RAKP HMAC-SHA1 |
| 7400 |
sha256crypt, SHA256(Unix) |
| 7900 |
Drupal7 |
| 8400 |
WBB3, Woltlab Burning Board 3 |
| 8900 |
scrypt |
| 9200 |
Cisco $8$ |
| 9300 |
Cisco $9$ |
| 9800 |
Radmin2 |
| 10000 |
Django (PBKDF2-SHA256) |
| 10200 |
Cram MD5 |
| 10300 |
SAP CODVN H (PWDSALTEDHASH) iSSHA-1 |
| 11000 |
PrestaShop |
| 11100 |
PostgreSQL Challenge-ResponseAuthentication (MD5) |
| 11200 |
MySQL Challenge-Response Authentication(SHA1) |
| 11400 |
SIP digest authentication (MD5) |
| 99999 |
Plaintext |
十四、特殊哈希类型
hash示例:https://hashcat.net/wiki/doku.php?id=example_hashes
| 参数 |
hash名 |
| 11 |
Joomla < 2.5.18 |
| 12 |
PostgreSQL |
| 21 |
osCommerce, xt:Commerce |
| 23 |
Skype |
| 101 |
nsldap, SHA-1(Base64), Netscape LDAPSHA |
| 111 |
nsldaps, SSHA-1(Base64), Netscape LDAPSSHA |
| 112 |
Oracle S: Type (Oracle 11+) |
| 121 |
SMF > v1.1 |
| 122 |
OS X v10.4, v10.5, v10.6 |
| 123 |
EPi |
| 124 |
Django (SHA-1) |
| 131 |
MSSQL(2000) |
| 132 |
MSSQL(2005) |
| 133 |
PeopleSoft |
| 141 |
EPiServer 6.x < v4 |
| 1421 |
hMailServer |
| 1441 |
EPiServer 6.x > v4 |
| 1711 |
SSHA-512(Base64), LDAP |
| 1722 |
OS X v10.7 |
| 1731 |
MSSQL(2012 & 2014) |
| 2611 |
vBulletin < v3.8.5 |
| 2612 |
PHPS |
| 2711 |
vBulletin > v3.8.5 |
| 2811 |
IPB2+, MyBB1.2+ |
| 3711 |
Mediawiki B type |
| 3721 |
WebEdition CMS |
| 7600 |
Redmine Project Management Web App |
十、官方原版帮助
https://www.cnblogs.com/wutou/p/17720182.html
参考、来源:
https://www.cnblogs.com/xyongsec/p/12097321.html
https://zhuanlan.zhihu.com/p/567771788?utm_id=0
https://www.jianshu.com/p/52d1ed684020
https://teamssix.com/210831-122611.html
https://blog.werner.wiki/use-hashcat-crack-all-kinds-of-hash/
https://www.rstk.cn/news/617129.html?action=onClick
https://blog.csdn.net/qq_42094992/article/details/102178981
https://blog.csdn.net/NDASH/article/details/130612979
https://blog.csdn.net/dqd66/article/details/127354991
https://www.sohu.com/a/206277041_354899
http://anycastyun.com/news/547-cn.html
https://www.freebuf.com/column/175400.html
https://www.freebuf.com/column/175983.html
https://www.sqlsec.com/2019/10/hashcat.html#O
https://blog.werner.wiki/hashcat-attack-modes
https://codeleading.com/article/41813288619/#google_vignette
https://codeleading.com/article/41813288619
https://blog.csdn.net/qq_44637753/article/details/127297197
官方:
https://hashcat.net/wiki/doku.php?id=hashcat