Ethical Hacking Academy · 课时

破解哈希

识别并发起攻击

第 4 / 4 课13 个步骤

破解哈希 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。

为什么要破解哈希?

在安全测试过程中,您经常会从数据库、配置文件或内存转储中获取密码哈希。破解这些哈希可以确认密码是否薄弱,并向客户展示真实影响。

请记住:哈希是单向的,无法直接还原哈希。您需要猜测输入,对每个猜测值进行哈希,然后与目标哈希进行比较。

第 1 步:识别哈希

在破解之前,您必须知道哈希由哪种算法生成。长度和格式可以提供线索:

  • 32 个十六进制字符,通常是 MD5。
  • 40 个十六进制字符,通常是 SHA-1。
  • 64 个十六进制字符,通常是 SHA-256。
  • 以 $2b$ 开头表示 bcrypt;以 $argon2 开头表示 Argon2。

识别工具

工具可以自动识别哈希,这样您就不必靠猜测。hashid 和 hash-identifier 会分析格式,并建议可能使用的算法。

工具输出的结果可以帮助您确定应向破解工具传入哪个 mode 编号。

hashid '5f4dcc3b5aa765d61d8327deb882cf99'
# Suggests: MD5, MD4, NTLM ...

字典攻击

字典(词表)攻击会尝试列表中的每个单词,对每个单词进行哈希并比较结果。它速度快,能够破解大量使用常见密码的账户。

著名的 rockyou.txt 词表包含数百万个真实泄露的密码,是大多数破解任务的默认起点。

暴力破解攻击

暴力破解会尝试所有可能的字符组合。它最终一定能够成功,但所需成本呈指数增长。

您可以使用掩码限制搜索范围,例如指定密码必须正好由 8 个小写字母和数字组成。当您了解密码策略时,掩码可以让定向暴力破解变得可行。

?l = lowercase  ?u = uppercase  ?d = digit  ?s = symbol
# Mask ?u?l?l?l?l?d?d = Capital + 4 lower + 2 digits

基于规则的攻击

人们通常会以可预测的方式修改基础单词:'password' 会变成 'Password1!'。基于规则的攻击会对词表中的每个条目应用转换(首字母大写、追加年份、将字母替换为数字等)。

这种方法无需承担完整暴力破解的成本,就能捕获符合现实情况的人类密码。best64 规则集是常用且高效的起点。

Hashcat

hashcat 是领先的 GPU 加速破解工具。它为每种算法使用数字模式代码,并使用攻击模式标志(-a 0 表示字典攻击,-a 3 表示暴力破解)。

对于 MD5 和 SHA 等快速哈希,GPU 可以让 hashcat 比使用 CPU 破解快得多。

hashcat -m 0 -a 0 hashes.txt rockyou.txt
# -m 0 = MD5, -a 0 = dictionary attack

John the Ripper

John the Ripper 是另一款经典的破解工具,擅长利用 CPU,并支持多种格式。它通常可以自动检测哈希类型。

John 提供了实用的辅助工具,例如 unshadow,可将 Linux 的 /etc/passwd 和 /etc/shadow 合并为一个可破解的文件。

unshadow /etc/passwd /etc/shadow > combined.txt
john --wordlist=rockyou.txt combined.txt
john --show combined.txt

盐值与慢速哈希为何有效

破解速度在很大程度上取决于所用算法:

  • GPU 每秒可以尝试数十亿个 MD5 猜测值。
  • bcrypt 或 Argon2 按设计每秒可能只能尝试几千个。

盐值还会迫使您分别破解每个哈希值,从而消除彩虹表这一捷径。这正是防御者使用带盐慢速哈希的原因。

在线查询与道德规范

对于未加盐的快速哈希,CrackStation 之类的在线数据库保存了预先计算的查询结果,通常可以立即破解常见哈希。

道德规范:只能破解您获授权进行测试的哈希。未经许可破解真实凭据属于违法行为。在安全测试过程中,请将已破解的密码作为密码策略薄弱的证据报告,绝不要恶意重复使用这些密码。

估算所需工作量

在投入数小时进行破解之前,请先评估其可行性:

  • 算法速度:MD5 破解速度快;bcrypt 按设计运行缓慢。
  • 密码复杂度:密码长度和字符集越大,密钥空间增长越快。
  • 硬件:性能强大的 GPU 集群远胜于笔记本电脑的 CPU。

如果一个带盐的 bcrypt 哈希对应一个较长的随机密码,破解可能需要数百年,那么您应当转向其他攻击路径,而不是继续进行暴力破解。

快速检查

您获取了一份数据库转储。请判断最明智的第一步是什么。

回顾

您已经学习了破解哈希的工作流程:

  • 使用哈希识别工具,根据长度和格式识别算法。
  • 按照成本逐步升级攻击方式:先使用字典,再使用规则,最后使用掩码暴力破解。
  • 使用哈希猫(GPU)和约翰开膛手(CPU,自动检测)。
  • 盐值和慢速哈希(bcrypt、Argon2)会大幅降低破解速度。
  • 始终确保操作在授权范围内。

本节“黑客密码学”到此结束。下一模块:匿名性与 OPSEC。

免费开始

用 AI 导师学习 Ethical Hacking Academy — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
31
课程
111

常见问题解答

「破解哈希」课时是免费的吗?

是的 — 「破解哈希」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。

「破解哈希」这节课中我会学到什么?

识别并发起攻击 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ethical Hacking Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「破解哈希」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?

能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 编码与加密
  2. 哈希
  3. 对称与非对称加密
  4. 破解哈希
← 返回 Ethical Hacking Academy