Hashcat命令详解

常用

-a  指定要使用的破解模式,其值参考后面对参数。“-a 0”字典攻击,“-a 1” 组合攻击;“-a 3”掩码攻击。
-m  指定要破解的hash类型,如果不指定类型,则默认是MD5
-o  指定破解成功后的hash及所对应的明文密码的存放位置,可以用它把破解成功的hash写到指定的文件中
--force 忽略破解过程中的警告信息,跑单条hash可能需要加上此选项
--show  显示已经破解的hash及该hash所对应的明文
--increment  启用增量破解模式,你可以利用此模式让hashcat在指定的密码长度范围内执行破解过程
--increment-min  密码最小长度,后面直接等于一个整数即可,配置increment模式一起使用
--increment-max  密码最大长度,同上
--outfile-format 指定破解结果的输出格式id,默认是3
--username   忽略hash文件中的指定的用户名,在破解linux系统用户密码hash可能会用到
--remove     删除已被破解成功的hash
-r       使用自定义破解规则
按s键可以查看破解的状态,
p键暂停
r键继续破解
q键退出破解

(1)普通

-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                                       安静的模式, 抑制输出

(2)基准测试

-b, --benchmark                       测试计算机破解速度和显示硬件相关信息

(3)杂项

--hex-salt                      salt值是用十六进制给出的
--hex-charset                  设定字符集是十六进制给出
--runtime=NUM              运行数秒(NUM值)后的中止会话
--status                    启用状态屏幕的自动更新
--status-timer=NUM       状态屏幕更新秒值
--status-automat             以机器可读的格式显示状态视图
--session                         后跟会话名称,主要用于中止任务后的恢复破解。

(4)文件

-o,  --outfile=FILE                   定义哈希文件恢复输出文件
--outfile-format=NUM            定义哈希文件输出格式,见下面的参考资料
--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

(4) 资源

-c, --segment-size=NUM       字典文件缓存大小(M)
-n, --threads=NUM                 线程数
-s,  --words-skip=NUM          跳过单词数
-l, --words-limit=NUM            限制单词数(分布式)

(5)规则

 -r, --rules-file=FILE             使用规则文件: -r 1.rule,
 -g,  --generate-rules=NUM       随机生成规则
--generate-rules-func-min= 每个随机规则最小值
--generate-rules-func-max=每个随机规则最大值
--generate-rules-seed=NUM  强制RNG种子数

(6)自定义字符集

-1,  --custom-charset1=CS  用户定义的字符集
-2, --custom-charset2=CS  例如:
-3, --custom-charset3=CS --custom-charset1=?dabcdef : 设置?1 为0123456789abcdef
-4, --custom-charset4=CS   -2mycharset.hcchr : 设置 ?2 包含在mycharset.hcchr

(7)攻击模式

大小写转换攻击:

--toggle-min=NUM              在字典中字母的最小值
--toggle-max=NUM              在字典中字母的最大值

使用掩码攻击模式:

--increment                   使用增强模式
--increment-min=NUM          增强模式开始值
--increment-max=NUM          增强模式结束值

排列攻击模式

--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             在字典中对每一个单词进行反转

(8)参考

输出文件格式:

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

内置的字符集:

?l = abcdefghijklmnopqrstuvwxyz 代表小写字母
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ 代表大写字母
?d = 0123456789 代表数字
?s = !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~  代表特殊字符
?a = ?l?u?d?s 大小写数字及特殊字符的组合
?b = 0x00 - 0xff 空格
?h | 0123456789abcdef           [0-9a-f]
?H | 0123456789ABCDEF           [0-9A-F]

攻击模式

0 = Straight (字典破解)
1 = Combination (组合破解)
2 = Toggle-Case (大小写转换)
3 = Brute-force(掩码暴力破解)
4 = Permutation(序列破解)
5 = Table-Lookup(查表破解)
6 = Hybrid dict + mask 字典加掩码破解
7 = Hybrid mask + dict 掩码+字典破解

完整参数

