【初心者向け】Webアプリを診断するならOWASP ZAPではじめよう -インストール編-

Webアプリを診断するならOWASP ZAPではじめよう

今日もインドカレーを食べるインフラ担当の「やっさん」です。

やっさん人物紹介:やっさん(加藤)
オンラインゲーム会社や通信キャリアに常駐後、現在はサーバ構築・運用とセキュリティ担当。
得意技:Webサーバ/Webアプリケーションサーバの構築・運用
必殺技:スパイスから本格インドカレーを作る
Qiita:curryperformer-kato

 

Webアプリの脆弱性診断を行うことになったときに役立つツール「OWASP ZAP」をご紹介します。

 

OWASP ZAPはCTFに出場するとき等にも重宝するので、エンジニアならPCに入れておいて損はありません。

 

OWASP ZAPとは

OWASP Zed Attack Proxy Projectが開発・メンテナンスしているオープンソースのWebアプリケーション脆弱性診断ツールです。

 

自動で診断が行えるので、脆弱性診断を行ったことがない方でも使いやすく、検知の精度も高い初級者向けです。

 

同じようなツールのBurp Suiteと違い、メニューが日本語で表示されます。検知した脆弱性などをレポートとして出力することもできます。

 

また、ローカルプロキシとして機能し、OWASP ZAPを経由するWebブラウザとWebサーバ間のHTTPリクエストやHTTPレスポンスを履歴として保持できます。

 

これにより、正常なリクエストを改ざんして診断用の文字列を送りつけてその応答結果を確認して診断を行うことができます。

 

なお、OWASP ZAPで検知できる脆弱性は、以下のものが挙げられます。

 

  • SQLインジェクション
  • クロスサイトスクリプティング
  • コマンドインジェクション
  • ディレクトリ・トラバーサル
  • HTTPヘッダインジェクション など

 

OWASP ZAPで実施できる診断の項目や方法等が 「OWASP テスティングガイド」にまとめられています。

 

現時点の最新版は第4版ですが、英語で記述されています。日本語版は第3版です。

https://www.owasp.org/images/1/1e/OTGv3Japanese.pdf

 

OWASP ZAPをダウンロードする手順はこちら

こちらのWebサイトからダウンロードすることができます。

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

 

上記Webサイトにアクセスすると、こちらの画面が表示されますので「Download ZAP」をクリックします。

OWASP_1

 

あなたのPCのOSを確認し、「Download now」をクリックして、実行ファイルをダウンロードします。

 

私はWindowsユーザーのため、Windows用の実行ファイルをダウンロードします。

OWASP_2

 

ダウンロードした実行ファイルをダブルクリックすると、インストールが開始されます。

 

こちらのウィンドウが表示されましたら、「Next >」をクリックします。

OWASPZAP_インストール_3

 

内容を確認後、「I accept the agreement」を選択し、「Next >」をクリックします。

OWASPZAP_インストール_4

 

デフォルトで入力されている内容を確認後「Next >」をクリックします。

 

変更する場合は「Browse…」をクリックして変更後、「Next >」をクリックします。

OWASPZAP_インストール_5

 

デフォルトで入力されている内容を確認後「Next >」をクリックします。

 

変更する場合は「Browse…」をクリックして変更後、「Next >」をクリックします。

OWASPZAP_インストール_6

 

デフォルトでチェックが入っている内容を確認後「Next >」をクリックします。

 

変更する場合はチェックボックスの内容を変更し、「Next >」をクリックします。

OWASPZAP_インストール_7

 

表示されている内容を確認後「Install」をクリックします。

OWASPZAP_インストール_8

 

インストールが開始されます。

OWASPZAP_インストール_9

 

OWASP ZAPのインストールが完了しましたので「Finish」をクリックします。

OWASPZAP_インストール_10

 

デスクトップにOWASP ZAPのショートカットアイコンが作成されるので、それをダブルクリックして起動し、さっそくOWASP ZAPを使ってみましょう。

 

