ZIPファイルのパスワード解読をやってみたら簡単すぎた【真似厳禁】

 

ファイルをまとめて送る時にzipファイルで圧縮して送る方も多いと思います。

zipファイルにパスワードを付けて重要なファイルを送る方もいますよね。

しかし、実はzipファイルのパスワードは簡単に解読できてしまいます。

パスワード付きだから大丈夫と思っているととんでもない事故につながる可能性があります。

この記事で、実際にどうzipファイルパスワードを解読するのかを見ていきましょう。

 

zipファイルの4文字パスワード解読


早速ですが、まず4文字のパスワードを設定されたzipファイルを解読することにします。

まずパスワードが付いたzipファイルを用意します。

パスワードが設定されたzipファイルは、当然ですがパスワードを知らなければ見ることはできません。

zipファイルのパスワードを解読する方法はいくつかありますが、今回はJohn the Ripperというツールを使っていきます。

John the Ripperは一言で言えば無料でパスワードを解析することができるツールです。

John the Ripperをダウンロードし、設定をした後

zipファイル パスワード 解読 John the Ripper コマンド

john hash.txt

というコマンドを実行すると、なんと数秒たらずでzipの中身とパスワードが表示されます。

zipファイル パスワード解析結果 John the Ripper

表示された1234というパスワード解析結果を実際に入力してみると、zipファイルを開くことができ、中身もしっかりと確認することができます。

このようにzipファイルのパスワードは簡単に解読ができてしまうのです。

 

なぜパスワードが解読できたのか


John the Ripperを使うとなぜパスワードを解読できてしまうのかを簡単に解説していきます。

John the Ripperには2つの機能が搭載されています。

  1. ハッシュ化されたパスワードを取得
  2. 英数字のランダムな文字列と総当たりで比較

以下で1つずつ解説します。

①ハッシュ化されたパスワードを取得

John the Ripperは、まず、該当ファイルのハッシュ化されたパスワード(ハッシュ値)を取得します。

ちなみにハッシュ化とは一定の計算方法によって別の値に置き換えることを指します。

例えば今回のzipファイルのパスワードは1234でしたが、実際にはランダムな文字列に置き換えられています。

zipファイル パスワード 解読 ハッシュ化

また、ハッシュ化された値からは元の値に戻すことができないという特徴もあるため、内容を外部から読み取れないようにできるというメリットがあります。

zioファイル パスワード解読 ハッシュ化 ハッシュ値

したがって、パスワードなどの機密情報の保存にはこのハッシュ化という技術がよく用いられています。

②ハッシュ値を英数字のランダムな文字列と総当たり比較

John the Ripperはハッシュ化されたパスワードを取得した後に、同じようにハッシュ化したランダムな英数字の文字列と比較し、総当たりでパスワードを探しに行きます。

zipファイル パスワード解読 John the Ripper 総当たり ハッシュ値

非常に難しそうに見えますが、簡単に言えば、スマホの暗証番号をひたすら入力していくのと同じイメージです。

John the Ripperでは同様のことを瞬時に何千、何万というパターンを繰り返しているのです。

 

6文字(簡単な文字列)で再度解読


John the Ripperの理屈がわかった所で、もう一度パスワード解読をやってみましょう。

先ほどは4桁の数字でしたが、6文字で英語と数字を混ぜてパスワードを設定してみます。

zipファイルにパスワードを設定します。

はじめに、パスワードのハッシュ値を取得します。

zipファイル パスワード解析 John the Ripper ハッシュ値 取得

これでパスワードのハッシュ値がhash.txtというファイルに保存されます。

次にjohnコマンドを使ってhash.txtと同じハッシュ値の文字列を検索します。

4桁の数字は一瞬だったので6文字はどれくらいかかるのか気になるところですが。。。

zipファイル パスワード解析 John the Ripper Johnコマンド

残念ながら、6桁でも一瞬でした。

表示されたパスワードは123abcです。

このように簡単な並び順の文字列は、初めから予想のつくパスワードとしてJohn the Ripperに登録されているため、一瞬で解読されてしまうのです。

別の6文字パターンも解読してみる


ということで別のパスワードのパターンで6桁、再チャレンジさせました。

先ほどのような予測のつきやすい文字列ではなく、複雑に並べたパスワード6文字を設定して、解析スタート!

パスワード 解読 6桁 検証

結果、解読にかかった時間は1時間11秒でした。

(解読されたパスワードはk31m1f、時間は0:01:00:11)

PCのスペックで多少変わりますが、6桁程度であればすぐに解読ができてしまうことがわかるかと思います。

 

まとめ


パスワード付きzipファイルの危険性はご理解頂けたかと思います。

パスワード付きzipファイルは、なんと政府でも外部にファイルを送信する方法として利用されていました。

政府は、漏洩を防ぐためにPPAPと言われるzipファイルとパスワードを別々のメールで送信し、誤送信によるファイルの閲覧を防止するという方法を取っていました。

しかし、zipファイルさえ手に入れば、パスワードを解読できてしまうため、これは全く意味のない対策でした。

政府でさえこうしたミスを犯していた過去があります…

 

このような背景から、パスワード付きzipファイルを撤廃し、外部ストレージサービスを活用して、ファイル送信する取り組みが起きています。

zipファイル パスワード解析 政府 対策 PPAP 廃止 外部ストレージサービスパスワード付きzip、内閣府と内閣官房で26日から廃止へ 外部ストレージサービス活用 平井デジタル相

 

また、漏洩リスクが心配な方は、Microsoftが提供するストレージサービスであるOneDriveもおすすめです。

zipファイル 解読 OneDrive クラウドストレージサービス ワンタイムパスワード

OneDriveは、一定の期間しかそのパスワードが利用できない、ワンタイムパスワードという機能を搭載しており、より安全にファイルを共有することが可能です。

漏洩するリスクをできるだけ小さくしたいという方はぜひそういったサービスを検討してみてはいかがでしょうか。

 

以上、zipファイルのパスワードを解読してみたという検証記事でした。

zipファイルのパスワードはどれだけ長くても、(時間さえかければ)必ず解読されてしまうということを頭に入れておきましょう。