- [options] - (选项)
选项                          说明例子
-m, --hash-type Num Hash-type哈希类型,请参见下面的参考  -m 1000
-a, --attack-mode   Num Attack-mode攻击模式,请参阅下面的参考    -a 3
-V, --version       打印版本    
-h, --help      打印帮助    
--quiet
抑制输出    
--hex-salt
假设盐是以十六进制给出的    
--hex-wordlist      假设wordlist中的单词是以十六进制给出的 
--force     忽略警告    
--status        启用状态屏幕的自动更新 
--status-timer  Num 将状态屏幕更新设置为X --status-timer=1
--machine-readable      以机器可读格式显示状态视图   
--keep-guessing     在破解之后继续猜测哈希 
--loopback      添加新的平原来导入目录 
--weak-hash-threshold   Num 阈值X何时停止检查w  --weak=0
--markov-hcstat File    指定hcstat文件以使用   --markov-hc=my.hcstat
--markov-disable        禁用马尔科夫链,模拟经典的蛮力 
--markov-classic        启用经典马尔科夫链,没有每个位置    
-t, --markov-threshold  Num 阈值X何时停止接受新的马尔可夫链    -t 50
--runtime   Num 运行时间为X秒后中止会话    --runtime=10
--session   Str 定义特定的会话名称   --session=mysession
--restore       从--session恢复会话  
--restore-disable       不要写恢复文件 
--restore-file-path File    恢复文件的具体路径   --restore-file-path=my.restore
-o, --outfile   File    为恢复的散列定义outfile -o outfile.txt
--outfile-format    Num 为恢复的散列定义outfile格式的X --outfile-format=7
--outfile-autohex-disable       禁止在输出平面中使用$ HEX []  
--outfile-check-timer   Num 将outfile检查之间的秒设置为X  --outfile-check=30
-p, --separator Char    hashlists和outfile的分隔符char   -p :
--stdout        不要破解散列,而是只打印候选  
--show      将hashlist与potfile比较; 显示破解的哈希    
--left      将hashlist与potfile比较; 显示未破裂的哈希   
--username      启用忽略散列文件中的用户名   
--remove        一旦它们被破解,就可以清除哈希值    
--remove-timer  Num 更新输入哈希文件每X秒 --remove-timer=30
--potfile-disable       不要写potfile  
--potfile-path  Dir potfile的具体路径    --potfile-path=my.pot
--encoding-from Code(代码)    强制X |从内部词汇表编码   --encoding-from=iso-8859-15
--encoding-to   Code    强制内部词汇表编码到X --encoding-to=utf-32le
--debug-mode    Num 定义调试模式(仅通过使用规则混合)   --debug-mode=4
--debug-file    File    输出文件用于调试规则  --debug-file=good.log
--induction-dir Dir 指定用于回送|的归纳目录    --induction=inducts
--outfile-check-dir Dir 指定outfile目录来监视平原    --outfile-check-dir=x
--logfile-disable       禁用日志文件  
--hccapx-message-pair   Num 仅加载匹配X |的hccapx中的消息对    --hccapx-message-pair=2
--nonce-error-corrections   Num BF的大小范围来取代AP的随机数最后一个字节  --nonce-error-corrections=16
--truecrypt-keyfiles    File    要使用的密钥文件,用逗号分隔  --truecrypt-key=x.png
--veracrypt-keyfiles    File    要使用的密钥文件,用逗号分隔  --veracrypt-key=x.txt
--veracrypt-pim Num VeraCrypt个人迭代multiplier --veracrypt-pim=1000
-b, --benchmark     运行基准    
--speed-only        返回预期的攻击速度,然后退出  
--progress-only     返回理想的进度步骤和时间来处理 
-c, --segment-size      以MB为单位设置大小以从wordfile缓存到X    -c 32
--bitmap-min    Num 将位图允许的最小位设置为X   --bitmap-min=24
--bitmap-max    Num 将位图允许的最大位设置为X   --bitmap-max=24
--cpu-affinity  Str 锁定到CPU设备,用逗号分隔  --cpu-affinity=1,2,3
-I, --opencl-info       显示有关检测到的OpenCL平台/设备的信息  -I
--opencl-platforms  Str 使用OpenCL平台,用逗号分隔    --opencl-platforms=2
-d, --opencl-devices    Str 使用OpenCL设备,用逗号分隔    -d 1
-D, --opencl-device-types   Str 使用OpenCL设备类型,用逗号分隔  -D 1
--opencl-vector-width   Num 手动覆盖OpenCL矢量宽度到X    --opencl-vector=4
-w, --workload-profile  Num 启用特定的工作负载配置文件,请参阅下面的池   -w 3
-n, --kernel-accel  Num 手动调整工作负载,将外环步长设置为X  -n 64
-u, --kernel-loops  Num 手动调整工作负载,将内环步长设置为X  -u 256
--nvidia-spin-damp  Num 解决方法NVIDIA?(英伟达?)CPU烧录循环错误,以百分比表示   --nvidia-spin-damp=50
--gpu-temp-disable      禁用温度和fanspeed读取和触发器 
--gpu-temp-abort    Num 如果GPU温度达到X摄氏度,则中止   --gpu-temp-abort=100
--gpu-temp-retain   Num 尝试将GPU温度保持在X摄氏度 --gpu-temp-retain=95
--powertune-enable      启用功率调整。 完成|时恢复设置    
--scrypt-tmto   Num 手动覆盖scrypt的TMTO值为X  --scrypt-tmto=3
-s, --skip  Num 从一开始就跳过X个单词 -s 1000000
-l, --limit Num 限制X字从开始+跳过的单词   -l 1000000
--keyspace      显示密钥空间基础:mod值并退出    
-j, --rule-left Rule(规则)    单词规则应用于左词表| |中的每个单词 -j 'c'
-k, --rule-right    Rule    单词规则应用于右词表| |中的每个单词 -k '^-'
-r, --rules-file    File    多个规则应用于来自词表|的每个词    -r rules/best64.rule
-g, --generate-rules    Num 生成X随机规则 -g 10000
--generate-rules-func-min   Num 强制每个规则的最小X函数    
--generate-rules-func-max   Num 强制每个规则的最大X个函数   
--generate-rules-seed   Num 强制将RNG种子设置为X    
-1, --custom-charset1   CS  用户定义的字符集?1  -1 ?l?d?u
-2, --custom-charset2   CS  用户定义的字符集?2  -2 ?l?d?s
-3, --custom-charset3   CS  用户定义的字符集?3  
-4, --custom-charset4   CS  用户定义的字符集?4  
-i, --increment     启用屏蔽增量模式    
--increment-min Num 在X |开始掩码递增  --increment-min=4
--increment-max Num 在X |处停止屏蔽递增 --increment-max=8
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,392评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,258评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,417评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,992评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,930评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,199评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,652评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,327评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,463评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,382评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,432评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,118评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,704评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,787评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,999评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,476评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,057评论 2 341

推荐阅读更多精彩内容