无聊中,就把hashcat的官方文档稍微翻译了下,方便初学的朋友查看。至于oclhashcat,它是一个离线的hash密码破解工具,与hashcat不同,它支持GPU破解,速度更快,并且支持更多的hash算法!
GPU驱动要求:

AMD users require AMD drivers 14.9 or later (recommended 15.12 exact)Intel users require Intel OpenCL Runtime 14.2 or later (recommended 16.1 or later)NVidia users require NVidia drivers 346.59 or later (recommended 367.27 or later)

优点:

世界上最快的密码破解软件,不过经不严谨测试(虚拟里面使用CPU和物理机使用GPU对比:速度快了244倍) (来自官方文档…)免费,开源跨系统 (Linux, Windows and OSX)跨平台 (CPU, GPU, DSP, FPGA, etc., everything that comes with an OpenCL runtime)支持多种hash算法(可在下面的参数手册查看,多到超出想象…) (可在同时破解多种hash)支持多种驱动器 (可在同一系统多种设备中生效)支持多种驱动器类型 (可在同一系统混合使用多种不同的设备)支持分布式破解支持暂停/重新开始支持会话与恢复支持从密码文件读取hash值或是直接输入支持16进制字符集(包括盐)支持自动性能调优支持markov-chains內建标杆测试集成热watchdog等等

总之,是离线破解单向密码的好工具(第一选择是网络,但是网上不支持一些“小众”的密码类型,就只能使用它来碰碰运气咯)!
它支持的攻击模式:
Brute-Force Attack

所有攻击中最简单的一种,指定字符集和密码长度范围即可。
Mask Attack

尝试所有被给的来自键盘空间的字符组合(就像是暴力破解,只是需要指定得更加清楚)
相对于Brute-Force的优点

他不像传统的暴力破解,减少了排列的可能性,例如破解这个密码:Julia1984

在传统的暴力破解中,它是9位,每一位可能是大小写或是数字,也就是 “mixalpha-numeric”字符集。于是可迭代出62^9 (13.537.086.546.263.552)种可能,以100M/s的速率破解,需要超过4年的时间。

但是在mask attack攻击中,因为传统都只是首字母大写,为了缩短长度,可以在每一位指定特定类型的字符,于是就是52*26*26*26*26*10*10*10*10 (237.627.520.000)种组合,同样的速度就只需要40分钟。没有缺点。。。
Masks(掩码)

每一个密码位都需要一个掩码占位,例如密码有8位,就需要8个掩码(就像正则表达式里面的通配符)。

一个mask是一个被配置给密码破解引擎使用的占位字符串。这个占位符可以是定制的字符集,內建字符集,或者是纯字符(字符本身)一个变量(跟在一个?后面代表一个字符集),例如內建的(?l,?u,?s,?a,?d)和定制的(?1,?2,?3,?4)注意,如果想要表示?这个纯字符,就需要使用??

输出

由于反向算法优化,输出将是如下这种顺序(就是并非简单的字母序):

aaaaaaaa
aaaabaaa
aaaacaaa
.
.
.
aaaaxzzz
aaaayzzz
aaaazzzz
baaaaaaa
baaabaaa
baaacaaa
.
.
.
baaaxzzz
baaayzzz
baaazzzz
.
.
.
zzzzzzzz

內建字符集

?l = abcdefghijklmnopqrstuvwxyz
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d = 0123456789
?s = «space»!”#$%&’()*+,-./:;<=>?@[/]^_`{|}~
?a = ?l?u?d?s
?b = 0x00 - 0xff

自定义字符集

所有的hashcat衍生版都有四个命令行参数用来自定义字符集

–custom-charset1=CS
–custom-charset2=CS
–custom-charset3=CS
–custom-charset4=CS

你可以直接在命令行中使用-1,-2,-3,-4来指定字符集并且直接使用?1,?2,?3,?4来调用,也可以在配置文件(*.hcchr)中指定。在指定时,可以直接使用內建字符集组合,也可以使用纯字符组合甚至是混合的组合。

