ペネトレーションテスター面接質問と回答

Milad Bonakdar
著者
スコープ設定、偵察、脆弱性の優先順位付け、Burp Suite、Metasploit、API、Active Directory、レポート作成を問う実践的な面接質問で準備しましょう。
はじめに
ペネトレーションテスター面接で強い回答とは、合意されたスコープ内で作業できること、体系的にテストできること、リスクを開発チームや事業側が行動できる形で説明できることを示す回答です。
この質問集では、スコープ設定、偵察、脆弱性の優先順位付け、Burp Suite、Metasploit、APIテスト、Active Directory、レポート作成を実践的に確認します。回答は常に、許可されたテスト、明確な証拠、修正提案に基づけましょう。
ペネトレーションテストの基礎
1. ペネトレーションテストのフェーズは何ですか?
回答: 優れた方法論は、スキャンの前から始まります。まず書面での許可、スコープ、ルール、テスト時間帯、データ取り扱い制限、緊急連絡先を確認します。その後、再現可能な流れで進めます。
1. スコープ設定と計画:
- 書面での許可、対象、除外範囲、ルールを確認する
- 目的、成功基準、連絡方法、中止条件を定義する
2. 偵察と発見:
- 受動的および能動的に情報を収集する
- ホスト、サービス、アプリケーションフロー、ユーザーロール、露出した攻撃面を特定する
3. 脆弱性分析:
- 発見事項をビジネス影響と悪用可能性に結びつける
- スキャナー結果を発見事項にする前に手動で検証する
4. エクスプロイトとポストエクスプロイト:
- 影響を証明するために必要な範囲内の弱点だけを悪用する
- ルールを超えずに権限境界、横展開経路、データ露出を確認する
5. レポート、クリーンアップ、再テスト:
- 証拠、影響、再現手順、修正策を文書化する
- テストの痕跡を削除し、関係者に説明し、依頼があれば修正を再テストする
偵察の例:
**頻度:**非常に一般的 **難易度:**中
脆弱性評価
2. 脆弱性の優先順位付けはどのように行いますか?
回答: CVSSを出発点にし、悪用可能性、資産の重要度、データの機密性、公開範囲、補完的な対策、既知の悪用状況で調整します。面接では、すべてのスキャナー結果を同じ緊急度として扱わない判断力が重要です。
CVSSスコアリング:
- **クリティカル(9.0-10.0):**リモートコード実行、認証バイパス
- **高(7.0-8.9):**SQLインジェクション、データアクセスを伴うXSS
- **中(4.0-6.9):**情報漏えい、CSRF
- **低(0.1-3.9):**軽微な情報漏えい
優先順位付けの要素:
**頻度:**非常に一般的 **難易度:**中
Metasploit
3. Metasploitを使用して脆弱性を悪用するにはどうすればよいですか?
回答: Metasploit Frameworkのワークフロー:
基本的なエクスプロイト:
Meterpreterコマンド:
ペイロードの生成:
**頻度:**非常に一般的 **難易度:**中~高
4. 権限昇格はどのように実行しますか?
回答: 権限昇格は、誤った構成を悪用して、より高いアクセスレベルを獲得します。
Linux権限昇格:
1. 列挙:
2. 一般的な手法:
SUIDエクスプロイト:
Sudoの誤った構成:
カーネルエクスプロイト:
3. 自動化されたツール:
Windows権限昇格:
1. 列挙:
2. 一般的な手法:
引用符で囲まれていないサービスパス:
AlwaysInstallElevated:
トークン偽装:
3. 自動化されたツール:
**頻度:**非常に一般的 **難易度:**高
Burp Suite
5. Burp Suiteを使用してSQLインジェクションを見つけるにはどうすればよいですか?
回答: 体系的なSQLインジェクションテスト:
1. リクエストをインターセプトする:
2. Repeaterに送信する: 手動ペイロードをテストする:
3. Intruderを使用する:
4. レスポンスを分析する:
- レスポンスの長さが異なる
- エラーメッセージ
- 時間遅延(ブラインドSQLi)
高度なテスト:
**頻度:**非常に一般的 **難易度:**中
Webアプリケーションテスト
6. XSS脆弱性をテストするにはどうすればよいですか?
回答: 包括的なXSSテストアプローチ:
XSSのタイプ:
- **リフレクテッド:**URL/フォームのペイロードが即座に反映される
- **ストアード:**ペイロードがデータベースに保存される
- **DOMベース:**クライアント側のJavaScriptの脆弱性
テスト方法論:
1. インジェクションポイントを特定する:
2. フィルタをバイパスする:
3. Burp Suite XSSテスト:
4. 自動スキャン:
**頻度:**非常に一般的 **難易度:**中
7. APIセキュリティをテストするにはどうすればよいですか?
回答: APIセキュリティテストは、認証、認可、および入力検証に焦点を当てています。
一般的なAPIの脆弱性:
1. 認証の不備:
2. 認可の不備:
3. 大量割り当て:
REST APIテスト:
GraphQLテスト:
APIファジング:
Postman/Burp Suite:
OWASP APIセキュリティトップ10:
- オブジェクトレベルの認可の不備 - IDORをテストする
- 認証の不備 - 脆弱なトークンをテストする
- 過剰なデータ公開 - レスポンスデータを確認する
- リソースとレート制限の欠如 - DoSをテストする
- 機能レベルの認可の不備 - 権限昇格をテストする
- 大量割り当て - パラメータ汚染をテストする
- セキュリティの誤った構成 - ヘッダー、CORSを確認する
- インジェクション - SQLi、NoSQLi、コマンドインジェクションをテストする
- 不適切なアセット管理 - 古いAPIバージョンを見つける
- 不十分なロギングと監視 - 監査ログを確認する
**頻度:**一般的 **難易度:**中~高
ネットワークペネトレーションテスト
8. ネットワークペネトレーションテストはどのように実行しますか?
回答: 構造化されたネットワーク評価:
1. ネットワークディスカバリー:
2. ポートスキャン:
3. 脆弱性スキャン:
4. エクスプロイト:
5. ポストエクスプロイト:
**頻度:**非常に一般的 **難易度:**高
9. Active Directory環境を攻撃するにはどうすればよいですか?
回答: Active Directoryは、多くのアタックベクターを持つ主要なターゲットです。
列挙:
BloodHound:
Kerberoasting:
AS-REP Roasting:
Pass-the-Hash:
Pass-the-Ticket:
Golden Ticket:
Silver Ticket:
DCSync攻撃:
水平展開:
永続化:
防御回避:
**頻度:**一般的 **難易度:**高
レポート
10. ペネトレーションテストレポートには何を含める必要がありますか?
回答: 包括的なレポート構造:
エグゼクティブサマリー:
- 高レベルの調査結果
- ビジネスへの影響
- リスクの概要
- 推奨事項
技術的な詳細:
発見事項の例:ログインフォームのSQLインジェクション
**重要度:**クリティカル(CVSS 9.8)
説明: /admin/loginのログインフォームにはSQLインジェクションの脆弱性があり、 攻撃者が認証をバイパスして管理パネルにアクセスできるようになります。
影響を受けるアセット:
- URL:https://target.com/admin/login
- パラメータ:username
- メソッド:POST
概念実証:
影響:
- 管理パネルへの不正アクセス
- 機密顧客データへのアクセス
- 潜在的なデータベース侵害
修正:
- パラメータ化されたクエリを使用する
- 入力検証を実装する
- 最小特権の原則をデータベースユーザーに適用する
**頻度:**非常に一般的 **難易度:**中
結論
ペネトレーションテスターの面接には、実践的な経験と深い技術的知識が必要です。以下に焦点を当ててください。
- **方法論:**構造化されたテストアプローチ、ドキュメント
- **脆弱性評価:**リスクの優先順位付け、CVSSスコアリング
- **ツール:**Metasploit、Burp Suite、Nmap、カスタムスクリプト
- **権限昇格:**LinuxおよびWindowsのテクニック、自動化ツール
- **Webテスト:**SQLインジェクション、XSS、認証バイパス
- **APIテスト:**REST/GraphQLセキュリティ、認可の欠陥
- **ネットワークテスト:**スキャン、エクスプロイト、水平展開
- **Active Directory:**Kerberoasting、Pass-the-Hash、BloodHound
- **レポート:**明確なドキュメント、ビジネスへの影響、修正
合法的なラボや意図的に脆弱に作られたアプリケーションで練習し、再現可能なテストチェックリストを作り、エクスプロイトと同じくらい発見事項の書き方も練習しましょう。優れた候補者は、いつ止めるか、どう安全に影響を証明するか、どう修正を支援するかを説明できます。


