ZAPROXYでサイト診断(3)

Kalilinux

ZAPROXYも予想外にも3回目となりました。前回からの続きです。

これまでの操作の復習

ZAPの立ち上げ

kali ー 03-Web Application Analysis ー zaproxy

zaproxy

ZAPの起動画面

ZAP

プロテクトモードに変更

立ち上がったコンソールの左上の ” Mode ” を ” Protected Mode ” に変更。(一度変更すると次回起動時からのデフォルトが変わります)

Protected Mode

ブラウザのプロキシにZAPを設定

最も簡単な方法は右上の ” FireFox ” マークをクリックして、自動的にZAPがプロキシに設定されたFireFoxを起動。

FireFox proxy

この操作で立ち上がったFireFoxで任意のサイトをブラウズすると、ブラウズとサイトの間のデータのやり取りが全てZAPにモニターされます。

証明書の設定

ZAP側からの証明書発行

Tools > Options > Network > Server Certificates > Save

ZAP Server certificate

ブラウズ側の証明書登録

Seyyings > Privacy & Security > Security > certificates > View Certificates…

privacy security setting

Import…から設定。

事前準備の続き(コンテキストへの登録)

FireFoxでブラウズしたサイトの一覧が、ZAPの左上欄にも表示されます。

sites

上図では ” 192.168.11.21 ” が左上欄の ” Sites ” に記録されています。

これはラズパイ4B(図右)をサーバーとして立ち上げたWEBサイトです。

raspberry pi 4B

コンテキストに登録

左上 ” Sites ” 欄を右クリックして、 ” Include in Context ”  ー  ” New Context ” を選択します。

include in contexts

次のダイアログで ” OK ”

session properties

ターゲットのWEBサイトが ” Contexts ” 欄に登録されます。

contexts

” Contexs ” 欄に登録されたサイトがターゲットとなります。

これで準備は整いました。

サイトの診断について

スパイダースキャン

ターゲットサイトに含まれているページをスキャンして収集します。

左上欄 ” Contexts ” 欄のターゲットサイトを右クリックして、 ” Spider… ” を選択。

spider

次のダイアログで ” Start Scan ”

spider

画面下欄にスキャンの結果(=サイトの全ページ一覧)が表示されます。

spider result

アクティブスキャン

サイト内の存在しないはずの(隠し)ページまでスキャンしたり、フォームに入力してみたり様々な検査を行います。

左上欄 ” Contexts ” 欄のターゲットサイトを右クリックして、 ” Active Scan… ” を選択。

active scan

次のダイアログで ” Start Scan “

active scan properties

下欄の表示:存在しないはずのページを(当てずっぽうで表示しようとして)検査しています。

この操作、やられる側から見れば迷惑行為以外の何者でもないですね。

active scan result

スキャン時間は、今回は殆ど内容が無いWEBサイトなので1分程で終わりましたが、実際に本物のサイトを検査すると数時間〜数十時間かかるようです。

下欄の ” Alerts ” タブでは、発見されたアラートの一覧が表示できます。

alerts

アラートの詳細表示。

alert detail

パッシブスキャンについて

パッシブスキャンを開始するボタンはありません。

パッシブスキャンはZAPをプロキシに設定した瞬間から自動的に始まっています。

プロキシに設定されているZAPは、ブラウザとWEBサーバーの間に立って、そのデータのやり取りを仲介しています。

なのでそのZAPを通過するデータは黙っていてもモニターして検査できる訳であり、デフォルトで最初から検査しています。

この行為はブラウザ側もしくはサーバー側の少なくともどちらか一方が自分の管理下である限り、違法行為ではありません。

つまりデフォルトでパッシブスキャンが行われているので、ブラウザでサイトを見るだけで勝手にそのデータを分析してくれています。

左上欄にはブラウザで訪問したWEBサイトが蓄積していきますし、下欄の ” Alerts ” タブには集めたアラート情報が集積されていきます。

passive scan

” Alerts ” 欄の各項目をクリックすると詳細情報が出てきます。(私にそれを解説するスキルはありませんけど)

結果の出力・保存

上段メニューの ” Report ” から、 ” Generate Report… ” を選択し、

report

ダイアログで保存先のディレクトリ(上から3番目)と、保存したいターゲットWEBサイト(上から6番目)を選択します。

保存先はデフォルトではホームディレクトリとなりますが、下図ではホーム下に ” zapreport ” ディレクトリを作成して保存先にしています。

report property

結果はHTMLで表示されます。

report result1
report result2
report result3

レポートが保存されているディレクトリ

report location

まとめ

ZAPの解説を結局3回に分けて行いました。

これで一応、他人に迷惑をかけない検査ができるようになりました。多分。

ZAPは、ほぼ同機能ツールのBurpsuiteに比べて大量で詳細なデータ収集が出来ますが、一方で不要なデータまで収集して来るので、その解析にはまだ勉強が必要です。

つまりZAPの集めるデータは特異度が低く感度が高い。Burpsuiteはその逆のようです。

コメント

タイトルとURLをコピーしました