例如

指定?1代表的字符时,可以使用下面这些方式(他们效果一样):

-1 abcdefghijklmnopqrstuvwxyz0123456789
-1 abcdefghijklmnopqrstuvwxyz?d
-1 ?l0123456789
-1 ?l?d
-1 loweralpha_numeric.hcchr # file that contains alldigits + chars (abcdefghijklmnopqrstuvwxyz0123456789)

下面是在指定“0123456789abcdef”这个字符集时:

-1 ?dabcdef

下面是指定7位ASCII码全字符(“mixalpha-numeric-all-space”)时:

-1 ?l?d?s?u

下面是指定为特殊语言字符集时:

-1 charsets/special/Russian/ru_ISO-8859-5-special.hcchr

例如

下面的命令是创建如下的密码(-a 3表示暴力破解攻击):

command: -a 3 ?l?l?l?l?l?l?l?l
keyspace: aaaaaaaa - zzzzzzzz

command: -a 3 -1 ?l?d ?1?1?1?1?1
keyspace: aaaaa - 99999

command: -a 3 password?d
keyspace: password0 - password9

command: -a 3 -1 ?l?u ?1?l?l?l?l?l19?d?d
keyspace: aaaaaa1900 - Zzzzzz1999

command: -a 3 -1 ?dabcdef -2 ?l?u ?1?1?2?2?2?2?2
keyspace: 00aaaaa - ffZZZZZ

command: -a 3 -1 efghijklmnop ?1?1?1
keyspace: eee - ppp

密码长度增量

默认情况下,使用8位的掩码只能破解8位的密码,不能破解低于8位更不能破解高于8位的,但可以使用increment来实现破解低于8位的(他可以设置最小位数和最大位数,但最大位数不能超过掩码位数)

?l
?l?l
?l?l?l
?l?l?l?l
?l?l?l?l?l
?l?l?l?l?l?l
?l?l?l?l?l?l?l
?l?l?l?l?l?l?l?l

字符集文件

可以将常用的字符集保存为*.hcchr格式的纯文本文件,以后就可以直接调用(像上面例子中使用的charsets/special/Russian/ru_ISO-8859-5-special.hcchr一样)回顾用法:

-1 charsets/standard/German/de_cp1252.hcchr

(可以使用iconv或类似的工具将文件转换到指定语言编码 )
掩码文件

同样可以将掩码直接保存为一个文件,以后使用时直接调用,它是一行一行的纯文本文件,以.hcmask为扩展名,格式如下:

[?1,][?2,][?3,][?4,]mask

本来在命令行中,我们要使用自定义的字符集,需要使用如下格式:

-1 ?l?s -2 ?dhjg -3 ?u?d -4 ?s987 ?1?2?3?4?s?l

那么在掩码文件中就可以直接这样写:

?l?s,?dhjg,?u?d,?s987, ?1?2?3?4?s?l

当然,在没有使用自定义字符集时就不需要前面的部分了,直接写掩码即可,使用方法如下:

-a 3 hash.txt mask_file.hcmask

其他:

– 可以在每一行的开头使用#来注释掉那一行,可以写入多行,每一行互相独立
– 当掩码中存在 ,(逗号)时,需要/,来转义
– 同样,掩码文件也可以支持增量参数

Example

下面是些例子,看看能不能看懂是什么意思

?d?l,test?1?1?1
abcdef,0123,ABC,789,?3?3?3?1?1?1?1?2?2?4?4?4?4
company?d?d?d?d?d
?l?l?l?l?d?d?d?d?d?d

16进制字符

可以使用“–hex-charset”参数

Combinator Attack

给定两个字典文件,他们将会组合成一个字典来进行破解:

./hashcat64.bin -m 0 -a 1 hash.txt dict1.txt dict2.txt

这里例如

Dict1.txt:
Hia
Hiaa
Hiaaa

Dict2.txt:
Bb
Cc

结果为:

HiaBb
HiaCc
HiaaBb
HiaaCc
HiaaaBb
HiaaaCc

