Slide 1

Slide 1 text

第76回ハンズオンセミナー 脆弱性診断ええんやで(^^) OWASP ZAPの APIとCLI 2019年8⽉30⽇(⾦) 脆弱性診断研究会 (Security Testing Workshop)

Slide 2

Slide 2 text

脆弱性診断研究会とは Webアプリケーションの脆弱性を診断 する⼿法や脆弱性診断ツールの使⽤法 などを研究するコミュニティ。コワー キングスペース茅場町Co-Edo様にて第 1回セミナーを2014年8⽉に開催して 以来2019年8⽉現在で76回のセミナー を実施。 © 2019 脆弱性診断研究会 Security Testing Workshop 2 2019/08/30

Slide 3

Slide 3 text

⾃⼰紹介 松本 隆則 @nilfigo(ニルフィーゴ、ニルフィ) • 脆弱性診断研究会 主宰 • EGセキュアソリューションズ株式会社 • OWASP Japan プロモーションチーム • ZAP Evangelist (New!) 3 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30

Slide 4

Slide 4 text

ZAP Evangelist https://github.com/zaproxy/zaproxy/wiki/ZapEvangelists • The following people are happy to give free ZAP talks and/or training in their respective locations • Most ZAP evangelists will travel to give talks or training provided expenses are covered. 4 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30

Slide 5

Slide 5 text

アジェンダ • 脆弱性とは? • 脆弱性診断とは? • OWASPってナニ? • OWASP ZAP ってナニ? • ZAP CLI • ZAP API 5 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30

Slide 6

Slide 6 text

脆弱性とは 脆弱性(ぜいじゃくせい)とは、コンピュータのOSやソフトウェアにお いて、プログラムの不具合や設計上のミスが原因となって発生し た情報セキュリティ上の欠陥のことを言います。 • 「総務省 安⼼してインターネットを使うために 国⺠のための情報セキュリティサイト」より引⽤ http://www.soumu.go.jp/main_sosiki/joho_tsusin/security/basic/risk/11.html • ⽂中の強調はスライド作成者による © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 6

Slide 7

Slide 7 text

脆弱性診断とは ちょい足し異常系テスト © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 7

Slide 8

Slide 8 text

ちょい⾜し異常系テスト ちょい⾜しする隠し味のひとつが OWASP ZAP © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 8

Slide 9

Slide 9 text

OWASP ってナニ︖ The O pen W eb A pplication S ecurity P roject 9 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30

Slide 10

Slide 10 text

OWASP ってナニ︖ OWASPとは、Webをはじめとするソフト ウェアのセキュリティ環境の現状、またセ キュアなソフトウェア開発を促進する技術・ プロセスに関する情報共有と普及啓発を⽬的 としたプロフェッショナルの集まる、オープ ンソース・ソフトウェアコミュニティです。 http://blog.owaspjapan.org/ より引⽤ 10 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30

Slide 11

Slide 11 text

OWASP ZAP ってナニ? • https://www.owasp.org/index.php/OWASP_Zed_Attack_ Proxy_Project • 世界中のエンジニアによって開発されている セキュリティ診断⽤プロキシツール • ZAP = Zed Attack Proxy プロキシとして動作して、ブラウザとWebアプリケーショ ン間の通信の閲覧および改変が可能 • オープンソース(Apache License 2.0) • 商⽤・⾮商⽤問わず無償で利⽤可能 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 11

Slide 12

Slide 12 text

OWASP ZAPの基本設定 nモード • セーフモード • プロテクトモード • 標準モード • 攻撃モード © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 12

Slide 13

Slide 13 text

OWASP ZAPの基本設定 【重要】プロテクトモード以外は使⽤禁⽌!! なぜなら 管理外のサイトへの診断を実⾏する危険性が⾼い © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 13

Slide 14

Slide 14 text

OWASP ZAPの基本設定 nオプション • ローカル・プロキシ • Address、ポート • スパイダー • 動的スキャン © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 14

Slide 15

Slide 15 text

OWASP ZAPの基本設定 nアドオン • インストール • アップデート nポリシー • スキャンポリシー © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 15

Slide 16

Slide 16 text

ZAP CLI コマンドラインインターフェース (Command Line Interface)で OWASP ZAPを操作 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 16

Slide 17

Slide 17 text

コマンドラインオプション 2019/08/30 © 2019 脆弱性診断研究会 Security Testing Workshop 17 HelpCmdline · zaproxy/zap-core-help Wiki https://github.com/zaproxy/zap-core-help/wiki/HelpCmdline

Slide 18

Slide 18 text

オススメのオプション • -daemon UIなしで起動 • -dir 作業ディレクトリ指定 • -newsession ZAPセッションの保存先指定 • -host ZAPの待受IPアドレス指定 • -port ZAPの待受ポート指定 2019/08/30 © 2019 脆弱性診断研究会 Security Testing Workshop 18

Slide 19

Slide 19 text

ZAP APIとは? OWASP ZAPを操作するAPI © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 19

Slide 20

Slide 20 text

ZAP API 事前準備 [ツール] →[オプション] →[API] © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 20

Slide 21

Slide 21 text

ZAP API 事前準備① 有効 UI Enabled □Secure Only © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 21

Slide 22

Slide 22 text

ZAP API 事前準備② すべてのAddressを「有効」に。 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 22

Slide 23

Slide 23 text

ZAP API 事前準備③ これら6つの設定はすべて「危険」なので、よく考えてから設定しましょう。 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 23

Slide 24

Slide 24 text

ZAP API ⼀覧 OWASP ZAPで[ツール]→[API⼀覧] ↓ OSのデフォルトブラウザでAPIトップページが 表⽰される © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 24

Slide 25

Slide 25 text

ZAP API UI © 2019 脆弱性診断研究会 Security Testing Workshop 127.0.0.1:57777 (OWASP ZAPのIPアドレス&ポート) 「ローカル API」リンクで⼀覧表⽰ 2019/08/30 25

Slide 26

Slide 26 text

ZAP API 主なAPI © 2019 脆弱性診断研究会 Security Testing Workshop コンポーネント 概要 ascan 動的スキャン(Active Scanner)の管理/操作 context コンテキスト操作 core ZAPセッション管理、アラート表⽰など pscan 静的スキャン(Passive Scanner)の管理/操作 spider スパイダー(クローリングツール) 2019/08/30 26

Slide 27

Slide 27 text

ZAP API © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 27

Slide 28

Slide 28 text

ZAP API アクセス⽅法 • ブラウザ経由 • curlコマンド © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 28

Slide 29

Slide 29 text

ZAP APIで脆弱性診断 1. 診断対象登録 2. 診断対象情報収集 3. 脆弱性診断実施 4. 診断結果確認 © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 29

Slide 30

Slide 30 text

1. 診断対象登録 1. newContext 2. includeInContext 3. contextList © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 30

Slide 31

Slide 31 text

2. 診断対象情報収集 1. spider © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 31

Slide 32

Slide 32 text

3. 脆弱性診断実施 1. ascan © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 32

Slide 33

Slide 33 text

4. 診断結果確認 1. report © 2019 脆弱性診断研究会 Security Testing Workshop 2019/08/30 33