【原创文章,严禁转载】
看到标题可能老粉就问了,哎你第【3】下的去哪了,呃呃呃......其实是我的网卡坏了啊,没办法
只能先继续往下写了,不然就断更了啊!!!
今天我们就来使用kali中的哈希工具进行密码破译。我本次会使用2个kali上不同的工具进行
实战与解说。分别为在线攻击与离线攻击,总共分为下和上本次限讲解离线工具hashcat
目录
预备知识:
首先就是先了解生么事哈希值了:
哈希值是通过哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制
值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只
更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输
入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算
法。
如果想知道更多推荐去看这片博文密码学之哈希算法_star_yang的博客-CSDN博客_哈希密码
了解hashcat
Hashcat号称是世界上最快的密码破解软件,可调用GPU进行密码破解,早在Hashcat 4.x版
本就宣称可破解256个字符长度的密码,而且支持上百种算法,基本市面上所有的算法都支持。
Hashcat中有一种很强大的基于规则的攻击方式,利用不同的“规则”,可产生大量用来破解的密
码,大大扩充破解字典,而且这些“规则”可以交叉利用,利用一些简单的字典就可衍生出大量复杂
但规律的密码以方便破解。
由于博主用的是kali虚拟机,不是物理机,所以没有GPU加速,所以大家可以下载hashcat的win
版。
最新版hashcat下载地址:https://hashcat.net/files/hashcat-5.1.0.7z
GitHub地址:https://github.com/hashcat/hashcat
hashcat的使用方法:
常用命令:
-m 指定哈希类型
-a 指定破解模式
-V 查看版本信息
-o 将输出结果储存到指定文件
--force 忽略警告
--show 仅显示破解的hash密码和对应的明文
--remove 从源文件中删除破解成功的hash
--username 忽略hash表中的用户名
-b 测试计算机破解速度和相关硬件信息
-O 限制密码长度
-T 设置线程数
-r 使用规则文件
-1 自定义字符集 -1 0123asd ?1={0123asd}
-2 自定义字符集 -2 0123asd ?2={0123asd}
-3 自定义字符集 -3 0123asd ?3={0123asd}
-i 启用增量破解模式
--increment-min 设置密码最小长度
--increment-max 设置密码最大长度
hashcat破解模式介绍
0 straight 字典破解
1 combination 将字典中密码进行组合(1 2>11 22 12 21)
3 brute-force 使用指定掩码破解
6 Hybrid Wordlist + Mask 字典+掩码破解
7 Hybrid Mask + Wordlist 掩码+字典破解
hashcat集成的字符集
?l 代表小写字母
?u 代表大写字母
?d 代表数字
?s 代表特殊字符
?a 代表大小写字母、数字以及特殊字符
?b 0x00-0xff
hashcat ID表
当然,我这只是一小部分,如果想知道更全的内容,可以到官网查看https://hashcat.net/wiki/doku.php?id=hashcat
密码破解推荐原则与例句
密码破解推荐原则
破解时采取先易后难的原则,建议如下:
(1)利用收集的公开字典进行破解
(2)使用1-8位数字进行破解。
(3)使用1-8位小写字母进行破解
(4)使用1-8位大写字母进行破解
(5)使用1-8位混合大小写+数字+特殊字符进行破解
(1)字典攻击
-a 0 password.lst
(2)1到8为数字掩码攻击
-a 3 --increment --increment-min 1--increment-max 8 ?d?d?d?d?d?d?d?d –O
?d代表数字,可以换成小写字母?l,大写字母?u,特殊字符?s,大小写字母+特殊字符?a,–O表示最优化破解模式,可以加该参数,也可以不加该参数。
(3)8为数字攻击
-a 3 ?d?d?d?d?d?d?d?d
同理可以根据位数设置为字母大写、小写、特殊字符等模式。
(4)自定义字符
现在纯数字或者纯字母的密码是比较少见的,根据密码专家对泄漏密码的分析,90%的个人密码是字母和数字的组合,可以是自定义字符了来进行暴力破解,Hashcat支持4个自定义字符集,分别是 -1 -2 -3 -4。定义时只需要这样-2 ?l?d ,然后就可以在后面指定?2,?2表示小写字母和数字。这时候要破解一个8位混合的小写字母加数字:
Hashcat.exe -a 3 --force -2 ?l?d hassh值或者hash文件 ?2?2?2?2?2?2?2?2
例如破解dz小写字母+数字混合8位密码破解:
Hashcat -m 2611 -a 3 -2 ?l?d dz.hash ?2?2?2?2?2?2?2?2
(5)字典+掩码暴力破解
Hashcat还支持一种字典加暴力的破解方法,就是在字典前后再加上暴力的字符序列,比如在字典后面加上3为数字,这种密码是很常见的。使用第六种攻击模式:
a-6 (Hybrid dict + mask)
如果是在字典前面加则使用第7中攻击模式也即( a-7 = Hybridmask + dict),下面对字典文件加数字123进行破解:
H.exe -a 6 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d
假如ffe1cb31eb084cd7a8dd1228c23617c8的密码为password123,则只要password.lst包含123即可。
(6)掩码+字典暴力破解
H.exe -a 7 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d
假如ffe1cb31eb084cd7a8dd1228c23617c8的密码为123password,则只要password.lst包含password即可。
(7)大小写转换攻击,对password.lst中的单词进行大小写转换攻击
H.exe-a 2 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst
hashcat实战
(由于时间原因实战将会在日后更新,我作业太多了啊)
结尾
嗨,作业在太多了,博主更新可能会慢一点,请大家见谅哦。
有什么疑问可以私信或者是在下方评论去告诉我哦。