可以使用参数来对某个字典进行“在开始出添加字符”,“在结尾处添加字符”的操作:

-j, –rule-left=RULE 左边添加
-k, –rule-right=RULE 右边添加

Dictionary Attack

即straight mode,使用字典攻击
Hybrid Attack

混合攻击,即用暴力攻击来修饰字典文件,分为:

mask + dict 即掩码在字典前
dict + mask 掩码在字典后

例如

字典文件是example.dict:

password
hello

命令为:

$ … -a 6 example.dict ?d?d?d?d

生成的字典是:

password0000
password0001
password0002
.
.
.
password9999
hello0000
hello0001
hello0002
.
.
.
hello9999

另一种情况,命令是:

$ … -a 7 ?d?d?d?d example.dict

生成的字典是:

0000password
0001password
0002password
.
.
.
9999password
0000hello
0001hello
0002hello
.
.
.
9999hello

(可以使用规则模式来创建混合攻击)
Toggle-Case Attack

尝试所有的大小写组合:

例如pass1234会产生:

pass1234
Pass1234
pAss1234
PAss1234
paSs1234
PaSs1234
pASs1234
PASs1234
pasS1234
PasS1234
pAsS1234
PAsS1234
paSS1234
PaSS1234
pASS1234
PASS1234

Rule-based Attack

这是功能最强大,也最复杂的一种模式,就像变成一样设置密码规则!他的语法很多部分和john和passwordPro互通,这里是语法:

1.png
2.png

    * 当N超过9就用A-Z表示+ 表示只在hashcat里面有效# 版本升级后出现的:oclHashcat v1.37 → v1.38 and hashcat v0.51 → v0.52

下面是拒绝规则,即密码符合规则才执行,否则跳过:

3.png

这是hashcat特有的语法:

4.png

生成规则的方式:

使用专门的软件:Using maskprocessor to create rules.

使用随机规则:

规则文件里面已有一些规则,使用

–generate-rules=NUM 创造NUM个随机的规则
–generate-rules-func-min=NUM 指定规则中函数的最小个数(默认一个)
–generate-rules-func-max=NUM 指定规则中函数的最大个数(默认四个)

下面是命令帮助文件(若有疑问请查阅英文原版):

40980987626.jpg
3098098476.jpg

下面使用几个例子:

cudaHashcat64.exe -a 3 -m 1000b4b9b02e6f09a9bd760f388b67351e2b ?a?l?l?l?l?l?l

ntlm.png

可以用来破解WPA、WPA2的密码:

首先对aircrack等抓下来的包含握手包的.cap文件进行清洗(可使用在线清洗,最简单,不放心可以本地清洗,也有脚本。。。)得到.hccap包

cudaHashcat64.exe -m 2500 -a 0 C:/Users/Beta/Desktop/hashcat.hccap G:/渗透工具/密码破解/WPA破解工具/字典/WPA字典/WPA.txt

Clipboard Image.png

显示破解失败…955Mb的字典,跑完用了32分钟。其他的类似就不做示例了。

如果想要做练习,可以使用官方提供的测试hash: https://hashcat.net/wiki/doku.php?id=example_hashes

如果使用过程中遇到什么问题可以在这里看看有没有说明:https://hashcat.net/wiki/doku.php?id=frequently_asked_questions

  • 参考来源:hashcat,Beta_Mao编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

