目次
この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
macOS Sierraで、OWASP ZAPを使い通信内容の確認と診断を開始するまでに必要な設定や手順についてまとめました。Mac OS Xでも、ほぼ同様の方法です。OWASP ZAPは、ウェブアプリケーションの脆弱性検査のためのツールです。
はじめに
OWASP ZAPは、ウェブアプリケーションの脆弱性検査を行うことができるオープンソースのツールです。利用の仕方により不正アクセス行為と判断される可能性ががあります。またサービス停止やデータの破損が起こる場合もありますので事前にバックアップを行うなどしてください。そして必要に応じて管理者の許可を得て利用してください。
前回のKali Linuxの日本語化に続き、今回はmacOS Sierraに、OWASP ZAP 2.5の導入を行います。
Webアプリケーションの診断等始める場合は、徳丸本など参考にして、十分理解してから行ってくださいね。
徳丸試験の紹介と合格する方法
https://spirits.appirits.com/role/engineer/security-engineer/5418/
新しく記事書きました、脆弱性診断ツール OWASP ZAP についても参考にどうぞ。
https://spirits.appirits.com/role/engineer/security-engineer/6129/
ローカルプロキシについて
プロキシというと、一般的にDeleGateやSquidなどウェブキャッシュ用のものや、最近だとnginxなどをリバースプロキシに利用しているところが多いかと思います。
ウェブアプリケーションのセキュリティ診断などで利用するプロキシは、PCインストールし、ブラウザとウェブサーバ間のデータ内容の確認、リクエストを変更して送信などを行うローカルプロキシのことを主に指します。
ローカルプロキシにも動作環境や機能などの違いで特徴があり、今回紹介するOWASP ZAPや、Burp Suite、Fiddler、Mac用ですとCharlesなどがあります。
OWASP ZAPの特徴などについて
- ソースコードが公開されており、無償で利用できる
- JAVAプログラムのためMacなど各種OSで動作する
- 手始めに行うのに向いている自動診断機能つき
- 比較的、日本語化が進んでいる( 同種類のツール、BurpSuiteを日本語化する方法もある)
独立行政法人情報処理推進機構(IPA)では、ウェブサイトにおける脆弱性検査手法(ウェブアプリケーション検査編)で、SQLMap、Fiddler、Paros、Ratproxyと共にOWASP ZAPが紹介されています。SQLMapは、Kali Linuxにも導入されてますね。
OWASP ZAP localizationの少しスクロールしてJapaneseの部分、日本語化を行ってる方達です。
私も、OWASP ZAPの日本語化に参加しております。メニューや設定など、目に付くところを集中的に行いました。検出結果や階層が深い部分については、これからといったところです。
OWASP ZAPのインストールと初回起動
今回は、投稿時点で最新のOWASP ZAPのバージョン2.5を、macOS Sierraにインストールします。
基本的にOSごとの違いはあまりないので、他のOSの場合は読み替えていただければと思います。
JREが、Mac OS版にはバンドルされていますが、他OSでは別途インストールが必要です。
OWASP Zed Attack Proxy Projectからダウンロードページで選択してください。
特に変わったこともないかと思いますが、ダウンロードしインストールしてください。
起動時、「開発元が未確認のため開けません」と表示されますが、指示通りにシステム環境設定のセキュリティとプライバシーを開き確認し、下部のこのまま開くを押します。
また、ソフトウェアライセンスについて表示されるので、読んでから進んでください。
起動すると、セッションの保存の選択があります。今回は、一番下の「この時点で、セッションを保存せず操作します。」で進めてしまいます。
OWASP ZAPの設定
あとで行うこともできますが、アップデートを行うか聞かれます。
再度行う場合は、メニューの「ヘルプ」から、「アップデートのチェック」で、「アドオンの管理」ウィンドウを開きます。
マーケットプレイスで、Active scanner rulesなど必要なものを選択し、Install Selectedで導入します。
また、インストール済みのアドオンも選択してUpdate Allを行います。
ウェブブラウザの設定
特にセキュリティ診断などを行う場合は、誤って別のサイトにリクエスト送信など避けるため、診断用にウェブブラウザ独立でプロキシを変更できるFirefoxを導入して、更にプロファイルを分けることをお勧めします。
Firefoxのプロファイル
プロファイルマネージャを使用して、Firefox のプロファイルを作成または削除するなどを参考にしてください。
各種起動方法があると思いますが、私は単純にターミナルで下記を入力してしまいます。
初めに診断用のプロファイルを新規で作成してしまいます。以降はそのまま使用します。
/Applications/Firefox.app/Contents/MacOS/firefox -P
プロキシの設定
OSまたは、ウェブブラウザのプロキシの設定を設定します。ここでは私が行っているFirefoxのアドオンを使った方法を紹介します。FoxyProxy StandardをFirefoxに導入します。
ローカルホストに、ローカルプロキシOWASP ZAPのポート番号を指定します。(他のものと同一にならないようにあらかじめ他のツールも変更しておく)
この様に、複数作成して切り替え出来るようにしておくと何かと便利です。
証明書のインポート
OWASP ZAPで、HTTPS通信データを確認出来るようにするため、ウェブブラウザに証明書のインポートを行います。いわゆる中間者(MITM)攻撃と同様の状態を作り出します。
まず、OWASP ZAP側のメニューから、「ツール」、「オプション」、「ダイナミックSSL証明書」と進んで。
「生成」してからファイルを「保存」します。
次に、Firefox側で、「オプション」、「詳細」、「証明書」、「証明書を表示」、「認証局証明書」
「インポート」でファイルを読み込みます。「この証明局によるWebサイトの識別を信頼する」にチェックを入れます。
通信データの確認
この状態で、対象となるサーバをウェブブラウザで閲覧します。適度に画面遷移してみてください。先にウェブブラウザやアドオンがアップデート確認などの為の通信を拾ってしまうかもしれません。
画面下部にある履歴タブでリクエストを選択すると、画面右上のリクエストタブ、レスポンスタブで、通信の様子とデータの内容が確認できます。検証できる環境がない場合は、やられサイトを利用してください。AppGoat、Badstore、Metasploitable2 などが有名です。私は、OWASP Mutillidae IIなど各種導入されている、OWASP BWAをよく利用します。また手っ取り早く、VirtualboxにWordpressを導入するなどでも、OWASP ZAPの検証にはなるでしょう。
おわりに
今回は、OWASP ZAPを使い通信内容の確認と診断を開始するまでに必要な設定や手順についてまとめました。実際の使用方法などについては、次回以降に掲載していきます。
前回は、Kali Linux(2016.2)の日本語利用についてでしたが、もちろんZAPも導入されておりますので、参考にしていただければなと思います。
関連記事など
- 徳丸試験の紹介と合格する方法
- Kali Linux 2020.2 導入と日本語化
- Kali Linux(2016.2)の日本語利用について
- スマホアプリのHTTPS通信をBurp Suiteで確認
- BurpSuiteを日本語化する方法
- Rubyのサポート期間一覧
脆弱性診断サービスなど
弊社、アピリッツではセキュリティ診断サービスを行っております。
下記リンクから内容の確認と、問い合わせが可能です。