ペネトレーションテスト

ペネトレーションテスト(侵入テスト)は、悪意のある攻撃者に悪用される前に脆弱性を特定するため、実際の攻撃をシミュレートするセキュリティ評価の方法論です。

ペネトレーションテストの方法論

OWASP Testing Guide

情報収集からビジネスロジックのテストまでをカバーする、Web アプリケーションのセキュリティテストのための完全なフレームワーク。

PTES (Penetration Testing Execution Standard)

7 つのフェーズで構成された方法論:事前準備、情報収集、脅威モデリング、脆弱性分析、エクスプロイト、ポストエクスプロイト、レポート作成。

OSSTMM

Open Source Security Testing Methodology Manual - さまざまなチャネル(人的、物理、無線、電気通信、ネットワーク)におけるセキュリティテストのための科学的方法論。

ペネトレーションテストのフェーズ

1. Reconnaissance(偵察)

  • Passive:直接的なやり取りを行わない情報収集(OSINT、DNS、WHOIS)
  • Active:ネットワークスキャン、サービスの列挙、技術の特定
  • ツール:Nmap、Recon-ng、theHarvester、Shodan、Maltego

2. Scanning & Enumeration

  • ポートスキャンとサービスのフィンガープリンティング
  • 自動化された脆弱性スキャン
  • ユーザー、共有、サービスの列挙
  • ツール:Nessus、OpenVAS、Nikto、enum4linux

3. Gaining Access(エクスプロイト)

  • 特定された脆弱性のエクスプロイト
  • SQL Injection、XSS、Command Injection
  • Buffer Overflow、権限昇格
  • ツール:Metasploit、Burp Suite、SQLmap、Cobalt Strike

4. Maintaining Access(ポストエクスプロイト)

  • バックドアと永続化メカニズムの設置
  • 権限昇格(水平方向および垂直方向)
  • ピボッティングと横方向の移動
  • データの抽出

5. Covering Tracks

  • ログと証跡のクリーンアップ
  • 回避技術のデモンストレーション
  • 実施した活動の文書化

ペネトレーションテストの種類

Black Box

テスターは対象に関する事前知識を持ちません。現実的な外部からの攻撃をシミュレートします。

White Box

テスターは完全な知識(ソースコード、アーキテクチャ、認証情報)を持ちます。より深い分析が可能になります。

Gray Box

システムに関する部分的な知識を持ちます。内部関係者または特権ユーザーによる攻撃をシミュレートします。

必須ツール

フレームワークとディストリビューション

  • Kali Linux:600 以上のツールを備えた完全なディストリビューション
  • Parrot OS:プライバシーとフォレンジックに特化した代替手段
  • Metasploit Framework:エクスプロイトおよびエクスプロイト開発のスイート

Web Application Testing

  • Burp Suite:インターセプトプロキシおよび Web スキャナー
  • OWASP ZAP:オープンソースの自動スキャナー
  • SQLmap:自動化された SQL インジェクションツール
  • Nikto:Web 脆弱性スキャナー

Network Penetration

  • Nmap:ネットワークスキャナーおよびサービス検出
  • Wireshark:ネットワークトラフィックの分析
  • Responder:LLMNR/NBT-NS/MDNS poisoning
  • Impacket:ネットワークプロトコル用の Python スイート

Password Cracking

  • John the Ripper:定番のパスワードクラッカー
  • Hashcat:GPU アクセラレーション対応のクラッカー
  • Hydra:ネットワークサービス向けのブルートフォース
  • CrackMapExec:Windows 環境におけるポストエクスプロイト

一般的な攻撃ベクトル

Web Applications

  • SQL Injection (SQLi)
  • Cross-Site Scripting (XSS)
  • Cross-Site Request Forgery (CSRF)
  • Server-Side Request Forgery (SSRF)
  • XML External Entity (XXE)
  • Insecure Deserialization

Network & Infrastructure

  • Man-in-the-Middle (MitM)
  • ARP Spoofing および DNS Poisoning
  • SMB Relay attacks
  • Kerberoasting
  • Pass-the-Hash/Pass-the-Ticket

Social Engineering

  • フィッシングキャンペーン
  • Vishing (voice phishing)
  • 物理的侵入テスト
  • USB drop attacks

ペネトレーションテストのレポート

質の高いレポートには以下が含まれるべきです:

  • Executive Summary:経営層向けのハイレベルな概要
  • 方法論:テストのアプローチとスコープ
  • 特定された脆弱性:深刻度(CVSS)別に分類
  • 技術的なエクスプロイト:スクリーンショットと PoCs を含む技術的詳細
  • 推奨事項:優先順位付けされた修正措置
  • 付録:ログ、スクリプト、技術的証拠

専門資格

  • OSCP:Offensive Security Certified Professional
  • CEH:Certified Ethical Hacker
  • GPEN:GIAC Penetration Tester
  • CRTP:Certified Red Team Professional
  • PNPT:Practical Network Penetration Tester

法的および倫理的側面

  • 常に書面による承認を取得する(RoE - Rules of Engagement)
  • スコープと制限を明確に定義する
  • プライバシーおよびデータ保護に関する法律を尊重する
  • テスト対象のシステムに損害を与えない
  • 発見した情報の機密性を保持する
  • 専門的な倫理規範に従う(EC-Council、SANS)

ペネトレーションテストは、組織のセキュリティ態勢を検証するための不可欠な分野です。 実際の攻撃をシミュレートするために、深い技術的知識、構造化された方法論、創造的な思考を 組み合わせます。効果的なペネトレーションテストは自動化スキャナーの範囲を超え、手動分析、 ビジネスコンテキストの理解、発見されたリスクの明確なコミュニケーションを必要とします。