oclhashcat:离线hash密码破解工具官方文档(中文版)相关推荐

  1. Hyperledger Fabric 2.0 官方文档中文版 第3章 关键概念

    Hyperledger Fabric 2.0 官方文档中文版 第3章 关键概念 总目录 3.关键概念 引言 什么是区块链? 区块链为什么有用? 什么是Hyperledger Fabric? Hyper ...

  2. Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(下)

    Hyperledger Fabric 2.0 官方文档中文版 第6章 教程下 总目录 6.教程(下) 使用CouchDB 为什么使用CouchDB? 在Hyperledger Fabric中启用Cou ...

  3. scikit-learn (sklearn) 官方文档中文版

    scikit-learn (sklearn) 官方文档中文版 sklearn 0.21.3 中文文档 sklearn 0.21.3 中文示例 sklearn 英文官网 介绍 sklearn (scik ...

  4. jQuery 1.4官方文档中文版

    jQuery 1.4在本月早些时候发布了.这个版本包含了大量的编程,测试和记录文档的工作.这份官方文档总结了jQuery 1.4当中加入的变更和功能,很多常用和热门的方法被重写,性能得到了很大的提升. ...

  5. Python Turtle 海龟绘图详解官方文档中文版

    Python Turtle 海龟绘图详解 (官方文档中文版)-安徽省太湖中学陈晓中整理 概述 海龟绘图很适合用来引导孩子学习编程. 最初来自于 Wally Feurzeig, Seymour Pape ...

  6. Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(上)

    Hyperledger Fabric 2.0 官方文档中文版第6章 教程上 总目录 6.教程(上) 将智能合约部署到通道 启动网络 Logspout设置 打包智能合约 安装链码包 批准链码定义 将链码 ...

  7. Spine 骨骼动画查看器 Skeleton Viewer_官方文档中文版

    Spine 骨骼动画查看器 Skeleton Viewer_官方文档中文版 大家好,我是笨笨,笨笨的笨,笨笨的笨,谢谢! 欢迎加入专业Spine技术交流群 Spine2D骨骼动画 7708065 此文 ...

  8. scikit-learn sklearn 0.18 官方文档中文版

    ApacheCN(Apache中文网)- 关于我们 : http://cwiki.apachecn.org/pages/viewpage.action?pageId=10813869 ApacheCN ...

  9. TensorFlow 官方文档中文版发布啦(持续维护)

    TensorFlow 是 Google 研发的第二代人工智能学习系统,是 Google 为了帮助全球开发者们更加方便和高效地开发机器学习 (Machine Learning)和人工智能 (AI) 应用 ...

最新文章

  1. 取得Repeater内部控件命令名与命令参数
  2. 8年面试官问到:数据库自增 ID 用完了会咋样?
  3. BOYA 心形灵敏度麦克风的改装
  4. MultipartFile(文件的上传)--CommonsMultipartResolver
  5. [CALayer release]: message sent to deallocated instance
  6. 关于C++中函数指针的使用(包含对typedef用法的讨论)
  7. SQL-left(right,inner) join
  8. 2014年英语一作文partA
  9. 数据结构笔记(十二)-- 定长顺序结构的实现
  10. extract-text-webpack-plugin---webpack插件
  11. 2017-2018-1 20155317《信息安全系统设计基础》 实验五 通讯协议设计
  12. org.apache.commons.fileupload.DiskFileUpload1
  13. 启发式算法 Heuristic Algorithm
  14. 静态网页制作初步体会
  15. 《人工智能本科专业知识体系与课程设置》笔记
  16. 广义互相关 matlab,关于小波分析和广义互相关
  17. 用html代码制作一个表情图片,canvas绘制一个常用的emoji表情
  18. 在java中怎样做当鼠标选中文字单击鼠标右键出现菜单,定制鼠标右键“新建”菜单选项...
  19. 初学JavaScript之猜测new操作符的原理
  20. 贼好用的自动化测试工具:Apipost!

热门文章

  1. 基于kruskal的最小生成树
  2. 【lua语言从青铜到王者】第一篇:lua前世今生
  3. 云付推荐别人注册未认证_云付必须要推荐人吗_云支付一定要介绍人才能注册吗...
  4. Linux下查看历史操作记录
  5. 网络分流器-网络分流器-多核编程的几个难题及其应对策略
  6. C语言字符串的长度与字符串内存长度区别
  7. 电脑开机进不了系统怎么办?电脑开机错误无法显示桌面解决方法
  8. WDOMSTORE 隐私政策
  9. oracle怎么解锁视图,Oracle的锁表与解锁详解
  10. web渗透--22--SQL注入(上)