本文档主要适用于已经爱上密码破解并准备将他们的关系提升到新水平的人。 如果您是哈希破解的新手,请不要因为这份文件而气馁!虽然您确实不应该破解密码 在笔记本电脑或低/中端台式机上,甚至是电力/冷却不足的 HEDT,这可能是您可用的全部 第一次开始,没关系!作为初学者,只要您保持较轻的工作量(或 )并保持相当短的运行时间(最多 30 分钟 - 1 小时),这些系统就可以学习。当您开始学习绳索时,您将 想要满足您对更快速度的渴望,这时本文档对您来说将更有价值。在那之前,利用你所拥有的,尽情享受 学习! hashcat -w 1hashcat -w 2
密码破解无疑是您可以给计算机带来的最残酷的工作量——绝对不会像密码那样对计算机硬件造成任何负担 破解确实如此。因此,虽然从技术上讲,几乎可以使用处理器破解任何设备的密码,但您可以在许多设备上使用 可能不应该尝试破解密码,例如您的手机、特斯拉的信息娱乐系统或赌场 ATM。尝试破解 在并非为长时间处理持续计算工作负载而设计的系统上,密码将无疑确保它们过早地消亡。 因此,如果您设法让您的 Nintendo Switch 上运行 Hashcat,请为明天购买新的 Nintendo Switch 做好充分准备。
通常不建议在笔记本电脑上破解密码。大多数笔记本电脑没有独立的 GPU,而是具有集成的 GPU 或 一个 APU。大多数具有独立 GPU 的笔记本电脑没有针对计算工作负载的适当冷却,因为 GPU 和 CPU 通常共享一个 普通热管和散热器。如果您碰巧拥有一台超高端的“台式替代笔记本电脑”或带有台式机级 GPU 的“移动工作站”, 那么您实际上可能为您的 GPU 和 CPU 提供了离散的热区,因此实际上可能能够摆脱笔记本电脑的破裂。为 例如,我有一台配备 GTX 1060 的 Clevo P650HP 和一台配备 Quadro P4200 的 Dell Precision 7530,这两者都可以实际处理完整的计算工作负载 () 的持续时间适中(但当我触摸键盘时并非没有烫伤我的手指)。但是,不要指望 即使是最高端的移动工作站也能获得惊人的速度,因为这些设备仍然是相对低功耗的设备 (< 200W),性能 反映这样。hashcat -w 3
在您当前的桌面上破解密码也可能是不可取的。低/中端台式机通常具有集成的 GPU、APU 或低端 功率预算 GPU,根本无法处理计算工作负载。即使是高端游戏台式机也可能没有具有足够冷却的 GPU 或机箱 用于密码破解工作负载。如果您发现您的温度飙升超过 90°C,那么是时候掏空您的钱包了。
最后,虽然 GPU 挖矿设备在技术上是为专用计算工作负载设计的(但仅限于最狭义的定义),但它们往往 在构建专用 Cracking Rig 时,几乎打破了所有规则。这些 Rig 旨在对单个 目标哈希,并为此所需的绝对最少的硬件数量,以尽可能降低运营开销和利润 尽可能高。这与您想要的密码破解设备截然相反。虽然您可以使用 GPU 挖矿设备来处理一些密码破解工作负载,并且您可能会发布一些令人兴奋的数字,但您最终会遇到问题 当尝试做任何有趣或有价值的事情时。如果你已经有了硬件,你不妨使用它,直到你开始碰壁。否则 请不要急于从 eBay 上购买 Milkcrate 矿机。hashcat -b
构建一个合适的密码破解工具远非将一大堆 GPU 塞进计算机然后收工那么简单。想象一下运行 在您的系统上进行有史以来最邪恶的压力测试,然后连续运行数天/数周/数月 — 嗯,这就是密码 裂化。功耗和散热是您必须与之抗争的主要恶魔,但实际上,您为装备选择的所有组件都必须平衡 并经过深思熟虑。认真地。如果你想做对这件事,你可以削减的角落很少(如果有的话)。
供电是构建作密码破解设备的关键方面。你必须理解一些基本的电气概念 () 并能够进行一些基本的数学运算,因为如果你弄错了这部分......最好的情况是,您弹出一个 断路器;最坏的情况是,您引发火灾,导致财产损失、受伤甚至可能死亡。W = V × A × PF
确保您将设备插入的电源插座能够支持您的设备将消耗的电量。最现代 住宅电路只有 15 或 20 安培 (110V),您不应在电路上放置超过 80% 的负载(例如,12A 电路为 15A,16A 电路为 16A 一个 20A 电路。根据您拥有的 GPU 数量,您的设备消耗的电流可能会比这大得多。而且您的装备可能不是唯一的 在电路上汲取能量的东西(您将与照明、微波炉、日立等竞争电子)
此外,请注意电源的功率因数。您的电源的工作是将来自墙壁的交流电转换为可用的直流电, 它无法以完美的效率做到这一点。电源在 50% 负载(通常为 85% - 95%)时效率最高,通常仅为 80% - 92% 在 100% 负载下高效。假设您有一台具有 4 个 RTX 2080 的钻机,其总组件功耗为 1320W,但您的电源效率仅为 85% 100% 负载:
1320W active power ÷ 0.85 power factor ≈ 1553W apparent power
虽然您的总组件功耗可能只有 1320W(有功功率),但由于电源的功率因数,您实际上从中汲取的功率超过 1550W 插座(视在功率。这似乎没什么大不了的,直到您进行数学计算并意识到,虽然 15A 110V 电路可以支持 1320W, 它不能安全地支持 1550W。同样,重要的是要了解电源的额定瓦数是瓦特数 它能够交付给您的组件 — 它是一个输出额定值,而不是输入额定值。如果您有 1600W 电源,则 满载时的功率因数为 87%,您的电源实际上能够从插座汲取 1839W 的功率。您可以详细了解 80 Plus 认证网站上各种负载下的电源功率因数和效率。
关于电源,请确保您使用的优质电源能够提供系统所需的功率。你可能需要更多 而不是一个电源,具体取决于装备中 GPU 和其他组件的数量,特别是如果您拥有像 AMD Threadripper 这样耗电的 CPU。 您的电源应至少达到 80 Plus Gold 级,理想情况下应能够为整个系统的 120% - 200% 供电 负载下的功耗。请记住,当电源处于 20% - 50% 负载范围内时,它们的效率最高(具有最高的功率因数)。
此外 - 这一点非常重要 - 不要购买或使用廉价或尺寸过小的电源。我再说一遍, 因为这绝对至关重要:不要在密码破解设备中使用廉价或尺寸过小的电源。你会点燃一把火。一个 真的他妈的火,克雷格。一场火焰的火。真正的火焰。燃烧的那种。在某些领域,您可以偷工减料以节省开支 成本在你的密码破解设备中,但电源绝对不能是一个让你便宜的领域。
最后,确保您使用的电源线具有足够的规格。大多数电源 — 甚至是能够提供 >1000 瓦特的电源 — 随附脆弱的 18 AWG C13 电源线,这些电缆会很快过热和熔化。您可能至少需要使用 16 AWG 电源线,并且 如果您有一个巨大的 1500W+ 电源,则需要 14 AWG 电源线。
底盘,也称为外壳,是您构建的基础。您为钻机选择的机箱必须足够大以容纳 您计划安装的硬件,同时还要支持适当数量的电源,并为 Strong 提供通畅的直线路径 正气流。大多数中塔式 ATX 机箱只能支持 2 个或 3 个 GPU,而全塔式和超塔式 EATX / SSI-EEB 机箱可以支持 4 个 GPU 或 5 个 GPU。专用服务器机箱可容纳多个电源,并支持 8 个、10 个、16 个甚至 20 个(单宽)GPU。
几乎可以肯定,您的机箱随附的备用风扇将严重不足以容纳您的钻机产生的热量(有一些例外 但假装没有。您需要将库存风扇更换为高 CFM、高静压风扇。Delta 和 San Ace 是不错的选择, 但请注意,其中一些风扇每个可以消耗高达 75W 的功率。此外,这些风扇可能会非常响亮,这可能会让某些人感到困扰。水冷可能是 在某些情况下,这是一个合适的替代方案。
如果您想在机箱选择方面轻松获胜,Tyan 和 Supermicro 都提供专为 GPGPU 计算设计的服务器准系统 (购买者警告:其中许多机箱专为低功耗、被动冷却的服务器 GPU(如 NVIDIA Tesla)而设计,无法容纳台式机 GPU。
如果您是 n00b,您可能想知道为什么我们不谈论游戏或图形时却一直在谈论显卡。或者,也许您已经知道 GPU 用于密码破解,但并不真正理解为什么。嗯,密码破解就是所谓的令人尴尬的并行问题(几乎不需要努力将问题拆分为多个并行任务),因此,密码破解工作负载从 排比。这意味着我们处理问题的处理器越多,等待任务完成所需的时间就越短。您的 CPU 可能已 介于 4 - 16 个内核之间,并且通过同步多线程(SMT,也称为超线程)可能能够支持 8 - 32 个执行 线程。使用单指令多数据 (SIMD) 指令,您可以同时执行 16 - 256 个计算。这 可能看起来很多,但你是对的——确实如此!或者至少会是这样,如果不是因为 GPU 有一大堆核心。现代高端 GPU 可以有 2560 - 5120 个内核,虽然与 CPU 中的内核相比,它们的速度较慢且功能有限,但已经足够了 它们使 GPU 的速度比 CPU 快 100+ 倍,用于密码破解工作负载。性能也会随着您添加到装备中的每个 GPU 而线性扩展! 因此,如果您的设备中有 10× RTX 2080 Ti,您将拥有一个高潮般的 43,520 个 GPU 内核供您使用,永远不会推动任何像素。
为了更好地理解此概念,下面是一个说明性示例:
假设您拥有一家 19 世纪的布丁工厂(工业革命前)。制作美味的香蕉布丁需要许多吨香蕉, 但是所有这些香蕉都必须先去皮(一个令人尴尬的平行问题)。您和您的 5 个业务合作伙伴(一个多核 CPU)真的是 聪明的商人,而且完全有能力剥香蕉;事实上,您知道最好的香蕉去皮方法,并且可以制作复杂的香蕉- 相关决定。但是你们六个人一天不能剥很多香蕉。即使您每只手去一根香蕉 (SMT) 或去四根香蕉 在每只手 (SIMD) 中,仍然需要很多周的时间才能将所有香蕉去皮。该死的香蕉太多了!因此,您决定招聘和培训 10,000 名员工 猴子 (GPU) 为您剥香蕉。猴子不是很快,也不是很聪明;为什么,他们对 制作香蕉布丁并经营工厂!但是,由于 10,000 个用户同时工作,他们肯定可以从一些香蕉中剥皮—— 事实上,他们可以在一个早上将它们全部剥皮!如果您给猴子可卡因*(超频),它们可以工作得更快。但要小心,就像有时一样 猴子过热,因疲惫而昏倒(从公共汽车上掉下来),或者完全停止听指令(ASIC 挂起)。
* 法律免责声明:切勿在未提供足够冷却的情况下给 10,000 只猴子服用可卡因。
从这个例子中,可以清楚地看出我们为什么使用 GPU 来破解密码。如果不是,它至少应该为人员配备提供足够的理由 你的维多利亚布丁工厂,里面有焦头烂额的猴子。
So which GPU should you use in your rig? Well, once upon a time ATi / AMD reigned supreme in the password cracking world. With more cores than NVIDIA plus special hardware instructions (BIT_ALIGN and BFI_INT) that enabled them to reduce the number of instructions needed to calculate a hash value, ATi / AMD GPUs were easily 4× faster than their rivals. But NVIDIA stole the crown from AMD back in 2014 with the release of their Maxwell architecture (GTX 900 series) and AMD have yet to win it back (and quite likely never will.) So you unequivocally will want to use modern NVIDIA GPUs in your rig.
But which NVIDIA GPUs, you ask? Great question! You want to use desktop GPUs (GTX / RTX), not workstation (Quadro) or server (Tesla) GPUs, even if you are using a server chassis. Why, you ask? You sure do ask a lot of questions. You know I'm not getting paid for this, right? They literally have me chained to a desk in a musty basement, forcing me to write all this for you on an Eee PC 700. I haven't eaten in a month and I defecate through a hole in the chair. Please send help. Oh shit, they're coming; be cool, you know nothing. *Types out loud* ... H A P P Y T O ... A N S W E R ... T H A T Q U E S T I O N ... F O R ... Y O U... Right, so, first reason is that desktop GPUs are an order of magnitude or two less expensive, as desktop GPUs are subsidized by gamers and you have an economy of scale working in your favor. Workstation and server GPUs also have features that you'll never use for password cracking (such as FP64 performance), so you're paying extra for basically nothing. If you're really into giving away assloads of money for absolutely nothing in return, I will happily give you my ACH info. Second, workstation and server GPUs are traditionally slightly slower than desktop GPUs for password cracking workloads. There have been some recent exceptions to this — chiefly the Tesla P100 and V100 — but even though they're faster they cost more than a human liver. We typically measure a GPU's value in terms of performance per dollar and performance per watt. Pick your most-used algorithm (if you're in a corp environment this will likely be NTLM) and divide the hashrate of the GPU by how much it costs. You will see the perf:dollar ratio for Titan, Quadro, and Tesla GPUs are abysmally low, while flagship desktop GPUs (model numbers ending in "80") have the best perf:dollar ratios. Similarly, steer clear of mid-range and low-end GPUs. While the price tag may look attractive, their perf:dollar ratios reveal they're a waste of money.
So you now know to buy high-end NVIDIA desktop GPUs with the highest perf:dollar ratios, but there's still one critical piece of information I haven't yet told you, so DELETE THAT GPU FROM YOUR NEWEGG CART, CRAIG. FUCK. You need to buy GPUs with a blower-style fan and a heatsink with horizontal fins. Do NOT buy GPUs with axial fans and a heatsink with vertical fins. Just because a GPU has two or three fans does NOT mean it will have better cooling than a GPU with a single blower fan — quite the opposite is true. Those flashy multiple-fan GPU coolers actually vent hot air into your chassis rather than out of it, and are designed to handle "bursty" workloads (like gaming) and absolutely cannot cope with sustained compute workloads. Simply put:
First and foremost, your CPU selection will be primarily driven by your motherboard selection. So pick your motherboard first. There's not even much to say about that, and that's why motherboard doesn't have its own section. Get what supports you need, it's as simple as that.
许多人错误地认为,如果您打算只进行 GPU 破解,那么在破解设备中安装什么 CPU 并不重要。这种心态 主要源于挖矿社区,在那里你想购买最便宜、最糟糕的 CPU,以保持较低的基础设施成本。但是密码 开裂不是挖矿。这他妈的不是,CRAIG。我不在乎你在 REDDIT 上看到什么。虽然您选择的 CPU 将在很大程度上由 选择主板,还是有一些规则需要遵循的。
一般来说,您的 CPU 需要有 N + 2 个可用于 GPU 破解的线程,其中 N 是装备中的 GPU 数量。例如 如果您有一个 8 GPU 的装备,那么您的 CPU 需要能够支持 10 个线程。具有同步多线程 (SMT,例如 Intel) 的四核 CPU HyperThreading)仅支持 8 个线程,这会让你有点缺乏资源;带有 SMT 的六核 CPU 会更合适。
如果您使用的是双插槽主板,请注意您的主板是 Single Root Complex 还是 Dual Root Complex。单根复合物 意味着所有 GPU 都通过单个 CPU 进行路由,而双根复合体意味着一半的 GPU 通过一个 CPU 进行路由,另一半通过 第二个 CPU。如果您的电路板是 Single Root Complex,这通常意味着只要您有足够的线程,您就可以只安装一个 CPU 以支持 GPU 的数量。
另外,请记住,虽然您认为您可能只会进行 GPU 破解,但实际上您肯定不会。某些算法不适合 GPU 加速,您将需要使用 CPU。即使算法适合 GPU 加速,攻击在 CPU 上仍然可能更有效(对于 例如,针对快速哈希算法的直接字典攻击,或者针对具有数亿个哈希的哈希列表时。您将 还需要做一些事情,比如 wordlist 操作、规则集生成、potfile 解析等,你不希望这些任务的 CPU 太慢。
最后,让我们谈谈品牌。同样,这主要取决于您选择的主板。但是,如果可以选择,请选择 AMD。英特尔是 很长一段时间,但 AMD 终于自 2006 年以来第一次再次具有竞争力,他们绝对用 EPYC、Threadripper 和 Ryzen 碾压了它。 如果您在选择 CPU 时需要帮助,请查看 Passmark 的高端 CPU 和 CPU 性价比图表。我个人不会考虑 不购买 CPU Mark 分数低于 15,000 的任何东西。
这也主要取决于您选择的主板,但需要遵循两条硬性规定:
规则 #0:您需要的主机内存至少是视频内存的两倍。
Host RAM ≥ 2 × VRAM
因此,如果您有 8 个× RTX 2080 SUPER,每个 8GB VRAM,那么您至少需要 64GB 的主机内存。您也许可以花一点时间少一点 while,但是当你开始做更高级的事情时,你会收到CL_OUT_OF_HOST_MEMORY错误。
规则 #1:始终购买信誉良好的名牌 RAM。不要购买便宜的 RAM。不要购买非品牌 RAM。不要购买翻新的 RAM。不要购买 公羊卡车。不要购买字面上的 ram。
跟我重复:
I do not need multiple terabytes of storage for rainbow tables. I do not need multiple terabytes of storage for rainbow tables. I do not need multiple terabytes of storage for rainbow tables. I do not need multiple terabytes of storage for rainbow tables. I do not need multiple terabytes of storage for rainbow tables.
现在是 2020 年,我仍然至少每个季度都会有人问我关于彩虹桌的事情。彩虹桌是过去的古老遗迹,根本没有位置 在现代密码破解中。现代密码破解是高度动态的,需要敏捷性、灵活性和可扩展性。Rainbow 桌子是静态的、刚性的,并且不是 完全可扩展 - 它们是现代密码破解的对立面。当您看看世界上最成功的密码破解程序 — Hashcat 团队、团队 CynoSure Prime、Radeon 9800 团队 — 您会发现,近十年来,他们都没有接触过彩虹表。所以,您不需要数 TB 的 彩虹表存储。您甚至不需要 1 TB 的存储空间来存储您的密码破解设备。说真的,即使是 250 GB 也可能比你用过的磁盘多得多,除非 你正在做一些疯狂的密码短语研究什么的。
许多人的印象是磁盘读/写速度和 IOPS 对于破解钻机来说无关紧要,但我向你保证,他们肯定是这样。如果可能,请使用 NVMe 存储是迄今为止您最好的选择。如果不可能,SATA SSD 也可以正常工作。与 RAM 一样,尽量坚持使用知名品牌的高端型号。
有一句古老的计算机谚语说“不要根据您使用的作系统来选择您的应用程序;根据您使用的应用程序选择您的作系统。我其实不知道那是不是 真正的谚语,或者如果这只是我有一天想到的、过去十年来一直在重复的一些废话;无论哪种方式,这都是绝对正确的。请记住这一点, 明确的选择是 Ubuntu Linux。Ubuntu 是唯一一个始终如一地提供出色的 OpenCL 和专有 GPU 驱动程序支持的 Linux 发行版,而 Hashcat 是 也在 Ubuntu 上开发,这几乎可以保证您将获得 Ubuntu 的整体最佳体验。其他 Linux 发行版具有不同的程度 的 OpenCL 和专有 GPU 驱动程序支持,其中 Fedora 和 Arch 等尖端发行版使用起来最痛苦。众所周知,Kali 一直 OpenCL 支持不佳。
如果您对 Linux 不满意,Windows 也是一个可用的选择。但是,如果您确实使用 Windows,则需要使用 Cygwin、WSL 或类似产品对其进行补充,例如 成功的密码破解程序大量使用诸如 、 和 、 以及快速的 'n dirty shell 脚本 Perl 脚本和 Python 脚本。所有这些东西都是 Linux 的有机功能,但您必须竭尽全力让它们在 Windows 上可用。awkgrepsed
如果 Windows 的想法绝对让您感到恶心,并且您也恰好是一个“从不 Linux”的灰胡子,那么 FreeBSD 和 Solaris 可能是可行的选择,具体取决于 您使用的 GPU。不幸的是,macOS 不再是一个可行的选择,因为 Apple 已经弃用了 OpenCL 支持,转而支持 Metal,并且它们永远滞后于 较新的 GPU。
如果可能的话,您的破解装置应该是无头的(没有监视器)。破解密码和同时使用图形桌面相当困难,因为您的 GPU 将忙于处理数字而无法更新您的显示。如果您使用的是 Linux 并且坚持使用图形桌面,请尝试运行裸窗口管理器(例如 如 blackbox、openbox、i3 或 xmonad),而无需桌面管理器(例如 Gnome、KDE、XFCE 或 Mate)来使桌面负载尽可能轻。