Burp Suiteの利用
ハッカーが利用するセキュリティツールは多数あります。
Kali Linux OSを見ていただければわかりますが、うんざりするくらいセキュリティツールがインストールされています。
これらのプログラムを利用すれば、ハッキングできたり、パスワードを解析できる素晴らしいツールたちです。
ここでは、ウェブアプリケーションのテストに大活躍するBurp Suiteについて、わかりやすく説明したいと思います。
Burp Suiteとは?
Burp Suite(バープ スイート)は、ウェブアプリケーションのセキュリティテスト、ペネトレーションテスト、バグバウンティで利用されるツールです。
主な機能はリバースプロキシとして動作するBurp Proxyです。
Burp Proxyは、クライアント(Webブラウザーなど)とWebサーバー間に流れるウェブアプリケーションの通信を媒介するツールでプロキシーサーバーの役目をする機能です。
Burp Proxyを簡単に説明すると
Webブラウザからウェブサイトにアクセスする場合、その通信はブラウザとウェブサーバーの間で行われます。Burp Proxyを使用すると、その通信を仲介し、ブラウザとウェブサーバーの間に挟まって通信内容を確認したり、編集したりすることができます。
例を挙げると、Burp Proxyは「郵便局のポスト」です。
手紙を出す人(ブラウザ)は自分の手紙をポストに入れ、宛先の人(ウェブサーバー)に送ります。手紙がポストに入ると、通常はそのまま手紙を宛先の人に送りますが、Burp Proxyの機能として、ポストの中で「手紙の内容を勝手にみる」とか「手紙の内容を改ざん」をすることができます。
その後、ポストから手紙が出され、宛先の人に届きます。
※郵便局員が行えば当然犯罪になります。(^^;
Burp Proxyは、そのポストのような役割を果たします。ブラウザからの通信(手紙)をBurp Proxyに送ると、Burp Proxyはその通信内容を確認したり、編集したりすることができます。
これにより、ハッカーはセキュリティ上の問題や脆弱性を発見することができます。また、開発者はアプリケーションの通信を編集し、テストやデバッグを行うことができます。
よって、Burp Suiteが使えるようになれば、ウェブアプリケーションのテストに関しては「鬼に金棒」ということです。
Burp Suiteで見つかる脆弱性
Burp Suiteを利用することで、さまざまな種類のセキュリティ上の不具合や脆弱性が発見される可能性があります。
以下に、Burp Suiteを利用して発見される可能性のある脆弱性をいくつか挙げてみます。
(これらは一部の例であり、Burp Suiteを使用して発見される可能性のある不具合や脆弱性はさまざまです。)
・インジェクション攻撃
Burp Suiteを使用して送信されたリクエストのパラメーターに対して、SQLインジェクションやOSコマ ンドインジェクションなどの攻撃を試みることができます。もしアプリケーションが適切に入力検証やサニタイズを行っていない場合、これらの攻撃は成功し、機密情報の漏洩やシステムの破壊などの影響をもたらす可能性があります。
・クロスサイトスクリプティング(XSS)
Burp Suiteを使ってアプリケーションに送信される入力値に対して、XSS攻撃を行うことができます。もしアプリケーションが適切なエスケープや入力検証を行っていない場合、攻撃者は不正なスクリプトを実行し、ユーザーのセッション情報を盗み取るなどの悪意のある行動を行うことができます。
・CSRF (Cross-Site Request Forgery)
Burp Suiteを使用して、アプリケーションに送信されるリクエストを改ざんすることでCSRF攻撃を実施することができます。これにより、攻撃者はユーザーのアカウントで不正な操作を行ったり、アカウントを乗っ取ったりすることが可能になります。
・セッションハイジャッキング
Burp Suiteを使用して、セッションIDや認証トークンなどのセッション情報を盗み取ることができます。これにより、攻撃者は他のユーザーのアカウントに不正にアクセスしたり、セッションを乗っ取ることができます。
・セキュリティヘッダーの不足
Burp Suiteを使用して、アプリケーションのレスポンスヘッダーを分析することで、セキュリティヘッダーの不足や不適切な設定を発見することができます。例えば、X-Frame-OptionsヘッダーやContent-Security-Policyヘッダーが適切に設定されていない場合、クリックジャッキングやXSS攻撃のリスクが高まります。
・ファイルアップロードの脆弱性
Burp Suiteを使用して、アプリケーションにファイルをアップロードする際の検証や制限を回避する方法を見つけることができます。これにより、悪意のあるファイルのアップロードや実行が可能になり、システムに影響を及ぼす可能性があります。
・ディレクトリトラバーサル
Burp Suiteを使用して、アプリケーションに送信されるファイルパスやディレクトリパスを操作し、セキュリティ制限を回避することができます。これにより、攻撃者はファイルやディレクトリに不正アクセスし、機密情報を取得する可能性があります。
・不正な認証やアクセス制御
Burp Suiteを使用して、アプリケーションの認証やアクセス制御機構に関連する不具合や脆弱性を発見することができます。これにより、攻撃者は認証をバイパスしたり、不正な機能やデータにアクセスしたりすることが可能になります。
・セッション管理の不備
Burp Suiteを使用して、アプリケーションのセッション管理に関連する不具合や脆弱性を見つけることができます。これにより、攻撃者はセッション固定攻撃やセッション図書館攻撃などの手法を利用して、他のユーザーのセッションを乗っ取ることが可能になります。
・APIの不正利用
Burp Suiteを使用して、アプリケーションのAPIエンドポイントに対する不正なアクセスや操作を検出することができます。これにより、攻撃者はAPIを不正に利用して機密情報を取得したり、システムを破壊したりすることが可能になります。
「Burp Suite」のインストール方法とテストで利用する「やられサーバー」について
・やられサーバーを作成される方は、こちらをご覧ください。
Burp Suiteを使ってみましょう
説明を読んでも、なかなか理解できません。
実際に「手を動かして」イメージするのが一番です。
上部の説明にあった、ポストに手紙を入れて、手紙を盗み見しましょう。
それでは、動かしてみましょう。
1.Burp Suiteを起動します。
2.Burp Suite起動中です。
3.Burp Suiteが立ち上がりました。
「プロジェクトを作成または開くには、以下のオプションを使用します。」とあります。
無料版を利用しているで「Temporary project in memory(メモリ内の一時プロジェクト)」を利用しす。右下の「Next」ボタンを押下します。
4.このプロジェクトからロードしたい設定を選択します。とあります
こちらも無理版を利用しているので「use burp defaults(burpのデフォルトを使用します)」を利用します。右下の「Start Burp」ボタンを押下します。
5.プロジェクトをスタートさせています。
6.Burp Suiteの「Dashboard」が立ち上がりました。
7.ポストに手紙を入れる準備を行います。
上部メニューの「Proxy」から「Intercept」のタブを選択します。
ここで、大切なことがあります。(ここ大事!!)
「Intersept is off」は、ポストに入った手紙(情報)をそのまま宛先の人に送ります。
(HTTP通信をキャプチャーしません。)
反対に「Intersept is off」ボタンをクリックして、「Intersept is on」にすると、ポストに入った手紙(情報)はそのままの状態で、指示があるまで送りません。
(HTTP通信をキャプチャーします。)
※もう一度、「Intersept is on」ボタンをクリックすると「Intersept is off」ボタンに変わります。
とりあえず、「Intersept is off」の状態で始めます。
8.ポストに手紙を投函するためにブラウザを開きます。
画面の中央に「Open browser」ボタンを押下します。
9.ブラウザが立ち上がります。
10.アドレス欄に「やられサーバー」のアドレスを入力し、やられサーバーがブラウザに表示されました。
「Intersept is off」なので、localhost/dvwa/login.phpをポストに入れて、webサーバからの情報をブラウザに表示された状態です。
「Proxy」→「HTTP history」を開くと、今のポストの履歴が表示されています。
11.ここからポストに入れた内容を確認したいので、「Proxy」→「Intercept」より、「Intersept is off」をクリックして「Intersept is on」にします。
12.次に、ブラウザに「Username」と「Password」を入力し、「Login」ボタンを押下します。
13.「Proxy」→「Intercept」の画面でポストの中の情報が表示されます。(サーバーへのリクエストの状態です。)
※入力したadmin情報、password情報が確認できます。
※緑色の矢印はリクエスト(request)の情報です。
14.この情報はポストに入っている状態なので、「Forward」ボタンを押下して、サーバーに情報をおくります。
※オレンジの矢印はレスポンス(response)の情報です。
15.「Intersept is on」の状態なので、サーバーから送信されたレスポンスの情報がポストで情報が止まり、レスポンスの内容が表示されます。
16.この情報はポストに入っている状態なので、「Forward」ボタンを押下して、ブラウザに情報をおくります。
17.レスポンスの情報がブラウザに表示されました。
なぜ、ハッカーはBurp Suiteを利用するのですか?(1) 全体のイメージをつかむのまとめ
Burp Suiteを利用すると、実際にどんな情報をリクエストして、どんな情報がレスポンスで帰って来るかが目に見えてわかるのですね。
今回は、イメージを掴んでもらいたいため、簡単な操作をしていただきましたが「Burp Suiteで見つかる脆弱性」でもわかる通り、使い方をマスターすれば脆弱性が見つかる可能性が高くなります。
ぜひ、Burp Suiteをマスターしたいですね。