开篇寄语
曾经,伯衡君分享过一篇如何创建一个最安全的密码,400多万亿年都不容易破解的。那么问题来了,既然有最厚的盾,难道就没有最锋利的矛了?巧了,真有,本篇文章就来介绍一个开源项目,据称是世界上最快速的密码恢复工具。
前情提要
官方网站
项目地址
内容详情
Hashcat 是最快的密码恢复工具,它旨在在短时间内破解高度复杂的密码。而且这个工具还能够进行单词列表和暴力破解。
支持 Linux, Windows, and macOS, CPU、GPU 和其他硬件加速器。
特性
- 世界上最快的的密码恢复器
- 同时也是世界上第一个以及唯一的内核规则引擎
- 开源、自由
- 支持多平台多操作系统(Linux、Windows、macOS,CPU、GPU、APU 等)
- 支持分布式破解
- 支持交互式暂停、恢复
- 支持会话
- 支持还原
- 支持从文件和标准输入读入密码
- 支持十六进制盐和十六进制字符集
- 支持自动性能调优
- 内置基准测试系统
- 集成热监控器
- 支持 350 多种哈希算法
安装
以 Linux 系统安装为例,Windows 和 Mac 类似,可以在 Terminal 对应安装。
首先,确保您的 Linux 系统使用最新的程序和工具是最新的。
打开 Terminal,输入:
sudo apt update && sudo apt upgrade
Hashcat 通常预装在 Kali Linux 中。可以在密码破解部分下找到该工具。但是,如果需要在任何 Linux 发行版中手动安装它,请在终端中键入以下命令:
sudo apt-get install hashcat
要开始使用 Hashcat,我们需要一些密码哈希。如果您没有要破解的哈希,我们将首先创建一些哈希。
要使用命令行创建哈希,只需遵循以下格式。
echo -n "input" | algorithm | tr -d "-">>outputfiename
例如,您可以看到我使用下面的 md5 算法将一些单词转换为哈希值。
# echo -n "geekflare" | md5sum | tr -d "-">>crackhash.txt echo -n "password123" | md5sum | tr -d "-">>crackhash.txt echo -n "Webtechnology" | md5sum | tr -d "-">>crackhash.txt echo -n "microsoftteams" | md5sum | tr -d "-">>crackhash.txt echo -n "recyclebin" | md5sum | tr -d "-">>crackhash.txt
并且输出将保存在crackhash.txt 文件中。
现在我们将检查保存在给定文件中的哈希值。
# cat crackhash.txt 066d45208667198296e0688629e28b14 482c811da5d5b4bcd497ffeaa98491e3 72a2bc267579aae943326d17e14a8048 2192d208d304b75bcd00b29bc8de5024 caae8dd682acb088ed63e2d492fe1e13
以这个为基础,用 Hashcat 来进行破解。
下一步是在你的 Linux 机器上启动一个 Hashcat 工具。只需使用以下命令即可使用 Hashcat。
$ hashcat --help
它将显示运行该工具所需的所有选项。
命令的一般形式是:
$ hashcat -a num -m num hashfile wordlistfile
这里的“num”表示要使用的特定攻击和哈希模式。如果滚动终端,您可以找到每种攻击和哈希模式的确切数字,例如 md4 - 数字是 0,而 sha256 算法 - 数字是 1740。
如果说要使用的词表是rockyou wordlist,可以在路径 /usr/share/wordlists 中轻松找到该词表。
甚至可以使用 locate 命令来查找该词表路径:
# locate rockyou.txt
最后,要使用 wordlist 文件破解哈希,请使用以下命令:
hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt
运行此命令后,可能会遇到运行时错误,不过不用担心,这是正常的,可以轻松解决。
要解决此问题,请将每个哈希分别保存在不同的文件中。如果设备的 CPU 或 GPU 速度较低,则会出现此错误。如果配置具有高速处理器,则完全没有这个问题了。
所以在修复错误和一切之后,结果将是这样的。
# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt hashcat (v6.1.1) starting... OpenCL API (OpenCL 1.2 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project] ============================================================================================================================= * Device #1: pthread-Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz, 2403/2467 MB (1024 MB allocatable), 4MCU Minimum password length supported by kernel: 0 Maximum password length supported by kernel: 256 Hashes: 1 digests; 1 unique digests, 1 unique salts Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates Rules: 1 Dictionary cache built: * Filename..: rockyou.txt * Passwords.: 14344405 * Bytes.....: 139921671 * Keyspace..: 14344398 * Runtime...: 1 sec 8276b0e763d7c9044d255e025fe0c212: geekflare@987654 Session..........: hashcat Status...........: Cracked Hash.Name........: MD5 Hash.Target......: 8276b0e763d7c9044d255e025fe0c212 Time.Started.....: Sun Dec 12 08:06:15 2021 (0 secs) Time.Estimated...: Sun Dec 12 08:06:15 2021 (0 secs) Guess.Base.......: File (rockyou.txt) Guess.Queue......: 1/1 (100.00%) Speed.#1.........: 1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8 Recovered........: 1/1 (100.00%) Digests Progress.........: 4096/14344398 (0.03%) Rejected.........: 0/4096 (0.00%) Restore.Point....: 0/14344398 (0.00%) Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1 Candidates.#1....: 123456 -> pampam Started: Sun Dec 12 08:06:13 2021 Stopped: Sun Dec 12 08:06:16 2021
可以看到,密码已经被恢复了,是不是很简单呢?
ArrayArrayArray- 我的微信
- 微信扫一扫加好友
- 我的微信公众号
- 扫描关注公众号