パスワード付きzipファイルがどのぐらいでクラック(パスワード解析)できるか試してみる
はじめに
前回のエントリで zip ファイルにパスワードを設定する方法について紹介しました。
標準的な zip ファイルは比較的容易にパスワード解析できるということなので、実際に突破できるか試してみることにしました。
総当りでクラック ( パスワードの解析 ) を行うスクリプトを適当に見繕って、試してみます。
検証環境
zip クラック用のスクリプトを探す
Github には、 zip ファイルのパスワードを解析するためのスクリプトがいくつも存在しています。
いくつかスクリプトを見て、適当なものを採用しました。
zip クラック環境セットアップ
henriksb/ZipCrack は Go 言語で実装されていたため、Go 実行環境が必要です。
ここでは Go の実行環境構築の手順は割愛します。
Go で書かれたコードから実行可能ファイルを生成しておきます。
クラック対象のパスワード付き zip ファイルを作成
zip コマンドでパスワード付き圧縮ファイルを生成する | ゲンゾウ用ポストイット で紹介した方法でパスワード付き zip ファイルを生成します。
後ほどこちらのファイルをクラックしてみます。
まずは軽微なパスワードにしてみます。
- 5 文字
- 小文字のアルファベットのみ
zip クラック開始
ZipCrack
を使って解析してみます。
アプローチとしては 2 つを選択できるようです。
- 辞書攻撃
- ブルートフォース攻撃 ( 総当り )
辞書攻撃は辞書データが必要なようで、探すのが面倒だったので総当りで攻撃してみることにします。
2 分強でパスワードが解析できました。
Password matched: world
と出力されていることから、 world というパスワードを解析できたことがわかります。
文字数、文字種ともに限定されていたため容易に解析できました。
少しだけ複雑なパスワードをクラックしてみる
もう少しだけパスワードを複雑にしてみます。
- 5 文字
- 大文字、小文字のアルファベット と 数字 を含む
W0rld というパスワードを設定してみました。
解析します。
実行されたコマンドは以下の同義です。
./ZipCrack ../1.zip ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 bruteforce
思ったより早く終わりました。 22 分強です。
パスワードがかかっていても同梱されているファイルのリストは確認できる
よく知られていることですが、zip ファイルはパスワードが掛かっていたとしても内包されているファイルのリスト、作成日時、サイズは確認できます。
内包されているファイル名に会社名やファイルの概要が書かれていれば、内容が推測されてしまいます。
ひとこと
zip ファイルに限ったことでは有りませんが、パスワードはとにかく長くしましょう。
ディスカッション
コメント一覧
まだ、コメントがありません