一、常用
参数 |
说明 |
-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