OWASP ZAPで診断する「やられ役Webサーバ」を構築する

脆弱性診断の方法を覚えたからといって、インターネットで公開されている第三者が管理するサーバに対して、脆弱性診断を行うことは絶対にやめましょう。

 

誤って実行した場合、以下の危険性があります。

 

  • プロバイダから警告が来ます。
  • 不正アクセスで逮捕、逮捕されなくても拘留されます。
  • 企業から賠償金を請求されます。

そのため、社内や自宅内のローカル環境に、脆弱性診断用としてわざと脆弱性を持たせたWebサイトを用意して、それに対して脆弱性診断を行うようにしましょう。

 

ここでは、わざと脆弱性を持たせたWebサイトを簡単に用意できる、「やられ役Webサーバ」であるOWASP Mutillidae Ⅱの構築方法をご紹介します。

 

OWASP Mutillidae Ⅱの構築手順は、以下のWebサイトに記載されていますので、こちらに記載の手順で進めていきます。

https://sourceforge.net/projects/mutillidae/files/?source=navbar

 

※前提として、固定IPアドレス設定、SELinux無効化やiptables停止などが済んでいるLAMP環境で構築します。

 

OWASP Mutillidae Ⅱのダウンロードと展開

まずは、OWASP Mutillidae ⅡをこちらのWebサイトからダウンロードしましょう。

http://sourceforge.net/projects/mutillidae/

 

上記のWebサイトにアクセスすると、こちらの画面が表示されますので「Download」をクリックします。

OWASP_3

 

 

 

「Download」をクリックしますと、ZIPファイルがダウンロードされます。

 

次に、あらかじめCentOS6系で構築したWebサーバのディレクトリ「/Download」に、SCPでZIPファイルを転送します。

 

その後、ZIPファイルを展開するとできるディレクトリ「/mutillidae」を「/var/www/」配下にコピーします。

 

 

MySQLHandler.phpの編集

 

.htaccessを編集して、検証環境のネットワーク内のPCからアクセスできるようにする

 

MySQLのrootのパスワードを「samurai」に変更して再起動

 

httpd.confを編集して再起動

 

WebブラウザからOWASP Mutillidae Ⅱにアクセス

Webブラウザから、http://<OWASP mutillidae Ⅱ用WebサーバのIPアドレス>を入力してアクセスします。

 

以下の画面が表示されましたら、「Opt Out」をクリックします。

 

owasp-mutillidae_2

 

上記の画面が表示されず、500エラーになる場合は、PHPなどのモジュールが足りない可能性があります。

 

/var/log/httpd/error_logの内容を確認して、原因を探りましょう。

 

owasp-mutillidae_3

 

この画面が表示されますと、構築成功です。おつかれさまでした。

次回は、OWASP ZAPを使った脆弱性診断を行います

インストール編はここまで。次回は、実践編として、OWASP ZAPを使って脆弱性診断を行います。

 

OWASP ZAPの使い方を1人で覚えるのは、なかなか大変だと思います。

 

弊社HPのお問い合わせフォームから質問をいただけましたら、可能な限りでお答えいたします。

 

弊社でも、今後、ツールを用いた脆弱性診断の勉強会などを開催できたらと考えていますので、情報発信を行っていきますね。

 

やっさん(加藤)

この記事を書いた人:やっさん(加藤)

オンラインゲーム会社や通信キャリアに常駐後、現在はサーバ構築・運用とセキュリティ担当。
得意技:Webサーバ/Webアプリケーションサーバの構築・運用
必殺技:スパイスから本格インドカレーを作る


この記事に関してのお問い合わせ
御連絡・ご返信は原則2営業日以内を予定しております。
お急ぎの場合は、お手数ですが下記電話でもご対応をしております。

システムガーディアン株式会社
受付時間:平日9:00~18:00
受付担当:坪郷(つぼごう)・加藤
電話:03-6758-9166