WPAパスワードを解読しようとしていて、そのための仮想マシンセットアップを作成する必要があるとします。特定の時間数に制限すると、セットアップはどうなりますか(たとえば、24時間とパスワードは8文字の英数字です)。
私の設定が出口になるかを決定するために使用できる式はありますか? GPU、CPU、RAM=の計算方法は、指定された制限時間内に完了する必要があります。
パスフレーズがランダムに生成されたと仮定すると、完全ブルートフォース攻撃の計算を実行するために必要な2つの情報は次のとおりです。
キースペース。これが可能な組み合わせの数です。この場合、大文字26、小文字26、10桁= 62文字、8桁(つまり、62 ^ 8、62の8乗、または62x62x62x62x62x62x62x62)。
実際のGPUクラッキング速度。これはプラットフォームによって大きく異なります。 hashcatなどのツールのベンチマーク数値は、実際の攻撃では通常達成できない理想的な条件下で生成されるため、実際の攻撃を実行することは、実際のスループットを決定し、ターゲットスケールに一致するように計算するためのゴールドスタンダードです。 。
これは、6 GTX 1080で実行されている、質問のパラメーターでの攻撃です。
$ hashcat -a 3 -m 2500 -2 ?l?u?d hashcat-wpa2.hccapx ?2?2?2?2?2?2?2?2
hashcat (v4.1.0) starting...
OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #2: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #3: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #4: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #5: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #6: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
[...]
Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Applicable optimizers:
* Zero-Byte
* Single-Hash
* Single-Salt
* Brute-Force
* Slow-Hash-SIMD-LOOP
Password length minimum: 8
Password length maximum: 63
Watchdog: Temperature abort trigger set to 90c
[...]
Session..........: hashcat
Status...........: Running
Hash.Type........: WPA/WPA2
Hash.Target......: 8381533406003807685881523 (AP:ae:f5:0f:22:80:1c STA:98:7b:dc:f9:f9:50)
Time.Started.....: Wed Apr 25 06:39:06 2018 (4 mins, 40 secs)
Time.Estimated...: Sat Oct 23 07:02:24 2021 (3 years, 181 days)
Guess.Mask.......: ?2?2?2?2?2?2?2?2 [8]
Guess.Charset....: -1 Undefined, -2 ?l?u?d, -3 Undefined, -4 Undefined
Guess.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....: 332.4 kH/s (6.93ms)
Speed.Dev.#2.....: 327.8 kH/s (7.06ms)
Speed.Dev.#3.....: 329.5 kH/s (7.00ms)
Speed.Dev.#4.....: 328.7 kH/s (7.01ms)
Speed.Dev.#5.....: 330.4 kH/s (6.96ms)
Speed.Dev.#6.....: 330.1 kH/s (6.98ms)
Speed.Dev.#*.....: 1979.0 kH/s
Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 553451520/218340105584896 (0.00%)
Rejected.........: 0/553451520 (0.00%)
Restore.Point....: 8437760/3521614606208 (0.00%)
Candidates.#1....: etET7778 -> exQC5678
Candidates.#2....: 1BDpERIN -> 1r8tBONA
Candidates.#3....: l5MUQURL -> lEeqNANA
Candidates.#4....: bjHuRANA -> bCLfNANA
Candidates.#5....: 2Rh7MANA -> 2VLbLESS
Candidates.#6....: rFrR7778 -> r0xsANAN
そのハッシュとその攻撃に対するGPUのパフォーマンスがわかったら、その速度をGPUの数で乗算(またはその推定時間を除算)できます。複数のシャーシにまたがってスケールアウトする必要がある場合、 Hashtopolis または hashview のようなツールでシステムのクラスターを管理できます。上記のようなシステムが10個ある場合、キースペースを完全に使い切るには1275日/ 10 =約4か月かかります(平均的なケースを解読するには約2か月)。あなたはアイデアを得ます。
他のキャパシティの質問については、実際には、hashcatを使用する場合、攻撃自体に多くのCPUは必要ありません。最近のバージョンのhashcatは、ホストシステムにGPUメモリの総量としておおよそRAMまとめると48GのGPUメモリがありますが、32GBのRAMでWPA2には問題なく動作します。ただし、このメモリの経験則は、一般的なシステムビルドのアドバイスに適しています。
今までに明らかなように、24時間しかなく、パスフレーズがランダムに生成された場合、それほど遠くに行くことはできません。しかし、上記は計算を実行するのに役立ちます。
TL; DR:ランダムパスワードには不適切です
辞書攻撃を使用できない場合(パスワードは完全にランダムです)、つまり628 = 218 340 105 584 896≈2 * 1014 可能な組み合わせ。 this によると、楽観的に10を得ることができます8 CPUコアでのAES-256オペレーション/秒。 1日足らずで解読するには、24コアが必要です。仮想化によって処理速度が低下する可能性があるため、特に仮想マシンでは、確認が必要です。 GPUをスローする方が良いアイデアかもしれませんが、GPUは特定のAES命令を許可しないため、パフォーマンスは少なくとも10倍悪くなり、おそらく20に近いものになります。
それでも、 WPA2がPBKDF2を使用しなかった場合 で4096回の反復を実行した場合は、それで十分です。したがって、CPUコアが1 msで実行できると仮定すると、私のVeraCryptベンチマークによれば、これは楽観的です。あなたは10が必要になります14/24/3600/1000 = 1157408 CPUコア。 100万以上! GPUコアのパフォーマンスが同等であったとしても、1日でそれを壊すのはそれでも約500-1000の最新のGPUであり、それは道のあらゆる段階で楽観的です。