備忘録/にわかエンジニアが好きなように書く

個人的にとりあえず仕組みを知るためにとりあえず動くまで構築や動作をみただけの単なる操作ログです。個人用の備忘録となり、最新の導入手順は個別に確認してください。 ※変な内容や間違いを書いているなどありましたらコメントやご指摘いただけると幸いです。

OWASP Zed Attack Proxy (ZAP)で脆弱性検査メモ

OWASP Zed Attack Proxy (ZAP)で脆弱性検査

実施項目

~~ 管理下のホストに対して実施すること ~~

 


実施前に考慮や検討は必要

(ZAPは、あくまでツールの1つとして、1つのチェック手段として使用するのが妥当かな)

 ■検査する方法や構成も検討

 ・そもそも実施する必要ある?誰がするの?実施後はどうするの?

  ー保守サポート範囲で対応できない?

 ・外部(Internet)経由 , 内部イントラ環境内からの試験

 ・実施する場合の監視やシステムへの影響範囲

  -テスト環境や開発環境を利用して事前に実施できるの?

  -システムメンテナンス時期とか?

 ・検査内容の確認

  ー試験内容の絞り込み(実施しない試験はあるのか?、今回必要な検査)

  ー誤検知している可能性は?

 ・他ツール(有償・無償)や外部機関のサービスを使用して脆弱性診断実施

  ⇒結果を比較判断

 ・提供しているサービス影響などの影響範囲はどうだった?

 ・そもそも導入した企業さんとか保守ベンダや企業さんへ影響有無確認?事前に相談?


確認構成

f:id:pocket01:20171015165037p:plain

 Web:LAMP構成 + WordPress

実施内容

1.ローカルプロキシとしてWebサーバとの通信内容を静的スキャナ

1.OWASP ZAP起動(プロテクトモードで

       ※下記のアドレスとポート番号をローカルプロキシとして使用  

  f:id:pocket01:20171009150039p:plain

2.ブラウザを起動させプロキシ設定で、OWASP ZAPの動作するアドレスとポート番号を入力

  ■Firefoxのプロキシ設定

  f:id:pocket01:20171015172443p:plain


3.ブラウザ上でWebサイト(http://192.168.20.161)にアクセス

  WordPressのトップ画面が開く

   f:id:pocket01:20171015175626p:plain

4.OWASP ZAPでアクセス確認

  f:id:pocket01:20171015180526p:plain

2.簡易的な脆弱性検査を実施 

静的スキャナ 

 1.の手順で実施したログを確認

   Webサイトへアクセスしたときの通信で発生したリクエスト/レスポンスをもとに検査している

   トップページを表示させた場合のアラート件数は全13件

   OWASP ZAP上でリスクレベル"High"は1件となる

  f:id:pocket01:20171015181606p:plain

スパイダー

リンクをたどってサイト内の隠れたページにもアクセスしていき、URL収集やレスポンス情報などの検査も実施します。

 

1.コンテキストアドレスとして登録

  プロテクトモードの場合は、コンテキストに含めないと検査[動的スキャナーやスパイダーなどの検査]は実施不可となる(はず)。

・対象サイトを選択後、右クリックでメニューを表示させ、

  コンテキストに含める >> New context

 の順で選択する

f:id:pocket01:20171015185950p:plain

・セッションプロパティ画面が開く

 コンテキストに含めるの中に、選択したURLが含まれることを確認

  f:id:pocket01:20171015190517p:plain

 

2.スパイダー検査の設定

・対象サイトを選択後、右クリックでメニューを表示させ、

  攻撃 >> スパイダー…

 の順で選択する

  f:id:pocket01:20171015191301p:plain

 

  開始位置とコンテキストに検査対象のURLとなっていることを確認

  f:id:pocket01:20171015191550p:plain

  詳細オプションで、検査する深さや時間を指定する

  f:id:pocket01:20171015191604p:plain

 

  "スキャンを開始"をクリックし開始する

 

3.検査結果

 スパイダータブで検査したURL数の確認が可能

  f:id:pocket01:20171015185814p:plain

 

 今回はアラート検知数が29件と増え、各アラートを検知したアドレス数も増加している。

  f:id:pocket01:20171015185556p:plain

AJAXスパイダー

よくわからないけど、認証関連のページをブラウザを開き、IDやパスワードを入力し

アクセスを実施していた。アカウント追加や変更などのページへもアクセスして何かしていた。

 

1.コンテキストに追加

2.AJAXスパイダー検査の設定

・対象サイトを選択後、右クリックでメニューを表示させ、

  攻撃 >> AJAXスパイダー…

 の順で選択する

  f:id:pocket01:20171015193839p:plain

 

  開始位置とコンテキストに検査対象のURLとなっていることを確認

  検査で使用するBrowserが対象となっていること

  f:id:pocket01:20171015194140p:plain

3.結果

アラート件数は20件となる

f:id:pocket01:20171015195758p:plain

このAJAXスパイダータブでの、検査したURLが58件ということなのか?

f:id:pocket01:20171015200546p:plain

 

  以下はMetasploitable2(脆弱環境サーバ)を使用した場合の検査中画面の一部

  f:id:pocket01:20171016231133g:plain

  

3.レポート作成 

各検査後にレポートをHTMLで出力させて、リスクレベルごとに検知した個数やレポート記載内容を確認してみた。

f:id:pocket01:20171015204729p:plain

 

 

静的スキャナ

Risk Level

Number of Alerts

High

1

Medium

2

Low

6

Informational

4

スパイダー

Risk Level

Number of Alerts

High

3

Medium

5

Low

12

Informational

9

AJAXスパイダー

Risk Level

Number of Alerts

High

1

Medium

2

Low

10

Informational

7

 

※作成したレポート

 リスクレベル個数確認

 f:id:pocket01:20171015204839p:plain

  リスクレベルの記載

 f:id:pocket01:20171015205240p:plain