今回は、GPUを使ったZipファイルパスワードの解析方法について紹介します。前回はCPUパワーのみで実施しましたが、GPUを用いることにより格段に解析がスピードアップすることを示します。
はじめに
まだ送る?パスワードzipファイルの配布プロセスとzip解析では、暗号化したZipファイルの送信プロセスとファイル解析について記載しました。その時の解析はCPUパワーのみを用いたもので約10分程度要しました。今回はGPUを用いるとどのくらい解析が早くなるかを試行します。環境は同じCPUとWindowsを使用し、GeForceのグラフィックボードを追加します。
環境構成
暗号化zipファイル準備
適当なサイズのファイルをツール7zを用いて暗号化しました。パスワードは前回と同じく”zansin”です。手順の詳細は、まだ送る?パスワードzipファイルの配布プロセスとzip解析を参照してください。
zip2johnのインストール
zipファイルからハッシュ値を抜き出すために必要なツールzip2johnはJohnTheRipperの中に含まれています。なので、John the Ripperからモジュールをダウンロードします。もしくは、初めからインストールされているKali Linuxを使用してください。
GPUドライバインストール
各環境に合わせて、GPUのドライバをインストールしておいてください。
AMD GPUs on Linux require “RadeonOpenCompute (ROCm)” Software Platform (3.1 or later) |
AMD GPUs on Windows require “AMD Radeon Adrenalin 2020 Edition” (20.2.2 or later) |
Intel CPUs require “OpenCL Runtime for Intel Core and Intel Xeon Processors” (16.1.1 or later) |
NVIDIA GPUs require “NVIDIA Driver” (440.64 or later) and “CUDA Toolkit” (9.0 or later) |
hashcatのインストール
hashcatをWindowsにインストールします。hashcatは公式サイトから、バージョン6.1.1をダウンロードしました。7zを適当なフォルダに展開しておきます。
また、下記コマンドを実行してGPUが使用できることを確認してください。
hashcat.exe -I
Hash Crack: Password Cracking Manual (v3) 新品価格 |
ハッシュ値取得
ハッシュ値は、出力結果の、”$pkzip2$…$/pkzip2$”を必要とします。
今回は、Kali Linuxを用いて、下記コマンドで出力しました。
zip2john dummy.zip | cut -d ":" -f 2 > hash.txt
解析
利用したマシンスペックは、前回と同じくCore i5 9400F(2.4GHz) + GeForce GTX 1070です。
zip解析にはパラメータが必要なので、下記から条件に合いそうな数値を選択します。今回は17200を使用します。hashcatのパラメーターは、こちらで確認することができます。
-m値 | 説明 |
17200 | PKZIP (Compressed) |
17220 | PKZIP (Compressed Multi-File) |
17225 | PKZIP (Mixed Multi-File) |
17230 | PKZIP (Mixed Multi-File Checksum-Only) |
17210 | PKZIP (Uncompressed) |
ブルートフォース攻撃で、前回の条件で付けたかった6桁であることを知っていることとし、下記コマンドで検証します。
hashcat.exe -m 17200 -a 3 -w 4 hash.txt ?a?a?a?a?a?a
結果は以下の様に、20秒足らずで完了しました。
まとめ
GPUを用いたパスワード解析は強力です。庶民機を用いても、ある程度の速度で解析結果を返してくる場合が多々存在します。Zipプロセスはもとより、暗号化という手法だけを過信せずに、強力なパスワードで運用するように心がけましょう。
zipとは別ファイルのパスワード解析手順は、Hashcat活用!色々なパスワード解析方法も参照してください。
以上、GPUでZipパスワード解析の紹介でした。
コメント