2009年02月21日(土)
解読はできたものの… [Mac&あぽー]
以前知人からもらったPDFファイルのパスワードを忘れてしまい,長いこと開けぬまま月日が流れていたのだけど,たまたま“PDFCrack”なるオープンソースの総当たり解読ツール(ブルートフォース)を知ったので,早速試してみたのですねー。
- PDFCrack(配布元)
- PDFのパスワードを破る「PDFCrack」(MOONGIFT)
- Windows上でもPDFファイルのパスワードを総当たりで解析できるフリーソフト「PDFCrack」(GIGAZINE)
- pdfcrackメモ(身の回り4畳半近辺の日記)
ダウンロードしたファイルを展開し,何も考えずにmakeすると正常にコンパイルされたので,生成された“pdfcrack”を/usr/bin あたりにおいて…
$ pdfcrack -f ~/hoge.pdf
といった感じで実行すると…
Average Speed: 758902.4 w/s. Current Word: 'aFxgOb'
のような実行状況を時々レポートしてくれます。私の環境では,他のソフトが負荷をかけなければ1秒当たり75万ワード前後のランダム文字列を総当たりで調べられるようです。そんなわけで,今すぐ開きたいわけじゃないけど(そもそも中身が何だったのかを忘れてしまっているし^ ^;)とりあえず最初に述べたパスワード付きPDFファイルをpdfcrackにかけてみたのですよ。すると半日ほどかけて総当たり戦を見事制しました(笑)。画面には発見された6文字のパスワードが…。
found user-password: 'dMx4hL' ※パスワードはダミーです
しかーし,メモリを使い切ってしまったからか,パスワードを表示したままマシンが固まってしまっていたのですね〜。仕方なく強制的に電源を落としてディスクチェックしたところ,無常にもIOエラーの表示…。
root# fscl -yf ** /dev/rdisk0s2 ** Root file system <略> ** Checking Catalog file. disk0s2 I/O error. Invalid key length (4, 567) ** Volume check failed.
当然システムも立ち上がりませぬ。今までの経験上,IOエラーが表示された場合は,ハードディスクかコントローラなどのハード的な故障が大半だったので,「また修理かよ〜」と背筋のあたりに冷や汗が(^ ^;)。でも念のため手持ちの“TechTool Pro”(ハードウェア診断ツール)で内蔵ハードディスクのスキャンをすると,予想とは異なりハードウェア上のエラーは何も発見されなかったので一か八かでTime Machineからバックアップを復元したところ,何事もなく起動した次第デス。そんなわけで,丸一日リカバリ作業に追われる羽目になってしまい,パスワードを解読するためとはいえ,思わぬ労力を割いてしまいましたと,さ(苦笑)。ちなみに開いて分かったPDFファイルの中身は,大学時代の同級生の<当時の>住所録でした(もうみんな引っ越してるって^ ^;;)。なんじゃそりゃって感じでしたね。
追記
PDFCrackは,どうやら半角英字(大文字・小文字)及び数字の組み合わせのみで総当たりするようです。つまり大文字26文字+小文字26文字+数字10文字=62文字の組み合わせでスキャンするため,私の環境(75万ワード/秒)だとパスワードの長さによって以下のような解読時間が見込まれます(※最長の場合)。
- 4文字:19.7秒
- 5文字:1221.5秒(20.4分)
- 6文字:75733.6秒(21.0時間)
- 7文字:4695486.1秒(54.3日)
- 8文字:291120140.8秒(9.2年)
よって,6文字程度のパスワードであれば力業で何とかなりますが,それ以上の長さになると単体マシンのブルートフォースによる解読は難しいでしょうね。また,PDFCrackでは記号類は総当たりの文字列に含まないようなので,たとえば@や#などがパスワード内に入っているといつもでたってもヒットしないでしょう(たぶん)。
Posted by 神海 螢 / コウミ ケイ at 2009年02月21日(土) 22時54分 コメント ( 0 )