内容へ移動
情研Wiki
ユーザ用ツール
ユーザー登録
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ユーザー登録
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
ctf:lesson:第5回
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
# 第5回資料 - 2018/06/26 - 週末にGoogle CTF 2018 が開催されました - 18歳未満は参加できない - 後日問題紹介したい - 今回から<del>火曜日放課後・土曜日夜の週2体制で行こうと思います</del>やっぱ今週はキツイ もう一人講義役欲しい、誰かやって - 資料は全部置いてあるので自由に見て手を動かしてみてください、わからないことがあればいつでも聞いてください - 新歓のスプレッドシートには記入しましたか > 随分と遅くなってしまいすみませんが、新歓の大まかな予定をお伝えします。 > 開催予定地 視聴覚室 > 内容 菓子パ (テーブルゲーム > 予算 10k~15k 後日、実費から一人当たりの参加費を計算し徴収します。 > また、日時はこのあと送信するファイルに、参加可能な日時を入力してもらったのち、参加人数の一番多い日を抽出して、確定とします。 ## 準備 - 事前にpkcrackをインストールしておいてください - 方法は自分で調べてみて(簡単です) ## やってみよう - NITAC miniCTF「ZIPZIP」 - 去年の冬に学内で開催されたCTFです - 問題作成と資料作成のバランスが難しい - [zip.zip](https://github.com/AkashiSN/NITAC-miniCTF/raw/master/Misc/ZIPZIP/zip.zip)をダウンロードしてください - 展開できますか?パスワードがわからないのでできませんね - とりあえず、どんなファイルが入っているか見てみましょう - 以降、コマンドライン(ターミナル)への入力は`$ ls`のように表現します - `$`で始まっていない行はコマンドではなく結果です -  ```bash $ zipinfo zip.zip Archive: zip.zip Zip file size: 22066 bytes, number of entries: 2 -rw-rw-r-- 3.0 unx 23367 BX defN 18-Feb-03 14:55 NITACminiCTF.png -rw-rw-r-- 3.0 unx 24 TX defN 18-Feb-03 14:56 flag.txt ``` - `flag.txt`というのにFLAGがありそうですね - CTFはCapture The Flagの略ですよ!!(大前提) - `NITACminiCTF.png`も入っています、これを使ってパスワードを迂回してみましょう - まず[ NITACminiCTF_copy.png ](https://connpass-tokyo.s3.amazonaws.com/thumbs/cf/b1/cfb1930fb2a8f5cfee3a11f7894ccecb.png)をダウンロードしてください - 名前変えといて - 以下を実行してみましょう ```bash $ zip plain.zip NITACminiCTF_copy.png $ pkcrack -C zip.zip -c NITACminiCTF.png -P plain.zip -p NITACminiCTF_copy.png -d output.zip ... いろいろ表示されます ... $ unzip output.zip $ cat flag.txt ... FLAGが出る ... ``` ## パスワードなしで読めてしまった… - これは「**既知平文攻撃**(KPA: Known Plaintext Attack)」という手法です - **平文**はもともとのファイル、それに対しパスワードで暗号化されたものを**暗号文**といいます - 既知平文攻撃を使うと、ある平文に対応する暗号文がわかっているときにその逆をする、つまり別の暗号文から平文を復元することができます - 「ある平文」→`NITACminiCTF_copy.png` - 「対応する暗号文」→`zip.zip`中の`NITACminiCTF.png` - 「別の暗号文」→`zip.zip`それ自体 - 復元された「平文」→`output.zip` - pkcrackはその実装というわけ - 鍵の復元もできるよ ## 発展 - [pkcrackの仕組み](https://scrapbox.io/sei0opub/pkcrackの仕組み) (執筆中) - 調べてみよう - ブロック暗号とストリーム暗号 - 暗号利用モード(CBC, ECB ...)、その脆弱性 - CRC32 - 何かわかったらWikiに書いてほしいな…(/ω・\)チラッチラッ
ctf/lesson/第5回.txt
· 最終更新: 2018/08/15 16:49 (外部編集)
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