脆弱性診断を簡易的に実施するってときに、手持ちのMacで簡単に導入して実施できるツールを調べてみました。
Nmap
ポートスキャン機能が充実している。閉じているつもりで開いているのがポート。
そのチェックに利用できます。配布元:https://nmap.org/
導入
$ brew install nmap
利用
$ nmap '対象ホストIP'
$ nmap 192.168.xxx.xxx
Starting Nmap 7.70 ( https://nmap.org ) at 2018-10-18 17:56 JST
Nmap scan report for 192.168.xxx.xxx
Host is up (0.00059s latency).
Not shown: 968 closed ports, 26 filtered ports
PORT STATE SERVICE
80/tcp open http
110/tcp open pop3
143/tcp open imap
443/tcp open https
993/tcp open imaps
995/tcp open pop3s
Nmap done: 1 IP address (1 host up) scanned in 5.35 seconds
結果の見方
Starting Nmap 7.70 ( https://nmap.org ) at 2018-10-18 17:56 JST
Nmapのバージョンと実行日時
Nmap scan report for 192.168.xxx.xxx
スキャン対象
Not shown: 968 closed ports, 26 filtered ports
閉じられたポート数(968ポート)と、フィルターにかかったポート数(26ポート)
PORT STATE SERVICE
80/tcp open http
110/tcp open pop3
143/tcp open imap
443/tcp open https
993/tcp open imaps
995/tcp open pop3s
開いているポート番号とプロトコル
※注意する点
端末上に、ESETなどのセキュリティソフトが入っていると、Email Protection機能やWeb Access Protection機能のため結果が異なることがあります。
Nikto
公表済みのセキュリティホールを検出できるので、Apacheなどミドルウェアの設定し忘れなどを防ぐことができます。配布元:https://cirt.net/Nikto2
導入
$ brew install nikto
利用
$ nikto -h '対象ドメイン(httpとhttpsは別物)'
$ nikto -h https://hogehoge.com
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP: 192.168.xxx.xxx
+ Target Hostname: hogehoge.com
+ Target Port: 443
---------------------------------------------------------------------------
+ SSL Info: Subject: /OU=Domain Control Validated/OU=PositiveSSL Wildcard/CN=*.example.com
Altnames: *.hogehoge.com, hogehoge.com
Ciphers: ECDHE-RSA-AES256-GCM-SHA384
Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
+ Start Time: 2018-10-18 18:10:01 (GMT9)
---------------------------------------------------------------------------
+ Server: Apache
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ The site uses SSL and the Strict-Transport-Security HTTP header is not defined.
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ Server leaks inodes via ETags, header found with file /robots.txt, inode: 2238918, size: 27, mtime: Tue Jan 27 14:05:43 2015
+ Server is using a wildcard certificate: *.hogehoge.com
+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS, TRACE
結果の見方
Nikto v2.1.6
Niktoのバージョン
Target IP: 192.168.xxx.xxx
Target Hostname: hogehoge.com
Target Port: 443
対象となったホストのIP、ドメイン、ポート番号
SSL Info: Subject: /OU=Domain Control Validated/OU=PositiveSSL > Wildcard/CN=*.example.com
Altnames: *.hogehoge.com, hogehoge.com
Ciphers: ECDHE-RSA-AES256-GCM-SHA384
Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA > Limited/CN=COMODO RSA Domain Validation Secure Server CA
SSLを利用していればSSLの詳細
Server: Apache
The anti-clickjacking X-Frame-Options header is not present.
The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
The site uses SSL and the Strict-Transport-Security HTTP header is not defined.
1行1行が指摘事項。闇雲に調べて対応しているとアプリケーションの動作へ影響もあるので、動作確認しながら対応を行いましょう。