返回介绍

8.2 密码破解

发布于 2024-10-13 11:41:09 字数 3840 浏览 0 评论 0 收藏 0

我最新的密码字典是最近的 41GB 密码转储,其中包含 14 亿用户名及其密码。现在,我不想直接提供 torrent 链接,因为其中包含很多敏感的用户名(或电子邮件)和相关密码,您可以搜索 BreachCompilation.tar.bz2 查找更多的相关信息。在下载这些非常敏感的信息之前,请查阅当地的法律条款。我建议您不要下载原始转储,而只是下载密码列表。我已经下载了 41 GB 转储,删除了所有用户名/电子邮件,只获取了密码字典。在我的个人主机上,使用 8x Gigabyte GV-N108TTURBO-11GD AORUS GeForce GTX 1080 Ti Turbo 11G 显卡。您可以自己搭建一个硬件,包括机箱、内存、电源、SSD 硬盘和 GPU 显卡。当然,机箱至少需要 4U 机架(例如,SYS-4028GR-TR2)和功率足够大的电源。虽然价格不菲,但我们可以每秒大约计算 472 000 000 000 个散列值,暴力破解 NTLM(Windows)散列值。这是 8 个 GPU 的 hashcat 基准测试,散列模式为 1000 - NTLM。

Speed.Dev.#1.....: 59436.3 MH/s (63.16ms)
Speed.Dev.#2.....: 58038.3 MH/s (64.70ms)
Speed.Dev.#3.....: 59104.4 MH/s (63.55ms)
Speed.Dev.#4.....: 59123.0 MH/s (63.52ms)
Speed.Dev.#5.....: 58899.7 MH/s (63.74ms)
Speed.Dev.#6.....: 59125.8 MH/s (63.51ms)
Speed.Dev.#7.....: 59256.3 MH/s (63.36ms)
Speed.Dev.#8.....: 59064.5 MH/s (63.56ms)
Speed.Dev.#*.....: 472.0 GH/s

对于那些买不起大型 GPU 设备的人来说,还有其他选择。虽然也不是很便宜,但您可以考虑云破解。最近,亚马逊云集成了 TESLA GPU(不是汽车),处理能力比 1080Ti 更强。在 Medium 上有一篇很棒的文章介绍如何基于这些 GPU 搭建破解服务器。

来自 Iraklis Mathiopoulos 论文的统计数据,散列模式为 1000 - NTLM。

Speed.Dev.#1.....: 79294.4 MH/s (33.81ms)
Speed.Dev.#2.....: 79376.5 MH/s (33.79ms)
Speed.Dev.#3.....: 79135.5 MH/s (33.88ms)
Speed.Dev.#4.....: 79051.6 MH/s (33.84ms)
Speed.Dev.#5.....: 79030.6 MH/s (33.85ms)
Speed.Dev.#6.....: 79395.3 MH/s (33.81ms)
Speed.Dev.#7.....: 79079.5 MH/s (33.83ms)
Speed.Dev.#8.....: 79350.7 MH/s (33.83ms)
Speed.Dev.#*.....: 633.7 GH/s

NTLM 计算总的速度比使用 TESLA GPU 大约快 34%。运行 AWS 云的总成本约为每小时 25 美元。因此,您需要统筹规划自己的预算、要求和目标。

实验

最近,Troy Hunt 在“Have I Been Pwned”网站上发布了一个密码散列的 SHA1 列表,压缩文件大小约为 5.3 GB。这是由以前泄露的数据生成的大字典,可以作为一份测试密码破解能力的实验数据。

随着这些 GPU 变得越来越快,10 个字符以下的密码可以在相对合理的时间范围内进行智能破解。其中一些使用设置合理的密码掩码可以实现破解,但在大多数情况下,需要使用密码字典破解。使用真实漏洞的密码字典是破解大于 12 个字符密码的一种极快的方法。查看过去所有的泄露数据,我们可以很快地了解人类如何创建密码、混淆密码的常用技巧以及常用的单词。

使用具有复杂规则集的这些密码字典,我们将能够快速破解密码(有时超过 25 个字符)。但是请记住,密码字典取决于构建方式和更新方式。作为红队,我们定期跟踪破解的所有账户,分析它们,并将它们添加到密码字典中。我们还需要不断监控新的数据泄露、pastebin/pastie 类型的网站等,查找新的密码。

常用的密码字典

  • berzerk0 Real-Password-WPA 密码字典。
  • 18.6 GB Uncompressed。
    • http://bit.ly/2EMs6am
  • berzerk0 Dictionary-Style 字典。
    • 1 GB Uncompressed
    • http://bit.ly/2GXRNus
  • Xato Million Passwords。
    • magnet:?xt=urn:btih:32E50D9656E101F54120ADA3CE73F7A65EC9D5CB
  • Hashes.org。
    • http://hashes.org/left.php
    • Multiple Gigabytes and growing daily
  • Crackstation。
    • 15 GB Uncompressed
  • Weakpass。
    • Tons of password lists
  • First20Hours。
    • 这个库包含按频率顺序排列的 10 000 个常见的英语单词列表,由 Google 的 Trillion Word Corpus 的 N-Gram 频率分析生成
  • SkullSecurity.org。
    • 很多老的字典库,例如 rockyou、myspace 和 phpbb
  • Daniel Miessler's Password Compilation。
  • Adeptus-mechanicus Hash dumps。

将好的密码字典进行组合,我们可以在这些密码字典之上,添加规则,查找更多密码。就 hashcat 而言,规则定义了是否需要对密码字典进行修改。介绍规则的一种方式是使用一个易于理解的例子。我们可以使用 KoreLogicRulesAppendYears 规则集,如下所示。

  • cAz"19[0-9][0-9]"。
  • Az"19[0-9][0-9]"。
  • cAz"20[01][0-9]"。
  • Az"20[01][0-9]"。

它会在每个密码后面附加 1949 年~2019 年的年份。如果密码字典中包含单词“hacker”,那么它会尝试计算字符串“hacker1949”~“hacker2019”的散列值。请记住,您制定的规则越复杂,完成单词列表所需的时间就越多。

幸运的是,我们不需要自己创建规则,因为已经有很多很好的规则。当然,还有默认的 hashcat 规则,它们来自许多较早的数据泄露,以及常见的密码操作方法。这是一个很好的起点。Kore 规则来自 Korelogic 的密码竞赛,是另外一个标准。另外,NSAKEY 和 Hob0Rules 这两个规则肯定需要更长的时间,但有非常详细的规则集。在过去,我应用所有规则,将它们放到一个文件中,并且唯一标识这个文件。但是现在,NotSoSecure 已经为您完成这个功能,规则如下。

  • Hashcat 规则。
  • Kore 规则。
  • NSAKEY Rules (One of my favorite) *Forked。
  • Praetorian-inc Hob0Rules *Forked。
  • NotSoSecure - One Rule to Rule Them All *Forked。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文