1. サポートセンター
  2. ドキュメント
  3. Burp Infiltrator

Burp Infiltrator

Burp Infiltratorは、Burp Scannerを使ったテストを推進するために、対象Webアプリケーションを器具化するツールです。Burpの入力が潜在的に危険なAPIまで通過したかをBurpが検出できるように、対象アプリケーションを変更します。

Burp Infiltratorは現在、次の言語で書かれたアプリケーションをサポートしています:

重要な注意事項

  • Burp Infiltratorは本番システムや、可用性、パフォーマンス、正確な動作が必要なその他のシステムには使うべきではありません。Burp Infiltratorによるアプリケションの変更によって、サービスの停止、パフォーマンスの低下、アプリケーションエラー、その他の問題を引き起こす可能性があります。
  • Burp Infiltratorはアプリケーションのバイトコードに不可逆な変更を行います。Burp Infiltratorによって行われた変更を戻すには、オリジナルの変更されていないソースコードから再デプロイする必要があります。
  • Burp Infiltratorによってアプリケーションが動作を変更されると、アプリケーションとネットワーク経由で通信できる誰かに、機密情報が漏えいする可能性があります。
  • これらの理由から、Burp Infiltratorの使用に適しているのは、(a)テスト目的で設計された、(b)情報漏洩する可能性のある信頼できない人がアクセスできないシステムのみです。

Burp Infiltratorの仕組み

Burp Infiltratorは次のように動作します:

  1. Burpユーザは、"Burp"メニューを使って、適切なBurp InfiltratorのインストーラーをBurp Suiteプロフェッショナルからエクスポートします。
  2. アプリケーション開発者または管理者は、アプリケーションのバイトコードがあるマシンでそれを実行し、Burp Infiltratorツールをインストールします。
  3. Burp Infiltratorはアプリケーションのバイトコードにパッチをあて、潜在的に危険なAPIを呼び出している箇所にインストルメンテーションフックを挿入します。
  4. アプリケーションを通常通り起動すると、パッチのあたったバイトコードが実行されます。
  5. Burpユーザは通常の方法でアプリケーションのスキャンを実行します。
  6. アプリケーションが潜在的に危険なAPIを呼び出すと、関連するAPIのパラメータをインストルメンテーションフックが検査します。Burp Collaboratorドメインを含むBurpのペイロードはそれぞれ一意になる構造で、フィンガープリントになっています。
  7. インストルメンテーションフックは、検出したBurp Collaboratorドメインを、呼び出されたAPIの識別子を組み込むよう変更します。
  8. インストルメンテーションフックは、変更されたBurp CollaboratorドメインのDNS参照を実行します。
  9. 必要に応じて、設定オプションによっては、変更後のBurp CollaboratorドメインにHTTP/Sリクエストを発行し、それには関連する全てのパラメータやアプリケーションのコールスタックが含まれています。
  10. スキャンペイロードによって発生したCollaboratorとの通信の詳細を取得するため、Burpは通常通りCollaboratorサーバをポーリングします。Burp Infiltratorが実行した通信の詳細が、Burpに返されます。
  11. アプリケーション内で、入力に関連するアイテムが潜在的に危険なAPIまで達したことを、関連する脆弱性タイプの情報レベルの問題としてユーザに報告します。同じ問題の他の証拠(診断中の動作や他のColalborator通信)が見つかった場合、この証拠は1つの問題に集約されます。
Burp Infiltrator

Burp InfiltratorはBurp Collaboratorドメインを含むBurpペイロードを観察する動作をし、指定されたBurp Collaboratorサーバを経由して通信するので、Burp Infiltratorを使うには次を満たす必要があります:

Burp InfiltractorはプライベートなBurp Collaboratorサーバの使用をサポートし、どのCollaboratorサーバと通信すべきかはBurpが送信したペイロードにCollaboratorサーバの完全なドメイン名が含まれているのでわかります。しかし、ドメイン名を使うプライベートCollaboratorサーバだけをサポートし、IPアドレスを使うよう設定されたプライベートCollaboratorサーバはサポートしていません。

Burp Infiltratorのインストール

Burp Infiltratorを使用するには、次の手順で対象のアプリケーションにインストールする必要があります:

パッチ適用プロセスに関する次の考慮事項に注意してください:

非対話形式のインストール

Burp Infiltratorは非対話形式でインストールできます。これは様々なユースケースをサポートしています。例えばCIパイプラインで、アプリケーションのビルドをステージングサーバにデプロイし、Burp Infiltratorをインストールし、Burp Scannerを使ってスキャンを実行できます。

Burp Infiltratorを非対話形式で実行するには、次の引数をコマンドラインに追加します:

--non-interactive

非対話モードでは、通常対話モードで要求される全ての設定オプションにデフォルト値を使います。必要な場合は、追加のコマンドライン引数でこれらのデフォルト値を上書きできます。サポートしている全てのオプションを表示するには、次のコマンドライン引数を使用してください:

--help

非対話形式でBurp Infiltratorをインストールする前に、上書きされずに使われる設定オプションのデフォルト値を、上記のオプションを使って確認し、要件に基づいて適切なオプションが確実に使われるようにすべきです。

注: Burp Infiltratorのインストーラを非対話モードで実行すると、対話モードで表示される全ての警告と免責事項を読み、同意したと見なされます。

設定オプション

Burp Infiltratorのインストール中に次の設定オプションが対話形式で、または非対話形式インストールではコマンドラインオプションで、指定できます。

注: 設定オプションはパッチを適用している処理中に指定され、アプリケーションのバイトコードに行った変更に反映されています。パッチを適用された後にBurp Infiltratorの設定を変更するには、更新したオプションを使用してBurp Infiltratorのインストーラを再度実行し、アプリケーションを再起動する必要があります。