【注意】このサイトに記載されていることを他人に試すことは「不正アクセス禁止法」に該当する場合があります。詳しくはこちらから

ハッカーはNiktoでwebサーバー、モジュール、ミドルウェアの設定を確認する(Kali Linux)

ホワイトハッカーの知識Kali Linuxツール,Nikto

webサーバー、モジュール、ミドルウェアの設定を理解するためにまとめてみました。
この動作確認は自分のドメインでテストを行っています。
 

Niktoとは

Niktoは、Perlで記述されたプラグ可能なWebサーバーおよびCGIスキャナーであり、rfpのLibWhiskerを使用して高速なセキュリティまたは情報チェックを実行します。
 

機能

  • 簡単に更新できるCSV形式のチェックデータベース
  • プレーンテキストまたはHTMLでのレポート出力
  • 利用可能なHTTPバージョンの自動切り替え
  • 特定のサーバソフトウェアだけでなく、汎用的なチェックも可能
  • SSLサポート (libnet-ssleay-perlによる)
  • プロキシのサポート (認証付き)
  • Cookiesのサポート
 

ツールの場所

[Applications]→[02-Vulnerablity Analysis]→[Nikto]
 

ツールと使用方法

Nikto [option]
 
例 Nikto -h www.yahoo.co.jp
 
【実行イメージ】少し端折って整形しています。
┌──(kali__kali)-[~]
└─$ nikto -h xxx-sample.com

- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP:          192.168.56.2
+ Target Hostname:    xxx-sample.com
+ Target Port:        80
+ Start Time:         2021-10-13 22:14:24 (GMT-4)
---------------------------------------------------------------------------
+ Server: nginx
+ 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 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
+ Root page / redirects to: https://xxx-sample.com/
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ OSVDB-3268: /icons/: Directory indexing found.
+ OSVDB-3233: /icons/README: Apache default file found.
+ /server-status: Apache server-status interface found (protected/forbidden)
+ 7937 requests: 0 error(s) and 6 item(s) reported on remote host
+ End Time:           2021-10-13 22:20:04 (GMT-4) (340 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
 

オプション(GENERAL OPTIONS)

-config+

Use this config file.
この設定ファイルを使う。

-Display+

Turn on/off display outputs.
ディスプレイの出力をオン/オフする。

-dbcheck

check database and other key files for syntax errors.
データベースやその他のキーファイルに構文エラーがないか確認します。

-Format+

save file (-o) format.
保存ファイル(-o)形式。

-Help

Extended help information.
拡張されたヘルプ情報。

-host+

target host/URL.
ターゲットのホスト/URL。

-id+

Host authentication to use, format is id:pass or id:pass:realm.
使用するホスト認証。フォーマットはid:passまたはid:pass:realm。

-list-plugins

List all available plugins.
利用可能なプラグインをすべてリストアップします。

-output+

Write output to this file.
このファイルに出力を書き込む。

-nossl

Disables using SSL.
SSLの使用を無効にします。

-no404

Disables 404 checks.
404のチェックを無効にします。

-Plugins+

List of plugins to run. (default: ALL)
実行するプラグインのリスト。(デフォルト: ALL)

-port+

Port to use. (default 80)
使用するポート。(デフォルト80)

-root+

Prepend root value to all requests, format is /directory.
すべてのリクエストにルート値を前置します。フォーマットは /directory です。

-ssl

Force ssl mode on port.
ポートにsslモードを強制します。

-Tuning+

Scan tuning.
スキャンチューニング。

-timeout+

Timeout for requests. (default 10 seconds)
リクエストのタイムアウト。(デフォルト10秒)

-update

Update databases and plugins from CIRT.net.
CIRT.netからデータベースやプラグインを更新する。

-Version

Print plugin and database versions.
プラグインとデータベースのバージョンを印刷します。

-vhost+

Virtual host. (for Host header)
バーチャルホスト。(Hostヘッダ用)
 

Niktoツールのまとめ

NiktoはOSVDB(Open Source Vulnerability DataBase:オープンソースの脆弱性データベース)が管理している脆弱性情報のトリガー(OSVDB ID)を見つけてくれるツールですね。
OSVDB:過去に発生した脆弱性情報がデータベースに管理されておりOSVDB IDで脆弱情報が参照できる。
※OSVDB(Open Source Vulnerability DataBase)
 
webサーバーを構築した時やモジュール、ミドルウェアなどの追加、更新をしたときはぜひNiktoで脆弱性があるか確認することをお勧めします。