診断ツールの使い方
OWASP ZAPの場合
自己紹介
名前:稲福 真悟
所属:株式会社シーエー・アドバンス
   技術統括本部
業務:Webアプリケーション脆弱性診断
2
OWASP ZAPについて
”OWASP ZAPは無料で使えるオープンソースのウェブアプ
リケーション脆弱性診断ツールでありGithub上にソースコー
ドが公開されています。”
※参考記事
OWASP ZAPではじめる2016年のウェブアプリケーションセキュリティ
http://gihyo.jp/dev/column/newyear/2016/owasp
・動的スキャン
・スパイダー検索
・ローカル・プロキシ
・レポート出力      などなど 3
目次
・準備
・動的スキャン
・結果の保存
4
目次
・準備
・動的スキャン
・結果の保存
※今回は簡易的な診断を初学者の方向けに
 おすすめする内容になります。
 動的スキャンを行って結果を確認するところまで
 このスライドで説明していきます。
5
目次
・準備
・動的スキャン
・結果の保存
※環境は下記です。
 OWASP ZAP 2.7.0
 macOS Sierra 10.12.5
 iOS 10.3.2
 java version 1.8.0_144
 Google Chrome 62.0.3202.94 6
・準備
・動的スキャン
・結果の保存
※Macのブラウザ(Chrome)と、iPhoneの通信を
 OWASP ZAPで取得できるようにします。
7
準備 >OWASP ZAP
・ダウンロード
・起動
・ポートの設定
8
準備 >OWASP ZAP >ダウンロード
OWASP Zed Attack Proxy Project
9
準備 >OWASP ZAP
今回使用するパッケージ
ZAP 2.7.0 Standard > Cross Platform Package
10
準備 >OWASP ZAP >起動
11
準備 >OWASP ZAP >起動
・起動時にたまによくあること
「ポートで待ちうけできません (ポート番号)」
このエラーがでた場合は、
設定ポートが使用されている状態です。
12
準備 >OWASP ZAP >ポートの設定
ツール内のオプションから、
Local Proxiesを選択して、
ポートを任意の番号に設定します。
※今回は「ポート番号:8080」に設定しました。
13
準備 >OWASP ZAP >ポートの設定
14
準備 >ブラウザの設定 >Chrome
1.Chromeのプロキシ設定
2.アドオンの設定
3.証明書のインストール
15
準備 >ブラウザの設定 >Chrome
今回は下記のアドオンを使用します。
Proxy SwitchyOmega
https://chrome.google.com/webstore/detail/proxy-switchyo
mega/padekgcemlokbadohgkifijomclgjgif
16
準備 >ブラウザの設定 >Chrome
17
準備 >ブラウザの設定 >Chrome
Proxy SwitchyOmega設定画面の
「New Profile」から、
新しく設定を作成して保存します。
18
準備 >ブラウザの設定 >Chrome
19
準備 >ブラウザの設定 >Chrome
20
準備 >ブラウザの設定 >Chrome
アドオンを有効にするため、
ツールバーのアイコンをクリックして、
作成したプロキシ設定を選択します。
21
準備 >ブラウザの設定 >Chrome
22
準備 >ブラウザの設定 >Chrome
アドオンを有効にすると、
ブラウザが自動で更新されて、
履歴タブ内に通信が入ります!
23
準備 >証明書
httpsのサイトにアクセスすると、
証明書エラーが発生しますが
証明書を登録すると回避できます。
24
準備 >証明書の取得
ZAPのツールバー内のオプションから、
ダイナミックSSL証明書を選択して、
ルートCA証明書を保存します。
25
準備 >証明書の取得
26
準備 >証明書のインストール(Mac)
さきほど取得した証明書を
キーチェーンアクセスに追加して
「常に信頼」するように設定します。
27
準備 >証明書のインストール(Mac)
1.「OWASP Zed Attack Proxy Root CA」を
 キーチェーンアクセス設定に追加
