ペネトレーションテスト
ペネトレーションテスト(侵入テスト)は、悪意のある攻撃者に悪用される前に脆弱性を特定するため、実際の攻撃をシミュレートするセキュリティ評価の方法論です。
ペネトレーションテストの方法論
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)
ペネトレーションテストは、組織のセキュリティ態勢を検証するための不可欠な分野です。 実際の攻撃をシミュレートするために、深い技術的知識、構造化された方法論、創造的な思考を 組み合わせます。効果的なペネトレーションテストは自動化スキャナーの範囲を超え、手動分析、 ビジネスコンテキストの理解、発見されたリスクの明確なコミュニケーションを必要とします。
