ハッカーはBurp SuiteでWebアプリケーションの通信内容を傍受する(Kali Linux)
Webアプリケーションのセキュリティを確認するBurp Suiteツールを理解するためにまとめてみました。
このBurp Suiteの動作確認は自分のローカルテスト環境で行っています。(VM VirtualBox)
Burp Suiteとは
Burp Suiteは、Webアプリケーションのセキュリティテストを行うための統合プラットフォームです。様々なツールがシームレスに連携し、アプリケーションの攻撃対象領域の初期マップ作成と分析から、セキュリティ脆弱性の発見と悪用まで、テストプロセス全体をサポートします。
機能
・パソコンのブラウザまたはアプリケーションからサーバーにアクセスしたときのインターネットの情報を、ローカルプロキシを通して視覚的に通信内容を確認することができます。
[word_balloon id="1″ size="M" position="L" name_position="under_avatar" radius="true" balloon="talk" balloon_shadow="true"]思い出したのですが、20年ぐらい前に社長から「社員が仕事中に変なホームページを見ていないか調査せよ。」と指示を受けて社内のネットに流れている「IPアドレス」と「URL」を調べたことがあります。(^^;;
調査の結果、仕事に関係の無いビックリするようなホームページを仕事中にみている社員がいっぱいしました。
たぶん一緒の機能だと思います。[/word_balloon]
ツールの場所
[Applications]→[03-Web Application Analysis]→[Burp Suite]
Burp Suiteの準備
Burp Suiteのアップデートの確認
「Burp Suite Community Edtion」の画面でアップデートが可能ですとお知らせがきていました。
とりあえず「don’t show again for one week」にして「Close」ボタンを押下します。
(※あとでアップデートしましょうね。)
プロジェクトの作成
「Welcome to Burp Suite Community Edtion.Use the optiohs below to create or open a project.」
(Burp Suite Community Edtionへようこそ!プロジェクトの作成や公開には、以下のオプショをご利用ください。)
たぶん、「Community Edtion」のため「◎Temporary project」にしかチェックが入れられないため、チェックを入れて「Next」ボタンを押下します。
プロジェクトのコンフィギュレーションを選択
select the configuration that you would like to load for this project.
(このプロジェクトにロードするコンフィギュレーションを選択します。)
「burpのデフォルトを使用します。」と「設定ファイルからロードします。」の2つの選択肢がありますが、設定ファイルがないので、「◎Use Burp defaults」にチェックを入れて「StartBurp」ボタンを押下します。
Burp Suite初期画面
「Dashboard」タブです。
Burp Suiteの初期設定
Proxyの設定
「Proxy」→「Options」を選択します。
ループバック「127.0.0.1:8080」が選択されていることを確認して下さい。
※ループバック「127.0.0.1:8080」が設定されていない場合は、「Add」ボタンを押下して、Bind to port:8080とBind to address:◎Loopback onlyを選択して「Ok」ボタンを押下してください。
(あとは初期値のままでOKです。)
Intercept Serverのレスポンスの取得
同じ画面の少し下部に「Intercept requests based on the following rules:」にチェックを入れます。
ブラウザのプロキシーの設定
Kali Linux内でテストするブラウザとして「Firefox」を使います。
理由はFirefoxは独自でプロキシ設定を持っているためです。他のブラウザはプロキシの設定が出来ませんでした。
(1)Firefox ESR起動
Kali Linuxの左上の「ドラゴン」のボタンをクリックして検索フィールドで"Firefox"で検索して「Firefox ESR」をクリックします。
(2)ブラウザの左上部の「三本線」をクリックします。表示されたメニューから「Preferences(歯車マーク)」を選択します。
(3)一番下部にある「Network Settings」の「Settings…」をクリックします。
(4)「Configure Proxy Access to the Internet」の画面で、
「◎Manual proxy configuration」にチェックを入れて、
「HTTP Proxy」に「127.0.0.1」、
「Port」を「8080」を設定して「OK」ボタンを押下します。
Webアプリケーションの通信内容を傍受する流れの例
VirtualBoxでやられサーバーとして「bWAPP」があり、攻撃サーバーの「Kali Linux」を使って通信内容を傍受します。
1.VirtualBoxを立ち上げて、「Kali Linux」と「bWAPP」を起動します。
2.「Kali Linux」で「Burp Suite」を実行します。
そして、「◎Temporaly projiec」を選んで「Next」ボタンを押下、次に「Use Burp defaults」を選択して「Start Burp」ボタンを押下します。
3.「Burp Suite Community Edtion」の初期画面が表示されます。
4.「Proxy」タブをクリックして、Proxyの画面を表示します。
これで、Burp Suiteの準備はできました。(HTTP historyのタブを表示しています。)
5.「Kali Linux」で「Firefox」ブラウザを立ち上げます。
6.ブラウザのアドレス欄に「http://192.168.56.4/bWAPP/login.php」を設定して、「Enter」ボタンを押下します。
7.「Burp Suite Community Edtion」画面の「HTTP history」タブにブラウザに設定した情報が傍受されました。
8.傍受した情報を参照するために画面の1番目の情報をクリックすると「Request」の情報が表示されます。
GET /bWAPP/login.php HTTP/1.1
Host: 192.168.56.4
※アドレス欄の情報が表示されています。
参照が完了したら「Request」の画面を「×」で削除します。
9.「Intercept」タブの「Intercept is…」ボタンを押下して上記の情報を「やられサーバーbWAPP」に送ります。
すると「やられサーバーbWAPP」が応答を返してブラウザに「bWAPP」のホームページが表示されます。
9.ブラウザに表示されいる「bWAPP」のホームページに「Login:bee」「Password:bug」を設定して「Login」ボタンを押下します。
10.「Burp Suite Community Edtion」画面の「HTTP history」タブの3番目にログインの情報が傍受されています。
11.傍受した情報を参照するために画面の3番目の情報をクリックすると「Request」の情報が表示されます。
login=bee&password=bug&security_level=0&form=submit
※ログインの情報とパスワードの情報が表示されています。
このような操作で情報を傍受することができました。
Webアプリケーションの通信内容を傍受する流れの例は実際に操作しないと理解するのは難しいかもしれません。
Burp Suiteのまとめ
今回使用したBurp Suiteは「Community」(無料版)のため機能制限がある様子です。
(有料の「Enterprise」「Professional」があります。)
とりあえずサーバーに送信している通信内容は傍受できました。
いろんなことが出来そうですが、追々確認したいと思います
便利な機能がたくさんありますが、理解するのが大変です。(^^;;