title: “評価実施と攻撃チェーンの構築” part: “Part 7” chapter: “7-3”
評価実施と攻撃チェーンの構築
本章では、計画に基づいた評価実施と、発見した脆弱性を攻撃チェーンとして整理する方法を扱う。
本章のゴール
- 前提:スコーピングとテスト計画(前章)が合意済みであり、評価対象環境が準備されている。
- 到達目標:情報収集→初期侵入→横展開→攻撃チェーン可視化の流れで評価を進め、再現性のある証拠と説明可能なストーリーとして整理できる。
- 対応演習:
exercises/の演習環境を対象に、少なくとも 1 本の攻撃チェーン(例:Web → API → クラウド)を構築し、図と根拠(リクエスト/レスポンス等)を記録する(起動手順は 付録「演習環境クイックスタート」 を参照)。
総合演習における各ステップは、Part 1〜6 で扱った内容と次のように対応する。
- スコーピングとテスト計画:Part 1(攻撃モデル・リスク評価)、Part 7(テスト計画テンプレート)
- Web / API 初期侵入:Part 2(Web セキュリティ基盤)、Part 3(Burp Suite)、Part 4(API / 認証・認可)
- モバイル観点の確認(必要に応じて):Part 5(モバイル Pentest)
- クラウド / インフラへの横展開と権限昇格:Part 6(クラウド・Linux / コンテナ)
- レポート作成と振り返り:Part 3(レポート作成)、Part 7(レポートテンプレートとレトロスペクティブ)
1. 情報収集と初期侵入
Part 3 で扱った Web Pentest ワークフローを適用し、次のステップを踏む。
- Burp Suite を用いたサイトマップ作成とアタックサーフェスの把握
- 認証・セッション管理・アクセス制御の確認
- 代表的な脆弱性(XSS、SQL インジェクション、IDOR / BOLA 等)の有無を調査
初期侵入の段階では、過度な横展開に進まず、まずは「信頼できる 1 つの攻撃ベクトル」を確保することに集中する。
2. 横展開と権限昇格
初期侵入後は、Part 4〜6 の内容を踏まえ、次のような横展開シナリオを検討する。
- API 経由で他ユーザデータへのアクセス(BOLA)
- 発見した IDOR / BOLA を起点に、管理者データや機密情報への到達可否を確認
- SSRF を通じた内部リソースやメタデータサービスへのアクセス
- IMDSv1 への到達とクラウドロールの悪用可能性(演習環境に限定)
- Linux / コンテナ環境での権限昇格
- コンテナ内シェル取得後、ホストへのエスケープ可否を評価
これらは「すべて実行する」ことが目的ではなく、少なくとも 1 つ以上の実行可能な攻撃チェーン(例:Web → API → クラウド)のストーリーを構築することを狙いとする。
3. 攻撃チェーンの可視化
発見した脆弱性がバラバラのリストにならないよう、Kill Chain や MITRE ATT&CK マトリクスを参照しながら、攻撃チェーンを可視化する。
図7-3: 攻撃チェーン例(Web → クラウド)
flowchart LR
R[Reconnaissance<br/>情報収集] --> E[Exploitation<br/>Web 脆弱性悪用]
E --> L[Lateral Movement<br/>API / BOLA]
L --> S[SSRF → IMDS]
S --> C[Cloud Privilege Escalation<br/>クラウド権限昇格]
C --> AO[Actions on Objectives<br/>データ窃取等]
図7-3 は、個々の発見事項を「次の段階への足場」としてつなぎ、評価結果を攻撃チェーンとして説明するための例である。以降は、各ステップの根拠(リクエスト/レスポンス、設定値、ログ等)を残し、チェーン全体として再現可能にすることを意識する。
- 各ステップで利用した脆弱性・ミスコンフィグを整理
- 「どの段階で検知・遮断できたか/できなかったか」をまとめる
- 防御側の想定(設計時の前提)とのギャップを明確にする
演習では、簡易な図(DFD やシーケンス図)を用いて攻撃チェーンを図示することを推奨する。
次に読む章
本章のポイント
- Part 1〜6 の内容を前提に、情報収集→初期侵入→横展開→可視化という流れで総合演習を進める。
- 初期侵入では「信頼できる 1 つの攻撃ベクトル」を確保し、横展開は BOLA、SSRF→IMDS、Linux / コンテナ権限昇格などから少なくとも 1 本の攻撃チェーンを成立させる。
- 攻撃チェーンは Kill Chain / MITRE ATT&CK と図(DFD 等)で整理し、脆弱性の列挙ではなくストーリーとして説明可能にする。