我将重新构建文章,以保持原有信息的基础上,确保与原文的相似度低于30%。以下是重新构建的文章:
brew install hashcat
今天我要向大家推荐一个与密码相关的项目。这个项目叫做Hashcat。Hashcat是一款用于破解密码的工具,被称为世界上最快、最高级的密码破解工具。它支持超过350种哈希算法,包括MD5、SHA等系列密码的破解,并且可以在Linux、Mac和Windows平台上使用。目前,这个项目在GitHub上已经获得了13.6k的star。
如果你是Mac用户,可以直接使用brew进行安装。
apt install hashcat
tar zxvf hashcat-6.2.5.7z
cd hashcat-6.2.5
chmod +x hashcat.bin
./hashcat.bin
对于Debian系列的Linux,比如Kali和Ubuntu,你可以使用apt进行安装,或者从官方网站下载二进制文件进行安装。你可以在这里下载最新版本的压缩包,我以6.2.5版本为例。
hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...
如:
hashcat64.exe -m 1000 329153f560eb329c0e1deea55e88a1e9 pass.txt --force
-r 使用自定义破解规则
-o 指定破解成功后的 hash 及所对应的明文密码的存放位置
-m 指定要破解的 hash 类型,如果不指定类型,则默认是 MD5
-a 指定要使用的破解模式,其值参考后面对参数。“-a 0” 字典攻击,“-a 1” 组合攻击;“-a 3” 掩码攻击
-D 指定 opencl 的设备类型
--show 显示已经破解的 hash 及该 hash 所对应的明文
--force 忽略破解过程中的警告信息,跑单条 hash 可能需要加上此选项
--remove 删除已被破解成功的 hash
--username 忽略 hash 文件中的指定的用户名,在破解 linux 系统用户密码 hash 可能会用到
--increment 启用增量破解模式,你可以利用此模式让 hashcat 在指定的密码长度范围内执行破解过程
--increment-min 密码最小长度,后面直接等于一个整数即可,配置 increment 模式一起使用
--increment-max 密码最大长度,同上
--outfile-format 指定破解结果的输出格式 id ,默认是 3
--self-test-disable 关闭启动自检
hashcat -a 3 --force d54d1702ad0f8326224b817c796763c9 ?d?d?d?d?d?d?d?d
hashcat -a 3 --force 4575621b0d88c303998e63fc74d165b0 -1 ?l?d ?1?1?1?1
如果你是Windows用户,可以在官网或者GitHub上下载最新版本的压缩包,解压后你会看到hashcat.exe可执行文件。你可以使用hashcat命令来使用它。
使用hashcat的命令时,有一些常用的参数可以使用。例如,如果要破解一个8位数字密码,可以使用以下示例:
如果要破解一个由4位小写字母和数字组成的密码,可以使用以下示例:
如果要破解一个由1到4位大写字母和数字组成的密码,可以使用以下示例:
hashcat -a 3 --force 8fb5a3e7338ce951971d69be27fc5210 -1 ?u?d ?1?1?1?1 --increment --increment-min 1 --increment-max 4
hashcat -a 3 -1 123456abcdf!@+- 8b78ba5089b11326290bc15cf0b9a07d ?1?1?1?1?1
# 获取 rar 文件 hash
rar2john.exe text.rar
# 获取 rar 文件 hash
zip2john.exe text.zip
你还可以指定特定的字符集,比如123456abcdf!@+-,然后进行破解。
对于RAR和ZIP压缩文件的密码破解,首先需要获取RAR文件的哈希值。我们可以使用另一款哈希破解工具johntheripper来提取RAR文件中的哈希值。
你可以在这里下载rar2john工具,它可以获取各种文件的哈希值。
对于Office文件的密码破解过程与RAR和ZIP相同。我们需要先提取Office文件的哈希值,可以使用上面提到的johntheripper工具进行获取,目录下载中有一个office2john.py文件。
hashcat -a 3 -m 9600 '$office$*2013*100000*256*16*cd8856416b1e14' --force ?d?d?d?d?d?d
破解过程与之前相同。
对于WiFi密码的破解比较复杂,需要抓取WiFi的握手包。为了满足抓取条件,需要在监听时有设备刚好连接到该WiFi。你需要将其他设备踢下线,然后它们会自动重新连接到WiFi。这个过程比较复杂,我就不演示了,你可以参考其他资料。
总结起来,当我们破解密码时,通常会使用一些简单的密码进行演示,比如123456。但在实际情况中,我们可能会遇到各种类型的密码,而且密码的长度和类型都是未知的情况下,破解的难度会很大,甚至对计算机的性能要求也很高。
实际上,密码破解看似高深,但其实并不是。常用的方法是使用密码字典进行破解,而且有很多常见的弱密码可以使用。如果现有的字典无法破解密码,那么只能使用暴力破解或者掩码组合暴力破解的方式,这将非常困难。
Hashcat并不适合新手使用,而且也不要抱太大的期望。毕竟密码学并不是那么简单,如果Hashcat能破解大多数密码,那还需要密码干嘛呢?
但是现在很多人喜欢使用简单的密码,比如WiFi密码等等。使用密码字典仍然有一定的成功几率。如果连CMD5都无法破解,那就放弃吧。
# 获取 office 文件 hash
python office2john.py text.docx