ロード・トゥ・ザ・ホワイトハッカー

ホワイトハッカーはじめました

OWASP ZAP

OWASP ZAPを使う

Burp Suiteを使って、アプリケーションの脆弱性診断を、と思っていたのですが、

Scanに関しては、有料版でないとできない。 

chikuwamarux.hatenablog.com

 

Burp SuiteのUIは、日本語化出来るらしいのですが、OWASP ZAPはデフォルトで日本語表示できる、というのもあり、Burp Suiteとの機能比較も兼ねて、OWASP ZAPをセットアップ。

 

セットアップは、以下を参考にさせて頂きました。

www.ejworks.com


基本的には、

・インストール

・プロキシの設定

・証明書の設定

という流れは、Burp Suiteと同じ。

 

chikuwamarux.hatenablog.com

 

OWASP ZAPにはJavaが必要で、Javaが32bit版の場合、ダウンロードするOWASP ZAPも32bitにする必要がある。

Burp Suiteとの違い

Burp Suiteと同じようなイメージいたのですが、いきなり戸惑いました。

Burp Suiteの場合、Webサイトにアクセスすると、Interceptがオンになっているので、ブラウザが表示されない。OSWASP ZAPでは、普通にブラウジングできる。

デフォルトで、すべてのHTTP通信をパッシブスキャンしている、とのこと。

ここで重要になってくるのが、「モード」の考え方。

 

「プロテクトモード」にすべし。

f:id:chikuwamaruX:20220211105720j:plain

「標準モード」「攻撃モード」では、ブラウジングした瞬間に、アクティブスキャンが発動するらしい。不正アクセスと通報されるリスクもあるので、ここは気を付けたい。

 

「セーフモード」・「プロテクトモード」では、コンテキストに指定したURLに対してのみ、以下が実行できるようになる。

  • Spidering
  • Active Scanning
  • Fuzzing
  • Force Browsing
  • Breaking (intercepting)
  • Resending requests

 

ZAP HUD

OSWASP ZAP経由でブラウジングしていると、以下の画面が起動する。

f:id:chikuwamaruX:20220211110721j:plain

HUD = Heads Up Displayの略らしく、ブラウジングしているページの脆弱性の確認を、そのページ内でするためのUI。

ZAPの操作することなく、Webページをブラウジングしながら結果を見られるのは、秀逸だと思います。

 

スキャン自体は問題ないけれど、難点は、肝心のレポート出力で文字化けがあって読めない部分がある。日本語UIのせいなのか、解消を期待したい。

 

更なる自動化

OWASP ZAPで、パラメーターを改変したリクエストの再送などもできるが、Burp Suiteにある、Intruderのような手動+自動での攻撃機能は見あたらない。

自動化に重心が置かれているように見え、

  • Docker Packaged Scans
  • GitHub Actions
  • Automation Framework
  • API and Daemon mode

などが可能となっている。

GitHub Actionsなどを使えば、アプリケーションのデプロイ時に、ZAPによるセキュリティチェックを適用し、脆弱性診断をパスしないと、公開されない、というフローを作ることも可能になる。

 

まとめ

OWASP ZAPで、全体のスキャンをして、ビジネスロジックの欠陥などは、Burp Suiteで個別にチェックしていくと、広い範囲をカバーしつつ、深い診断が可能する、という使い分けが必要と思う。