2.「このルート証明書は信頼されていません」と表示
されていることを確認
3.追加した証明書を選択
28
準備 >証明書のインストール(Mac)
29
準備 >証明書のインストール(Mac)
4.コンテキストメニューから「情報を見る」画面を表示
5.「▼信頼」の「この証明書を使用するとき」で「常に
信頼」と設定する
6.「この証明書はこのアカウントにとって信頼されて
いるものとして指定されています」に変更
30
準備 >証明書のインストール(Mac)
31
準備 >証明書のインストール(Mac)
32
準備 >証明書 >確認
証明書エラーにならず、
履歴タブに通信の内容が
追加されていればOKです!
33
準備 >iPhoneの設定
1.iPhone側でWi-FiのHTTPプロキシ設定
2.証明書のインストール
34
準備 >iPhoneの設定
ZAPを起動しているPCと同じWi-Fiに接続して、
iPhoneの設定にあるWi-Fi情報画面で、
「HTTPプロキシ」をMacのIPアドレスとポートに設定
します。
35
準備 >iPhoneの設定
36
準備 >iPhoneの設定
ZAPのLocal Proxiesで
Addressを 0.0.0.0 に設定します。
同じネットワーク内からアクセス出来るようにするので、
信頼できないネットワークでは、
やらないようにしましょう。
37
準備 >iPhoneの設定
38
準備 >iPhoneの設定
1.iPhone側でWi-FiのHTTPプロキシ設定
2.証明書のインストール
39
準備 >iPhoneの設定
ZAPの証明書を端末側で開いて、
プロファイルにインストールします。
※端末側で開くには下記の方法で出来ます。
 ・iPhoneにメールで添付して送る
 ・Googleドライブにファイルを置いてiPhoneから開く
40
準備 >iPhoneの設定
>
41
・準備
・動的スキャン
・結果の保存
42
注意!
自分が管理しているサイトか、
診断の許可を得ているサイトのみに行いま
す。
※不正アクセス禁止法に抵触する可能性も…!
43
スパイダー機能 >サイトクロール
動的スキャンをかける対象のURLに、
スパイダー機能を実行します。
44
スパイダー機能 >サイトクロール
45
スパイダー機能 >サイトクロール
下記のように対象URLが取得されます。
46
動的スキャン >実行
対象のURLについて下記を実行します。
「URL→攻撃→動的スキャン」
47
動的スキャン >進捗
下記画面で確認できます。
48
動的スキャン >結果の確認
検出された脆弱性は、
アラートの項目に表示されます。
49
動的スキャン >結果の確認
「レポート→HTMLレポート作成」からも
結果を確認することができます。
50
動的スキャン >結果の確認
51
診断が終わったら
・準備
・動的スキャン
・結果の保存
52
診断が終わったら
・「永続化セッション」で、ログを保存
・ブラウザのプロキシ設定を解除
53
おわりに
今回のスライドではOWASP ZAPを使って、
簡易的な脆弱性診断をする手順を紹介いたしました。
このスライドを取っ掛かりとして、
ちょっと脆弱性をチェックしてみようかなと思っていただけると幸いで
す。
繰り返しになりますが…!
自分が管理しているサイトか、診断の許可を得ているサイトのみに
行うようにしてください。
不正アクセス禁止法に抵触する可能性も…!
54
Qiita:@inahukus
twitter:@inainainas
※ご質問などあればお気軽にご連絡ください!
55
・OWASP ZAPを使って
 通信を取得する設定をサクサク書いてみた(Chrome)
https://qiita.com/inahukus/items/9e82801965c9c3e73e13
・OWASP ZAPを使って
 脆弱性の確認(動的スキャン)をする
https://qiita.com/inahukus/items/d3deb869c88e407a9f8a
・BurpSuiteのFree版を使うときのプロキシ設定を
 サクサク書いてみた(Chrome)
https://qiita.com/inahukus/items/63a1d9f9fee1ff9af9cc
Qiita投稿記事
56
・BurpSuiteFreeを使うときの設定を
 サクサク書いてみた(iPhoneとAndroid)
https://qiita.com/inahukus/items/f6e20e877d8f8a192ed2
・BurpSuiteの拡張機能(AuthMatrix)を使って
 アクセス制御のチェックをする
https://qiita.com/inahukus/items/cac5977652a1da1758a9
・BurpSuiteExtensionについての備忘録
https://qiita.com/inahukus/items/5abb89be561e6354a93a
Qiita投稿記事
57

診断ツールの使い方(Owasp zapの場合)