侧边栏壁纸
博主头像
Fup1p1 's Blog 博主等级

梦想是财富自由~

  • 累计撰写 38 篇文章
  • 累计创建 24 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

Hashcat

Fup1p1
2022-04-30 / 0 评论 / 0 点赞 / 486 阅读 / 0 字 / 正在检测是否收录...

Hashcat介绍

QQ截图20220501001224
Hashcat是自称世界上最快的密码恢复工具。它在2015年之前拥有专有代码库,但现在作为免费软件发布。适用于Linux,OS X和Windows的版本可以使用基于CPU或基于GPU的变体。支持hashcat的散列算法有Microsoft LM哈希,MD4,MD5,SHA系列,Unix加密格式,MySQL和Cisco PIX等。

Hashcat参数

.\hashcat64.exe -h #查看帮助,了解更多的参数

常用参数

此处[]代表你填入的参数
-a [模式]   指定破解模式。“-a 0”字典攻击,“-a 1” 组合攻击;“-a 3”掩码攻击。
-m  [hash类型(可通过-h 查看hash类型)]  指定要破解的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       使用自定义破解规则

攻击模式

  0 | Straight(字段破解)
  1 | Combination(组合破解)
  3 | Brute-force(掩码暴力破解)
  6 | Hybrid Wordlist + Mask(字典+掩码破解)
  7 | Hybrid Mask + Wordlist(掩码+字典破解)

掩码的设置

l | abcdefghijklmnopqrstuvwxyz          纯小写字母
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ          纯大写字母
d | 0123456789                  纯数字
h | 0123456789abcdef                常见小写子目录和数字
H | 0123456789ABCDEF                常见大写字母和数字
s |  !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~       特殊字符
a | ?l?u?d?s                    键盘上所有可见的字符
b | 0x00 - 0xff                 可能是用来匹配像空格这种密码的
八位数字密码:?d?d?d?d?d?d?d?d
八位未知密码:?a?a?a?a?a?a?a?a
前四位为大写字母,后面四位为数字:?u?u?u?u?d?d?d?d
前四位为数字或者是小写字母,后四位为大写字母或者数字:?h?h?h?h?H?H?H?H
前三个字符未知,中间为admin,后三位未知:?a?a?aadmin?a?a?a
6-8位数字密码:--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l
6-8位数字+小写字母密码:--increment --increment-min 6 --increment-max 8 ?h?h?h?h?h?h?h?h

自定义字符集

如果我们想设置字符集为:abcd123456!@-+,那该怎么做呢。这就需要用到自定义字符集这个参数了,hashcat支持用户最多定义4组字符集

--custom-charset1 [chars]等价于 -1
--custom-charset2 [chars]等价于 -2
--custom-charset3 [chars]等价于 -3
--custom-charset4 [chars]等价于 -4
在掩码中用?1、?2、?3、?4来表示。

例子

--custom-charset1 abcd123456!@-+。然后我们就可以用"?1"去表示这个字符集了
--custom-charset2 ?l?d,这里和?2就等价于?h
-1 ?d?l?u,?1就表示数字+小写字母+大写字母
-3 abcdef -4 123456 那么?3?3?3?3?4?4?4?4就表示为前四位可能是“abcdef”,后四位可能是“123456”

实战演练

1.破解Keepass(开源密码管理器)

此题已告知密码长度为5位。
QQ截图20220430234531-1651334329211
QQ截图20220430234544-1651334313312
点开需要密码。
首先利用John the Ripper得到Database的hash
QQ截图20220430212841

1.我们在hashcat目录创建文本(hash.txt),并将hash值复制进文本。
2.创建cracked.txt,存放破解出的密码。
3.打开终端,执行命令

.\hashcat64.exe -m 13400 -a 3 hash.txt ?d?d?d?d?d -o cracked.txt
13400 是破解keepass的模式(-h后可以在hash mode中找到keepass对应的id是13400)
?d?d?d?d?d 指定五位数字(我先试数字)
-o cracked.txt代表最后的密码输出到文本cracked.txt中。

QQ截图20220430235757
1秒钟成功跑完。(๑•̀ㅂ•́)و✧
查看密码:13152
QQ截图20220430235511

0

评论区