@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

CTFで出題するとどうなるか

CTF 向けの問題として、2GB くらいのメモリダンプ内*1に上記のような形でパスワードを埋め込んでおき、そこからパスワードを抽出することで、ファイルのパスワードを解除するといった問題案を考えたのですが、力業*2になってしまう気がしたのでボツになってます。

設問:
パスワード保護されたRARファイルが発見されました。10桁のパスワードが利用されている事は判明していますが、解析に時間がかかります。メモリダンプしたイメージファイル内に10桁のパスワードが含まれている可能性があります、メモリダンプからパスワード文字列を抽出し、RARファイルのパスワードを解除してください。

10桁*3の全ての文字種を持つパターンをブルートフォースする案もありますが、RARファイルが相手だと現実な時間内では終わらないですよね。GPGPU に対応したツールを使ったとしても、かなりの規模の設備が必要そうですし、数時間などで終わるとは思えません。
仮にキーワード検索をしたとしても、Pass ならいざしらず、q@ss だと流石にひっかけられないと思いますので、眼Grepという方法も考えられますが、2Gもあるとちょっと大変そうですね。
Stringsで取り出した文字列を見ていくことで多少はノイズが減るかもしれませんが、更にノイズ的な文字列は外すとか工夫が必要でしょうか。

出題したら誰か解いてくれたかな?、というかどういった解き方をするのかに興味あるところです。
出題者はパスワードはわかっているので答えは書けますが、正解の導き方についてはわかってないという問題ですね。

*1:最近のケースではメモリ2Gって逆に小さいくらいなんでしょうかね、むしろちっちゃくて4Gとかが普通なんでしょか

*2:N-Gram的にインデックス作ればいい

*3:実際のケースでは、パスワード文字列が何文字なのかなんて情報はないので、桁数がわかっている出題はCTF的といえばCTF的ですね