OWASP ZAP で Webアプリの脆弱性診断 (2:設定~スキャンの実施)

 本記事は、Windows11にインストールしたOWASP ZAPでWebアプリケーションの脆弱性をスキャンする手順のメモとなります。

 OWASP ZAPはOWASPというWebアプリケーションに関するコミュニティが作成している、Webアプリケーションを対象とした脆弱性スキャナーです。こちらの記事でインストール手順を解説しており、今回は実際にスキャンを実施してみます。スキャン対象には、こちらの記事で構築したWordPressを利用します。

 脆弱性スキャンは自身で構築したWebアプリケーションなど、許可された対象に実施してください。第三者のWebアプリケーションに対しての実行は、不正アクセスとみなされる可能性もあるため実施しないようにしましょう。またパブリッククラウド上に構築したWebアプリケーションの場合は、脆弱性スキャンを実施する旨を事前にパブリッククラウド業者へ申請する必要がある場合がありますのでご注意ください。


◆ OWASP ZAP による設定~スキャン手順
(2023年8月時点)

 スキャンまでの手順は大まかに以下の手順となります。

Ⅰ.OWASP ZAPの設定
Ⅱ.Firefoxの設定
Ⅲ.OWASP ZAPによるスキャン

Ⅰ.OWASP ZAPの設定

Ⅰ-1.
デスクトップ上のアイコン等からOWASP ZAPを起動します。

Ⅰ-2.
起動が完了するまでしばらく待ちます。

Ⅰ-3.
起動中に以下のようなWindowsDefenderファイアウォールの警告が出た場合は、「アクセスを許可する」をクリックします。

Ⅰ-4.
起動が完了すると、セッションの保存方法を問われます。ここでは「現在のタイムスタンプでファイル名を付けてセッションを保存」を選択して「開始」ボタンをクリックします。

Ⅰ-5.
画面左上のモード選択のプルダウンで「プロテクトモード」を選択します。これを選択することで、Webアプリケーション中のリンクなどから意図せず外部のURLにまで診断を行うことを防げるようです。

Ⅰ-6.
メニューバーで「ツール」を選択し、「オプション…」をクリックします。

Ⅰ-7.
左メニューの「Network」内の「Local Server/Proxies」を選択します。アドレス欄に『localhost』と入力し、ポート欄に『8080』など、他のアプリケーションで利用していないポート番号を指定します(このポートは後の手順でFirefoxのプロキシ設定に使用します)。その後「OK」ボタンをクリックします。

Ⅱ.Firefoxの設定

Ⅱ-1.
Firefoxを開き、右上のメニューから「設定」をクリックします。

Ⅱ-2.
一般メニューのネットワーク設定にある「接続設定」ボタンをクリックします。

Ⅱ-3.
インターネット接続に使用するプロキシーの設定で「手動でプロキシーを設定する」を選択します。HTTPプロキシー欄で『localhost』と入力し、ポートはⅠ-7でOWASP ZAPに設定したポートを指定します。「このプロキシーをHTTPSでも使用する」のチェックを入れます。SOCKSホスト欄も同様に『localhost』と入力し、ポートはⅠ-7でOWASP ZAPに設定したポートを指定します。「OK」をクリックします。

Ⅲ.OWASP ZAPによるスキャン

Ⅲ-1.
画面右側中央の「Manual Explore」をクリックします。

Ⅲ-2.
URL to explore欄にスキャンしたいWebアプリケーションのURLを入力します。ここではこちらの記事でPC内に作成したWordPressを指定します。その後「ブラウザの起動」ボタンをクリックします。

Ⅲ-3.
Firefoxが起動し、スキャン対象のWebアプリケーションが開いたのちに、画像のような「Welcome to the ZAP HUD」が表示されます。

Ⅲ-4.
左側にアクセスしたWebアプリケーションの階層が表示されるので、スキャンしたいトップ階層(ここでは127.0.0.1中のwordpressから)を右クリックし、「コンテキストに含める」>「新規コンテキスト…」を選択します。このようにしてコンテキストに含めることで、含めた階層以下に対する脆弱性スキャンが可能になります。

Ⅲ-5.
左上に新規コンテキストの名前を入力します。コンテキストに含まれるURLが意図したURLであることを確認し、「OK」ボタンをクリックします。

Ⅲ-6.
コンテキスト以下に追加されたスキャン対象を右クリックし「動的スキャン…」をクリックします。

Ⅲ-7.
動的スキャンのウィンドウが開くので「再帰的」にチェックを入れて「スキャンを開始」をクリックします。

Ⅲ-8.
スキャンが実行されるので、完了までしばらく待ちます。

Ⅲ-9.
「100%」となればスキャン完了です。左中央にある「アラート」をクリックします。

Ⅲ-10.
対象のWebアプリケーションに存在する脆弱性が確認できます。左のアラート一覧からそれぞれのアラートをクリックすることで、右側で脆弱性の詳細を確認できます。

そのアラートの脆弱性の詳細な内容の解説もあります。

また、どのような対処を行えばよいかのヒントも記載されていますので、これを参考にしてパッチを適用する、Webサーバーなどの設定変更を行う、といった対処を行い脆弱性を低減させていきましょう。今回はここまでとなります、お疲れさまでした。


◆ 参考文献

【OWASP ZAP】インストールと基本的な使い方【Web脆弱性診断】 | チグサウェブ (chigusa-web.com)
OWASP ZAPを使ったWebシステムの脆弱性診断【前編】|Solution – ソリューション|株式会社イージェーワークス (ejworks.com)
OWASP ZAPの設定と使い方 – Qiita

