コース目次 / 第1章

スコープの確認と偵察 — 見てよい範囲を、確定する

診断の最初の一歩、スコープ確認の重要さと項目を押さえます。これまでの自作コースの中から診断対象を1つ選び、依頼書の形でスコープを書き出し、偵察のチェックリストを作ります。

第1章 / 全6章目安 約11分この章のゴール: スコープ確認の重要項目を理解し、自作対象で偵察のチェックリストを作れる

診断の仕事は、コードに触る前に始まります。「何を・どこまで見てよいか」を確定する——これが、sec-ctf-rules の規約確認、sec-burp のスコープ設定と同じ、最初の一手です。

スコープを、文書にする

実務では、依頼主との間でスコープ確認書(Statement of Work のようなもの)を交わします。項目を押さえます。

対象 — どのURL・どの機能・どのIPレンジか。「このアプリの本番環境全部」なのか「ステージング環境のログイン機能だけ」なのか。
期間 — いつからいつまで実施してよいか。
許容する手法 — 自動スキャンは許すか、手動のみか。DoS 的な負荷試験は含むか(多くは含まない)。
禁止事項 — 触ってはいけないデータ(本番の実顧客データなど)、やってはいけない操作(実際のメール送信、実際の決済)。
連絡先 — 緊急時(サービスを落としてしまったら)の連絡ルート。

これは、sec-law の「実習してよい3つの相手」の、実務版です。承諾の範囲が、口約束ではなく文書として明確になっている——だからこそ、診断エンジニアは安心して強い技術を振るえます。スコープの外は、たとえ見えても触りません。

演習 — 自分の診断対象を、1つ選ぶ

法と倫理ゲート

手を動かす前に

このコースは攻撃の技術に触れます。実習してよい相手は、次の3つだけです。

  • (a) 自分で作った練習用のやられ環境(このサイトが配る自作ターゲット)
  • (b) あなた自身の許可された環境(自分の Thousand SKY・secret-notes-ctf など)
  • (c) CTF 競技の中(規約の範囲で)

実在する第三者のシステムを許可なく触ることは、不正アクセス禁止法に触れます。 このゲートは、その線引きを毎回の入口で確かめるためのものです。詳しくは「セキュリティの法と倫理」へ。

ここまでのコースで、あなたは複数の自作やられアプリを作ってきました。1つを選び、スコープ確認書を書いてみます(実在の窓口には送りません。この演習は手元で完結します)。

■ 対象
(例: 旗艦コースの vuln-notes.js — メモ掲示板。127.0.0.1:3000)

■ 期間
(例: 本日の実習中のみ)

■ 許容する手法
(例: 手動診断のみ。自動スキャンは行わない)

■ 禁止事項
(例: サービスを止める操作は行わない。実在の第三者には一切向けない)

■ 連絡先
(自分の環境なので省略可。実務では必須)

「自作の練習用アプリに、なぜここまで形式張るのか」と思うかもしれません。形式は、実務で身につけるべき筋肉です。スコープを文書で確認する癖は、実際の診断契約で事故を防ぐ最初の防波堤になります。練習のうちから、この型を体に入れておきます。

偵察 — 何を、どう見て回るか

スコープが決まったら、偵察(reconnaissance)——対象の姿を、外側から掴む段階です。ここまでのコースで学んだ観点を、チェックリストとして棚卸しします。

入口を数える — どんなページ・エンドポイントがあるか。sec-http で見た「サイトマップ」のような感覚で、まず全体を洗い出す。
技術構成を掴む — サーバのヘッダー(sec-csp のセキュリティヘッダー)、使われている技術。
入力点を洗い出す — フォーム、URL パラメータ、ヘッダー、Cookie。sec-injection・sec-authz の攻撃はすべて、この入力点から始まりました。
認証・認可の構造を掴む — 誰がログインでき、ロールはいくつあるか(sec-authz)。
ビジネスロジックを理解する — このアプリは何をする・何を守るべきアプリか(sec-logic)。

これは、ばらばらに見えたこれまでのコースを1本の手順に束ねる作業でもあります。「まず全体を見て、当たりをつけてから、個別の穴を疑う」——この順序が、行き当たりばったりの攻撃より、はるかに漏れの少ない診断を作ります。

持ち帰る一言

触る前に、範囲を確定する。 スコープ確認書で対象・期間・手法・禁止事項を文書化し、偵察でこれまで学んだ観点をチェックリストとして総動員する。次の章で、実際に見つけた穴を「誰が読んでも再現できる手順」に固めます。

こうなっていればOK

卒業まであと4章です。

この章はまだ完了していません。