ども
WEBアプリケーションの脆弱性診断について
何か分かってるつもりで理解できていないゾ。ということで調査したので、そのレポートをば
皆さんが知ってる有名どころのツールだとOWASPのZAPとか去年DeNAさんから公開されたPacketProxyとか有名ですよね。
その他にも、脆弱性に限定されませんが、診断ツールとしては以下の様なツールが有りますよね。
- Brakeman
- PacketProxy
- GIXY
- Sublist3r
- GVM
- nikto
ちょっとだけOWASPについて
OWASPは、The Open Web Application Security Projectの略でオワスプと読みます。
運営元はアメリカの財団で、2001年に設立されました。
OWASP ZAPの使い方
https://www.zaproxy.org/download/
- 超簡単で、上記のリンクからご自身の環境にあったアプリをダウンロードします。
- 続けてダウンロードしたアプリをインストールします。
- ZAPモードを「プロテクト」に変更し、ツール > オプション > ローカルプロキシを設定します。
- ブラウザのプロキシ設定します。
- 最後に診断するWEBサイトへアクセスします。
- サーバに対し、攻撃を仕掛けます。
※ZAPは、Javaで開発されている為、JRE(Java Runtime Environment)が必要になります。
※【重要】自身が管理者じゃなサーバへアタックすると、かなーりヤバいことになります。
※設定は、こちらのサイトを参考にさせて頂きました。
Brakeman
こちらは、BrakemanというRails のGemですね。
Rails アプリ限定ですが、セキュリティチェックの自動化が可能になります。
GitHub: https://github.com/DeNA/PacketProxy
こちらも有名処ですね。ソースコードを見るにJavaで開発されています。
以下は、上記GitHubからの転載になります。まだ、触ったことがないので使用次第、レポートしたいと思います。
HTTP1/HTTP2/HTTPS通信だけでなく、
より低レイヤーのTCP/UDPを利用したバイナリ通信にも対応した、オープンソースのローカルプロキシツールです。
個人や社内の内部アプリケーションの開発補助や脆弱性診断での利用を目的にしています。
GitHub: https://github.com/yandex/gixy
GIXYは、Nginxの設定ファイルの脆弱性の検出を自動化するツールになります。
ソースコードを見るとPythonで開発されています。
GIXYは、pipコマンドでインストールし、Nginxの設定ファイルを指定して実行すると診断してくれます。
$ pip install gixy
$ gixy /path/to/nginx.conf
GitHub: https://github.com/aboul3la/Sublist3r
Sublist3rは高速にサブドメインを総当たりで見つけ出すツールで、
破棄し忘れのサブドメインを探す際に便利です。
こちらもソースコードを見るとPythonで開発されています。
$ git clone https://github.com/aboul3la/Sublist3r
$ python sublist3r.py -d demo-ec.sria.co.jp -v
GVM (Greenbone Security Assistant)
以前、OpenVASという名前でしたが、
いつの間にか、GVM という名前に変わっていました。
Linux上で使用可能な汎用的な脆弱性診断ツールで、
個人的には、EPELのリポジトリからYUMで落とす印象です。
(認識間違ってたら誰か教えて)
GitHub: https://github.com/sullo/nikto
Web アプリの脆弱性診断ツールです。久々にサイトを覗いたら「nikto2」とかなってた。。
開発言語は、Perlです。
今度は、コンテナに限定して脆弱性診断をするツールを調査してみたいと思います。
でわ