Shikata Ga Nai

Private? There is no such things.

第26回:セキュリティテストの流れと基本ステップ

Hello there, ('ω')ノ

1. 全体像:6 フェーズ早見表

フェーズ 目的 主なアウトプット
① 計画・スコーピング 目標・範囲・ルールを確定 テスト計画書、許可書
② 情報収集(Recon) 攻撃面を網羅的に洗い出す アセットリスト、技術スタック表
③ 脆弱性分析 自動/手動で弱点を抽出 潜在バグ一覧、優先度タグ
④ 侵入・悪用(Exploit) 実際に再現し影響を測定 PoC、影響評価
⑤ 事後調査(Post-Ex) 横展開・権限昇格可否を確認 内部マップ、データ取得例
⑥ 報告・再テスト 結果共有 → 修正後の再検証 報告書、パッチ検証レポート

ポイント:「上流での準備」と「下流での確認」 がセットになって円を描くイメージです。


2. フェーズ別 “やることチェックリスト”

① 計画・スコーピング

  • [ ] テスト対象 URL/IP/モバイルアプリ識別
  • [ ] 禁止行為(DoS、SE など)確認
  • [ ] 連絡先・対応 SLA 合意
  • [ ] テストアカウント発行

② 情報収集

ツール 使い所
Subfinder / Amass サブドメイン列挙
Nmap ポート & バナー調査
Wappalyzer 技術スタック判定
Wayback / Gau 過去エンドポイント発掘

③ 脆弱性分析

  • 自動スキャナ:ZAP, Nikto, Nuclei
  • 手動チェック:XSS / IDOR / CSRF パラメータ改ざん
  • false positive を除外し “検証待ちリスト” を作成

④ 侵入・悪用

目的 代表ツール
Web 通信改ざん Burp Suite Repeater/Intruder
API 認可バイパス Postman, jwt.io
ネットワーク Exploit Metasploit / custom script

影響評価の観点

  1. 機密データ読める?
  2. 操作を改ざんできる?
  3. 横展開できる?(他ユーザ or 他システム)

⑤ 事後調査

  • 権限昇格(Privilege Escalation)
  • 内部情報の横流し(Lateral Movement)
  • 痕跡(ログ)を残さずに実施できるか ※許可範囲に注意

⑥ 報告・再テスト

  • 再現手順 + 影響 + 修正案 を 1 件 1 ページで明快に
  • 開発チームがパッチ適用 → 再テストでクローズ
  • ナレッジを「社内 Wiki / 共有ノート」で横展開

3. 工数配分の“黄金比”イメージ

計画 10 %   ─┐
情報収集 25 %│  →  “上流 45 %”
脆弱性分析 10 %┘

悪用 25 %   ─┐
事後調査 10 %│  →  “下流 45 %”
報告 10 %   ┘

準備 + 調査 に 45%、再現 + 報告 に 45%。 残り 10% がイレギュラー対応の“バッファ”と覚えておくと計画がブレにくい。


4. よくある躓きポイントと対策

落とし穴 原因 予防策
スコープ超過 テスターの早合点 「範囲外 URL リスト」も明記
自動スキャンで DoS レート制御忘れ --rate-limit / ログ監視で即停止
報告書の品質低 テンプレ不統一 会社共通フォーマット+レビュー担当配置

5. バグバウンティへの応用

  • 計画・報告はプラットフォームが肩代わり → テスターはフェーズ②〜⑤に集中
  • とはいえ “計画書”=プログラムルール。読み込みを怠ると全工程が無効に
  • 再テスト報酬(Retest bounty)が用意される企業もあるので 報告後も経過確認 を忘れずに

まとめ:型を身につければ“引き出し”が増える

  • 6 フェーズを チェックリスト化 → 抜け漏れ防止
  • 上流で 45% の時間をかけると、下流での発見率・説得力が段違い
  • バグバウンティでも社内ペンテストでも、流れは同じ。場面に合わせて深さを変えよう

プロは「行き当たりばったり」でなく “型を持って自由に崩す”。 まずは標準フローを自然に使えるよう練習してみてください!

Best regards, (^^ゞ