BurpSuite(バープ・スイート)は、ウェブアプリケーションのセキュリティの評価およびペネトレーションテスト用のプロプライエタリソフトウェアツールである。このツールは、2003年から2006年にかけてDafydd Stuttardによって開発が開始された。これは、Seleniumのような自動化可能なウェブツールの強みを理解した後に、Dafydd Stuttard自身のセキュリティテストを自動化するためであった。Stuttardは、Burp Suiteの開発を主力とする企業PortSwiggeを設立した。
このツールは、無償で利用できるコミュニティ版のほか、有償のProfessional(475米ドル/ライセンス)及びDASTがある。 コミュニティ版は、ペネトレーションテスト用のツールであるKali Linuxにも組み込まれている。
BurpSuiteは、様々なペネトレーションテストに関わる機能を備える。ウェブに接続するときのプロキシ機能(Burp Proxy)、HTTPリクエスト/レスポンスのログ記録機能(Burp LoggerおよびHTTP History)、転送中のHTTPリクエストのキャプチャ/傍受機能(Burp Intercept)、および脆弱性のレポートを作成する機能(Burp Scanner)がある。このソフトウェアは、既知の安全でない構文パターンとキーワードを含む組み込みデータベースを参照し、キャプチャされたHTTPリクエスト/レスポンス内を検索する。
組み込みのPoCサービスには、HTTPダウングレードのテスト、ツールがホストする外部サンドボックスサーバーとの連携機能(Burp Collaborator)、および疑似乱数の強度分析(Burp Sequencer)が含まれる。このツールは、オープンソースのプラグイン(Java Deserialization ScannerやAutorizeなど)をダウンロードすることで、ユーザーの作成した機能を統合することもできる。
このツールを使って許可なくウェブサーバーや他人の端末を攻撃するなど違法な用途に使用した場合、不正アクセス禁止法によって刑事罰を受ける可能性がある[https://laws.e-gov.go.jp/law/411AC0000000128/ e-GOV 法令検索「平成十一年法律第百二十八号 不正アクセス行為の禁止等に関する法律」。
機能 ウェブセキュリティ解析ツールとして、Burp Suiteはペネトレーションテスターがウェブアプリケーションを監査するのを支援するよう設計された機能を提供している。
コミュニティ版
BurpSuiteのコミュニティ版には以下の機能が含まれている。 Burp ProxyおよびInterceptor:他のウェブアプリケーション・セキュリティ検査ツールと同様に、BurpSuiteの主要な機能の一つは、クライアント側のHTTPリクエストに対するプロキシサーバーとして機能する能力である。ペネトレーションテスターは、ウェブサーバーのデフォルトHTTPリクエスト変数(属性、ボディパラメータ、クッキー、ヘッダー)をリアルタイムで傍受し、これらの値をその場で編集できる。アプリケーションの異常な動作を誘発し、バグや関連する脆弱性を特定することを目的として、不適合なデータを注入することができる。 Burp Site Map:BurpSuiteはソフトウェアと同様に機能し、ターゲットURLのサイトマップを自動または手動のウェブ接続によってキャプチャできる。ユーザーがウェブアプリケーションでウェブに接続すると、HTTPリクエストはBurpSuiteソフトウェア内のウェブプロキシに送信される。HTTPリクエスト/レスポンスがキャプチャされると、これらのエンドポイントの通信の中身を調査できるようになる。プロフェッショナル版の機能を使用して自動的に監査することもできる。 Burp LoggerおよびHTTP History:ウェブ接続中にキャプチャされたHTTPリクエスト/レスポンスのリストを保存する(プロフェッショナル版では自動スキャンもできる)。 Burp Repeater:キャプチャされたHTTPリクエストを繰り返し送信することで、Webアプリケーションの挙動を見つけ出し脆弱性を特定する。定義されたパラメータに従ってHTTPリクエストを返すことができる。カスタマイズされたHTTPリクエストは素早く連続して送信でき、競合状態の脆弱性を悪用するためにも使用される。 Burp Decoder:暗号化されたテキストを自動的に復号する。デコードされたテキストはその後編集され、再エンコードされることで、ウェブリクエストにおけるカスタマイズ性が強化される。現在、BurpはHTML、URL、BASE64、ASCIIヘックス、ヘックス、オクタル、バイナリ、およびGZIP形式でエンコードおよびデコードできる。BURPの「スマートデコード」は、エンコードされたデータを自動的に検出し、可能な限り再帰的に復号する。 Burp Sequencer:繰り返し送信されるHTTPリクエスト全体でアプリケーションが生成するトークン変数を分析し、疑似乱数性の予測強度を判断する。 Burp Comparer:2つの異なるHTTPリクエストまたはHTTPレスポンス間で発見されたコンテンツを、ユーザーが比較することを可能にする。 Burp Extender:下記のBurp Extenderセクションを参照のこと。一部のBurpSuiteプラグインは、プロフェッショナル版に限定されている。
プロフェショナル版 BurpSuiteのプロフェショナル版は、コミュニティ版の機能に加えて、以下の機能を備えている。
Burp Scanner:捕捉されたHTTPリクエスト/レスポンスに対し、レポートの監査やウェブ接続を自動化する。傍受したHTTPレスポンスのコンテンツを内部ルールに基づいて監査し、脆弱なレスポンス値を検索する。ユーザーはスキャナーの速度と発見対象範囲をカスタマイズできる。 Burp Dashboard:発見された結果を表示し、深刻度に基づいて問題を分類する。発見された問題の種類に応じて、詳細な説明と修正手順が提示される場合がある。 Burp Intruder:Burp Repeaterをより広範囲に拡張したもので、ユーザーは指定されたリクエスト変数を変更しながら、複数の並行HTTPリクエストを送信できる。Webアプリケーションに対してパラメータを設定したうえで自動的に攻撃することもできる。この機能は、パスワードをクラックするなど、アプリケーションにとって有害な攻撃もできる。 Burp Collaborator:外部サービスとの相互作用や帯域外からの攻撃を試みるため、C2サーバーからのホスティングをシミュレートする。 Burp Organizer:選択されたHTTPリクエスト/レスポンスをコレクションに整理できる。 Burp Infiltrator:対話型/ランタイムスキャンを自動化し、Burp Collaborator機能を通じて結果を通信するようにスクリプト化されたIASTエージェントである。 Burp Clickbandit:ウェブアプリケーションのフロントエンドHTMLおよびJavaScriptファイルに対するクリックジャッキング攻撃をテストするための、概念実証ツールである。 ファイルの保存の仕様:プロフェショナル版では、プロジェクトを".burp"ファイルとして保存できる。
Burp Extender BApps Burp Suiteでは、サポート外の機能のプラグインをユーザーがアップロードおよびダウンロードできる拡張ストアを提供している。提供されているプラグインには、UIを読みやすくするための調整プラグイン、スキャナーへルールを追加するプラグイン、新しい分析の機能の実装プラグインなどがある。
BurpSuiteの拡張APIはオープンソースである。Javaプラグインは公式でサポートされているが、PythonおよびRubyを使用する場合は、それぞれJythonやJRuby用のJarファイルをダウンロードする必要がある。
多くのBurpプラグインは、Portswigger社の従業員によって、同社が実施する研究のための概念実証を開発する手段として作成された。これらには、Portswigger社の研究ディレクターであるJames Kettleが作成した拡張機能「Backslash Powered Scanner」、「Param Miner」、「HTTP Request Smuggler」などが含まれる。
BChecks BChecksは、ユーザーが独自のスキャナールールを作成およびカスタマイズできるようにするため、2023年6月にBurpSuiteに追加された。厳選されたBChecksのコレクションは、Portswigger によってオープンソースのGitHubプロジェクトを通じて管理されている。
Bambdas ユーザーは、BurpSuiteのプロキシHTTP履歴、ウェブソケット履歴、およびロガーリストでカスタムHTTPリクエスト/レスポンスのインデックスフィルターを作成するためにJavaスクリプトでコードを記述できる。
See also Dynamic Application Security Testing クローラ プロキシ
脚注
外部リンク