入門セキュリティコンテストーーCTFを解きながら学ぶ実戦技術

書籍情報

発売日 : 2022年11月26日

著者/編集 : 中島 明日香

出版社 : 技術評論社

発行形態 : 単行本

書籍説明

内容紹介

リバースエンジニアリング/暗号/フォレンジック/Web/ネットワーク/脆弱性。CTF攻略の定石がわかる&生きたセキュリティの知識が身につく。

目次

■■■■Chapter 0 CTF超入門
■■■0.1 CTFとは
■■■0.2 CTFの種類
■■クイズ形式
■問題のジャンルについて
■出題方法について
■スコアリング方式について
■スコアサーバついてについて
■flagの形式について
■CTF大会のルール一例
■■攻防戦形式
■■その他の形式
■■■0.3 国内外のCTF
■■海外の著名なCTF
■■国内の著名なCTF
■■オンライン常設型CTF
■■■0.4 CTFに参加するには
■■■0.5 問題のWriteupを書く
■■■0.6 本書の内容についてご注意

■■■■Chapter 1 リバースエンジニアリング問題「runme.exe」
■■■1.1 リバースエンジニアリングとは
■■■1.2 問題ファイルの初期調査
■■■1.3 解法と解答
■■正攻法で解いてみる
■■アセンブリの基本
■関数の呼び出し
■レジスタ
■■start関数
■関数の概要
■関数を探る
■■■1.4 問題を解くワンライナーを書く

■■■■Chapter 2 暗号問題「Unzip the file」
■■■2.1 暗号とは
■■■2.2 問題ファイルの初期調査
■■■2.3 解法と解答
■■既知平文攻撃
■PkCrackを使う
■flagファイルの正体は?
■■■2.4 なぜ暗号化が解けたのか?
■■ZIPの暗号化方式の概要
■■Traditional PKWARE Encryption
■■■2.5 今回の既知平文攻撃の手順

■■■■Chapter 3 フォレンジック問題「History」
■■■3.1 フォレンジックとは
■■■3.2 問題ファイルの初期調査
■■■Column fileコマンドのしくみ
■■■3.3 解法と解答
■■hexdumpコマンドを使う
■■ファイル「J」の正体は?
■■USNジャーナルをひも解く
■■■3.4 ファイルシステムについて
■■NTFS
■■ジャーナリング機能
■■■Column ファイルフォーマットについて

■■■■Chapter 4 Webセキュリティ問題「reiwaVote」
■■■4.1 Webセキュリティとは
■■■4.2 問題ファイルの初期調査
■■■4.3 解法と解答
■■SQLインジェクションとは
■■脆弱性を調査する
■■SQLインジェクションを行う
■■■4.4 Webアプリの裏側
■■データベースとその格納データ
■■ユーザー作成部分
■■認証部分
■■なぜ「' or 1=1 --」を使うのか?
■■SQLインジェクションについての注意

■■■■Chapter 5 ネットワーク問題「Find the key!」
■■■5.1 ネットワークとは
■■■5.2 問題ファイルの初期調査…
■■Wiresharkでパケットキャプチャ
■画面の説明
■初期解析
■■Wiresharkの統計解析機能を使う
■■■5.3 解法と解答
■■ネットワークについておさらい
■ICMPパケットの構成
■HTTPレスポンスメッセージについて
■■抽出スクリプトを作成する
■■■5.4 pingの中になぜHTTP通信が紛れ込んでいたのか?

■■■■Chapter 6 Pwnable問題「baby_stack」
■■■6.1 Pwnableとは
■■■6.2 問題ファイルの初期調査
■■「baby_stack」環境の再現方法
■■問題の挙動を把握する
■■脆弱性箇所を把握する
■■スタックバッファオーバーフローとは
■■■6.3 解法と解答
■■脆弱性箇所
■■プログラムの制御を奪うには
■■戻りアドレスを上書きする
■■適用されている脆弱性緩和技術を調べる
■■Return Oriented Programming
■ROPガジェットを探すには
■シェルを起動するには
■システムコールとは
■ROPチェーンの流れ
■■Exploitの実装と実行

■■■■Chapter 7 Misc問題「Sandstorm」
■■■7.1 Miscとは
■■■7.2 問題ファイルの初期調査
■■■7.3 解法と解答
■■■7.4 なぜQRコードが出現したのか?
■■sandstorm.pngを調べる
■■インターレースとは
■■Adam7アルゴリズムについて
■■画像を分解してQRコードを抽出する
■ステップごとの画像を出力する
■より精細な画像を出力する

■■■■Chapter 8 Misc問題「Mail Address Validator」
■■■8.1 問題の設置方法
■■■8.2 問題ファイルの初期調査
■■問題サーバに接続してみる
■■main.rbを読む
■■■8.3 解法と解答
■■■8.4 なぜflagが返ってきたのか?
■■問題サーバが持つ脆弱性:ReDoS
■■正規表現のおさらい
■■正規表現エンジンの概要
■■有限オートマトン
■■正規表現と非決定性有限オートマトン
■■バックトラッキングとReDoS
■■今回の脆弱性箇所について
■■■Column CTFを通じて学んだ知識が活きる一例の紹介

■■■■Appendix ツールのインストール
■■■A-1 IDA Freewareをインストール
■■■A-2 Wiresharkをインストール

著者情報

中島 明日香
中島 明日香(なかじま あすか) 1990年生まれ。サイバーセキュリティ研究者。2013年に慶應義塾大学環境情報学部卒業後、日本電信電話株式会社(NTT)に入社。入社後はソフトウェアセキュリティ分野の中でも、とくに脆弱性発見・対策技術の研究開発に従事。研究成果は情報セキュリティ分野における世界最大級の産業系国際会議BlackHatや、国際会議ACMAsiaCCSなどで発表。また、2014年より日本最大級のCTF主催団体であるSECCONの実行委員を務め、日本初となる女性セキュリティコミュニティ「CTF for GIRLS」 を発起人として設立・運営。2021年にはBlackHatUSAのReviewBoard(査読者)に就任。第十五回情報セキュリティ文化賞受賞。サイバーセキュリティに関する総務大臣奨励賞 個人受賞。著書に『サイバー攻撃』(講談社、2018、ISBN=978-4-06-502045-6)。Twitter: @AsuNa_jp
中島, 明日香, 1990-