Armoris日記 OWASP ZAP 初級編

このブログは、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) f:id:Armoris:20200917181239p:plain

インストールと起動

まずはリンク先のダウンロードページから自身の環境にあったインストーラーをダウンロードしてください。

ダウンロードが完了したらインストーラーの指示に従ってインストールを進めてください。

インストールが完了したら OWASP ZAP を起動します。
起動中の状態。
f:id:Armoris:20200917181219p:plain

起動が完了した状態。 f:id:Armoris:20200917181720p:plain

通信ログを確認するための設定

通信ログを確認するためには OWASP ZAP と Webブラウザーでそれぞれ設定が必要です。
まずは OWASP ZAP の設定箇所を説明します。

OWASP ZAP の左上あたりにある歯車のマークを押して設定を開いてください。
設定を開いたら画像のように左の項目から ローカル・プロキシ の項目を探し、Address:ポートの部分を変更します。
ポートの部分は右にスクロールすることで入力部分が確認できます。
Address → localhost
ポート → 8090 (今回は8090を使用) f:id:Armoris:20200917182854p:plain
変更が完了したら OK を押して設定を反映します。

次に HTTPS通信用の証明書を保存します。
左の項目から ダイナミック SSL証明書 の項目を探し、生成 を押して証明証が生成されたら 保存 を押してわかりやすい場所に保存します。
f:id:Armoris:20200917184737p:plain

次にブラウザーでの設定です。
今回は Firefox での設定例です。

画像のように Firefox の設定を開き、一般の一番下にあるネットワーク設定から 接続設定... を開きます。
f:id:Armoris:20200917183640p:plain

接続設定を開いたら手動でプロキシーを設定するを選択し、 localhost と先ほど設定したポート番号を入力します。
f:id:Armoris:20200917183749p:plain

次にプライバシーとセキュリティの一番下にある 証明書を表示...を開きます。
f:id:Armoris:20200917185428p:plain

設定が開いたら認証局証明書を押して 読み込む... から先ほど保存した証明書を読み込みます。
f:id:Armoris:20200917185525p:plain

証明書を読み込む際に画像のように以下の部分にチェックをつけておきます。
f:id:Armoris:20200917185537p:plain

通信ログを確認してみる

ここまでの設定が完了したら OK を押して設定を保存し、実際に Webページを開いてみましょう。
画像のように OWASP ZAP に通信ログが表示されていれば成功です。
f:id:Armoris:20200917185941p:plain

最後に OWASP ZAP の機能を試してみる

最後に OWASP ZAP の機能である脆弱性スキャンを試してみます。
これは必ず自分の管理下にあるサイトに対して行ってください。また、実行はあくまでも自己責任でお願いします。

今回は Ansible を使用して WordPress の環境を準備したのでそちらを使用します。
まずはスキャン対象のサイトにアクセスし、OWASP ZAP のサイト一覧に追加されていることを確認します。
f:id:Armoris:20200918105006p:plain

次にスキャン対象のサイトURL を右クリックし、攻撃から今回は動的スキャンを実行してみます。
f:id:Armoris:20200918105313p:plain

スキャン開始を押すとスキャンが実行されます。
f:id:Armoris:20200918110229p:plain

スキャン実行中の様子です。
f:id:Armoris:20200918110336p:plain

スキャンが終了すると以下の画像のように進行状況が 100% になりアラートの数などが表示されます。
f:id:Armoris:20200918110557p:plain

最後に

今回は OWASP ZAP の簡単な使い方を紹介しました。
OWASP ZAP は特定のリクエストがきたらそこで一度通信を止め、リクエストを改変してから再び送るなどの操作が容易に行えます。そのため実際の脆弱性検証でも使われることが多いツールです。
また、他にも多くの機能があるためこれを機に使しずつ機能を試しながら使えるようになると、損はないのではないでしょうか。

脆弱性スキャンは自身で管理する VirtualBox などの環境に対して行うようにしましょう。