OWASP ZAP で Webアプリの脆弱性診断 (1:インストール)

 本記事は、Windows11にOWASP ZAPをインストールする手順のメモとなります。

 OWASP ZAPはOWASPというWebアプリケーションに関するコミュニティが作成している、Webアプリケーションを対象とした脆弱性スキャナーです。WebアプリケーションURLを指定してスキャンを行うことで、そのWebアプリケーションがもつ脆弱性を見つけることができます。
 脆弱性とは、プログラムの不具合や設計のミスによって発生した情報セキュリティ上の欠陥のことです。例えば、大まかにいうとWebアプリケーション内のテキストボックス(ログインID入力ボックスなど)にSQL(データベース操作言語)を入れることでデータを操作するSQLインジェクションなどがあります。

 実際にOWASP ZAPによってWebアプリケーションの脆弱性を診断する手順については次の記事で紹介します。


◆ OWASP ZAPインストール手順 (2023年8月時点)

 インストールは大まかに以下の手順となります。

Ⅰ.FireFoxのインストール
Ⅱ.OpenJDK (Amazon Corretto) のインストール
Ⅲ.OWASP ZAP のインストール

Ⅰ.Firefoxのインストール

 OWASP ZAPは自身をプロキシとして設定したWebブラウザからアクセスしたサイトに対して診断をかけます。EdgeやChromeのプロキシ設定はOSのプロキシ設定に利用するため、OSのプロキシ設定にOWASP ZAPを設定しなければなりませんが、Firefoxは独自にプロキシ設定を保持できるので、Firefoxのインストールをお勧めします。

Ⅰ-1.
mozillaサイトのFirefoxのページ(https://www.mozilla.org/ja/firefox/new/)にアクセスし、「Firefoxをダウンロード」をクリックします。

Ⅰ-2.
インストーラーのexeファイルがダウンロードされますので、起動します。

Ⅰ-3.
インストールが開始されるので待ちます。

Ⅰ-4.
Firefoxが立ち上がればインストールは成功です。こちらは閉じて構いません。

Ⅰ-5.
デスクトップ上にできたFirefoxのショートカットを右クリックし、「プロパティ」を選択します。

Ⅰ-6.
「ショートカット」タブにあるリンク先について、exeファイルの存在するパス(デフォルトでは ”C:¥Program Files¥Mozilla Firefox” )をコピーします。

Ⅰ-7.
スタートメニューの検索で「sysdm.cpl」をクリックし、「管理者として実行」を選択します。

Ⅰ-8.
開いた「システムのプロパティ」ウィンドウにて「詳細設定」タブの「環境変数」ボタンをクリックします。

Ⅰ-9.
システム環境変数の「Path」を選択し、「編集」ボタンをクリックします。

Ⅰ-10.
「新規」ボタンをクリックし、追加された行にFireFoxのインストールパス
 ”C:¥Program Files¥Mozilla Firefox”
を追加します。
その後「OK」ボタンをクリックします。

Ⅰ-11.
「OK」ボタンをクリックして環境変数ウィンドウを閉じます。

Ⅰ-12.
「OK」ボタンをクリックしてシステムのプロパティウィンドウを閉じます。

Ⅱ.OpenJDK (Amazon Corretto) のインストール

 OWASP ZAPを動作させるためにはJDKのインストールが必要になります。ここではAmazonが提供しているOpenJDKの「Amazon Corretto」のバージョン17をインストールします。

Ⅱ-1.
Amazon Correttoのページにアクセスし、右側の「Amazon Corretto 17 をダウンロードする」ボタンをクリックします。

Ⅱ-2.
利用OSに合わせてインストーラーをダウンロードします。今回はWindows11にインストールしますので、Windows x64版のmsiインストーラーをダウンロードします。
ダウンロードしたインストーラーをダブルクリックで起動します。

Ⅱ-3.
インストーラーが起動しますので「Next」をクリックします。

Ⅱ-4.
インストール機能、インストール先のパスはデフォルトのまま「Next」をクリックします。

Ⅱ-5.
「Install」をクリックします。

Ⅱ-6.
「Finish」をクリックします。

Ⅱ-7.
コマンドプロンプトを開き、以下のコマンドを実行します。
  java –version

バージョン情報が出ればインストール成功です。

Ⅲ.OWASP ZAP のインストール

Ⅲ-1.
OWASP ZAPのページにアクセスし、「Download Now」ボタンをクリックします。

Ⅲ-2.
最新バージョンの Windows (64) Installer の「Download」ボタンをクリックします。
ダウンロードされたexeファイルをダブルクリックで実行します。

Ⅲ-3.
インストーラーが開始されるのでしばらく待ちます。

Ⅲ-4.
「次へ」をクリックします。

Ⅲ-5.
ライセンス契約の「承認する」を選択し、「次へ」をクリックします。

Ⅲ-6.
インストール形式で「標準インストール」を選択し、「次へ」をクリックします。

Ⅲ-7.
「インストール」をクリックします。

Ⅲ-8.
インストール完了まで待ちます。

Ⅲ-9.
「終了」をクリックします。


◆ 参考文献

脆弱性(ぜいじゃくせい)とは?|どんな危険があるの?|基礎知識|国民のための情報セキュリティサイト (soumu.go.jp)
【OWASP ZAP】インストールと基本的な使い方【Web脆弱性診断】 | チグサウェブ (chigusa-web.com)
OWASP ZAPを使ったWebシステムの脆弱性診断【前編】|Solution – ソリューション|株式会社イージェーワークス (ejworks.com)