このブログは、3月までN高等学校に潜んでいた株式会社Armorisの社員が書いています。
あるもりすぶろぐの内容は個人の意見です。
OWASP ZAP で手軽に Webサイトスキャン
今回の Armoris日記は OWASP ZAP 初級編ということでインストールとログの取得やサイトスキャンなどの簡単な使い方の解説をします。
いずれ初級編以外のバージョンも作るかもしれません。
OWASP ZAP とは OWASP (Open Web Application Security Project) と言われる Webアプリケーションのセキュリティに関する研究などを行っている組織が、OSS として公開している Webアプリケーションや Webサービスの脆弱性を診断するためのツールです。
今回の記事では現時点で最新のバージョン 2.9.0 を使用しています。(2020/09/17)
インストールと起動
まずはリンク先のダウンロードページから自身の環境にあったインストーラーをダウンロードしてください。
ダウンロードが完了したらインストーラーの指示に従ってインストールを進めてください。
インストールが完了したら OWASP ZAP を起動します。
起動中の状態。
起動が完了した状態。
通信ログを確認するための設定
通信ログを確認するためには OWASP ZAP と Webブラウザーでそれぞれ設定が必要です。
まずは OWASP ZAP の設定箇所を説明します。
OWASP ZAP の左上あたりにある歯車のマークを押して設定を開いてください。
設定を開いたら画像のように左の項目から ローカル・プロキシ の項目を探し、Address: と ポートの部分を変更します。
ポートの部分は右にスクロールすることで入力部分が確認できます。
Address → localhost
ポート → 8090 (今回は8090を使用)
変更が完了したら OK を押して設定を反映します。
次に HTTPS通信用の証明書を保存します。
左の項目から ダイナミック SSL証明書 の項目を探し、生成 を押して証明証が生成されたら 保存 を押してわかりやすい場所に保存します。
次にブラウザーでの設定です。
今回は Firefox での設定例です。
画像のように Firefox の設定を開き、一般の一番下にあるネットワーク設定から 接続設定... を開きます。
接続設定を開いたら手動でプロキシーを設定するを選択し、 localhost と先ほど設定したポート番号を入力します。
次にプライバシーとセキュリティの一番下にある 証明書を表示...を開きます。
設定が開いたら認証局証明書を押して 読み込む... から先ほど保存した証明書を読み込みます。
証明書を読み込む際に画像のように以下の部分にチェックをつけておきます。
通信ログを確認してみる
ここまでの設定が完了したら OK を押して設定を保存し、実際に Webページを開いてみましょう。
画像のように OWASP ZAP に通信ログが表示されていれば成功です。
最後に OWASP ZAP の機能を試してみる
最後に OWASP ZAP の機能である脆弱性スキャンを試してみます。
これは必ず自分の管理下にあるサイトに対して行ってください。また、実行はあくまでも自己責任でお願いします。
今回は Ansible を使用して WordPress の環境を準備したのでそちらを使用します。
まずはスキャン対象のサイトにアクセスし、OWASP ZAP のサイト一覧に追加されていることを確認します。
次にスキャン対象のサイトURL を右クリックし、攻撃から今回は動的スキャンを実行してみます。
スキャン開始を押すとスキャンが実行されます。
スキャン実行中の様子です。
スキャンが終了すると以下の画像のように進行状況が 100% になりアラートの数などが表示されます。
最後に
今回は OWASP ZAP の簡単な使い方を紹介しました。
OWASP ZAP は特定のリクエストがきたらそこで一度通信を止め、リクエストを改変してから再び送るなどの操作が容易に行えます。そのため実際の脆弱性検証でも使われることが多いツールです。
また、他にも多くの機能があるためこれを機に使しずつ機能を試しながら使えるようになると、損はないのではないでしょうか。
脆弱性スキャンは自身で管理する VirtualBox などの環境に対して行うようにしましょう。