セキュリティ · CTF
プログラムを読み解いて鍵を暴く
教育目的の自作クラックミーを読み解きます。配布はソースとレシピのみで、実行ファイルは配りません。
- 実習
- localhost で実習
- 環境構築
- 重さ 1 / 3
- 前提
- ctf-intro / sec-asm 推奨
- 倫理
- 第0章の法と倫理ゲートへの同意が必須です。
読み込み中…
教育目的・自作物のコースです。配るのはソースとビルドのレシピだけで、コンパイル済みバイナリは配布しません。自分の手でビルドし、objdumpとgdbで読み解きます。
章の一覧
- 未完了第0章はじめに — 動かす前に、読むrevカテゴリが、実行せずにバイナリを読んで論理を暴く力を試すカテゴリだと理解します。gcc/objdump/gdbが手元にあることを確認し、法と倫理ゲートに同意します。約4分
- 未完了第1章クラックミーを、自分でビルドする合言葉を判定するC言語のクラックミーをビルドし、動かしてみます。総当たりでは現実的な時間で解けないことを確認し、読み解く必要性を体感します。約8分
- 未完了第2章逆アセンブルを読んで、正解を計算するobjdumpでcheck関数を逆アセンブルし、比較対象のバイト列とXOR鍵が即値オペランドとして埋め込まれていることを読み取ります。実行せずにPythonで正解を計算し、最後に実行で答え合わせをします。約15分
- 未完了第3章まとめ — 読んでから、動かすobjdumpによる静的解析でXOR判定を暴いた流れを畳みます。revカテゴリが実行せずに論理を読む力を試すカテゴリだったと再確認し、次のカテゴリへ送り出します。約3分
詰まったときはお助けページへ。章ごとのファイル一式をダウンロードして、途中から再開できます。