Burpは、ペネトレーションテストやエシカルハッキング向けの評価の高いセキュリティスイートの1つです。有料のプロフェッショナル版やエンタープライズ版がある一方、コミュニティ版は無料でインストールでき、Kali Linuxから直接使うこともできます。
Burp Suiteは、セキュリティ専門家が高度なスキャンやさまざまなトラフィックの傍受(HTTPリクエストなど)を行うために広く利用しています。PortSwiggerが管理するこのツールは、包括的なドキュメントを提供しています。
エディションごとに専用のセクションが用意されています。エンタープライズ版とプロ版は高価ですが、組織によっては有用な追加機能を利用できます。無料だからという理由だけで、無料のコミュニティ版にとどまるべきではありません。サイバーセキュリティツールは通常、防止できた侵害による損失を削減することで導入費用を回収できます。1件の侵害だけで、損失が数百万ドルに及ぶこともあります。
それでも、無料版には十分な機能があるため、ここでは基本事項をいくつか確認します。
関連記事:オープンソースのペネトレーションテストツール10選
安全のためVMにBurpをインストール する
Burpを始める最も簡単な方法は、仮想マシンをいくつかインストールし、安全な環境でテストを行うことです。もちろん、Kali Linuxをインストールする必要はありません。Burp Suiteは、比較的新しいmacOS M1を含む、ほとんどのOSにスタンドアロンパッケージとしてインストールできます。
まったくの初心者は、おそらくLinuxのUbuntuまたはDebianディストリビューションを使い、インストーラーをダウンロードするのがよいでしょう。Kaliは圧倒される可能性があり、ペネトレーションテスターやエシカルハッカー向けの強化されたOSという性格が強いためです。
Burp Suiteには多くの高度な機能がありますが、最もよく使われるのは、おそらくリクエストを傍受できるBurpプロキシです。この機能をテストするには、ブラウザーが正しいプロキシを使うよう設定する必要があります。作業を簡単にするブラウザー拡張機能もあります。
いずれにしても、テストには次の要素が必要です。
- Burp Suiteをインストールしたマシン(インストールを迅速に進めるにはデフォルト設定を使用)
- Burpプロキシを設定したブラウザー(Kali上のFirefoxが最も簡単)
- 攻撃対象のWebアプリ
関連記事:ハッカーは偵察をどう利用するのか、そしてどう防ぐのか
Burp Suiteのデモをセットアップする方法
Burp Suiteはシステムにインストールすることも、Kali Linuxにあらかじめ用意されたバージョンを使うこともできます。しかし、それだけでは何をすればよいかは分かりません。
このガイドでは、ペネトレーションテストに焦点を当てます。この観点では、OWASPトップ10が目標の設定や完全な作業セッションの整理に役立ちますが、ここではいくつかの脆弱性だけを実演します。
脆弱なターゲットとして、OWASP Juice Shop(「最も現代的で高度な安全でないWebアプリケーション」)を使用します。
OWASPのチームは、教育目的でこの欠陥のあるWebアプリを維持しています。このリンクから、システム(Kali VMなど)へのインストール方法を確認してください。
さらに、Kali LinuxにはデフォルトでインストールされていないNodeとNPMも必要です。これらを用意したら、npm startでアプリを起動し、http://localhost:3000にアクセスできます。

ブラウザーが127.0.0.1のプロキシ(Burpのデフォルトポートは8080)を使うよう設定されていることを確認してください。設定方法が分からない場合は、ドキュメントを参照してください。
すべての依存関係をインストールして設定すれば、次のステップに進む準備は完了です。
Burpでリクエストを傍受する方法
Juicy Shopでできることは非常に多くありますが、ここでは登録フォームを傍受したいとします。Burpを開き(Interceptが有効になっていることを確認)、フォームを送信すれば、このような攻撃をエミュレートできます。

上のスクリーンショットは、その手順を示したものです。以下の傍受されたリクエストを見てください。

これをRepeater機能に送ると、新しい値を設定して同じリクエストを送信することで、ダッシュボードから新しいユーザーを直接登録できるようになります。アプリに欠陥があるため、実際に機能します。
「send」をクリックして新しいユーザーを登録し、さらに情報を取得できます。

このフォームは「customer」ロールでユーザーを作成するようですが、ペネトレーションテスターとしては、「administrator」や「admin」など、より高いロールを取得できないかを確認するでしょう。本来は起きてはならないことですが、これが実現すれば、このショップは完全に攻略されたことになります。
方法はいくつかありますが、簡単なのは、先ほど傍受した登録フォームに新しいキーと値のペア「role=admin」を追加し、細工したリクエストを送信することです。

ご覧のように「success」ステータスが返り、新しいadminアカウントでログインすると、新たなチャレンジを解決できました。

OWASPのチームは教育目的でJuicy Shopを作成しているため、環境を完全に掌握するには、まだ解除すべきチャレンジがほかにもあります。それでも、よいスタートと言えるでしょう。
関連記事:
Burpを使えばペネトレーションテストは簡単か
ここでは無料のコミュニティ版だけを使いましたが、洗練されたインターフェースからも十分な価値を得られます。データの取得、さまざまな形式への変換、リクエストのデコードと再送、脆弱性のスキャンに必要な機能がすべて揃っています。
さらに、BAppストアを使ってBurpの動作をカスタマイズすることもできます。コミュニティ版でも無料の拡張機能を利用できます。
ペネトレーションテスターにとっては、ワークスペースや、作業を整理して保存するためのプロジェクトを作成できる機能が便利です。侵入モードでは、悪意のあるペイロードを読み込み、ターゲットに送信できます。
次に読む:オープンソースの脆弱性評価ツール10選





