はじめに
Nikto は、人気のあるオープンソースのウェブサーバー スキャナーであり、6700 を超える潜在的に危険なファイル/プログラム、1250 を超えるサーバーの古いバージョン、270 を超えるサーバーのバージョン固有の問題など、複数の項目に対してウェブサーバーに対して包括的なテストを実行します。
スキャンを実行する前に、利用可能なオプションとそれらを正しく使用する方法を理解することが重要です。コマンドラインのヘルプメニューは、Nikto の機能について学ぶための最も直接的な方法です。
この実験では、Nikto で利用可能なさまざまなヘルプ関連のコマンドライン オプションを調べます。基本的なヘルプと詳細なヘルプへのアクセス方法、利用可能なすべてのテストプラグインのリスト表示、ツールのバージョンの確認方法を学びます。これらの簡単なコマンドを習得することで、より複雑なシナリオで Nikto を効果的に使用するための強固な基盤が得られます。
-h で基本ヘルプメニューにアクセスする
このステップでは、基本ヘルプメニューへのアクセス方法を学びます。多くのコマンドラインツールと同様に、Nikto は -h (または --help) オプションを提供しており、最も一般的なコマンドラインオプションの概要を表示します。これは、ツールの使用方法を素早く確認したい場合に最初に参照すべき場所です。
基本ヘルプメニューを表示するには、ターミナルで以下のコマンドを実行してください。
nikto -h
オプションの簡潔なリストが表示されます。この出力は、日常的な使用のためのクイックリファレンスとして設計されています。
- Nikto v2.5.0
---------------------------------------------------------------------------
-config+ Use this config file
-Display+ Turn on/off display outputs
-evasion+ Encoding technique
-Format+ Save file (-o) format
-host+ Host to target
-Help Extended help information
-id+ Host authentication to use, format is id:pass or id:pass:realm
-list-plugins List all available plugins
-nointeractive Disables interactive features
-nossl Disables the use of SSL
-no404 Disables 404 checking
... (output truncated) ...
+ requires a value
これにより、各オプションが何をするかの簡単な概要が得られます。一部のオプションには + が付いており、値が必要であることを示していることに注意してください。
-H で拡張ヘルプ表示を表示する
このステップでは、拡張ヘルプメニューを表示します。-h オプションは簡単な確認に役立ちますが、あまり一般的でないオプションも含め、利用可能なすべてのオプションに関するより詳細な情報が必要な場合があります。この目的のために、Nikto は -H (または --Help) オプションを提供します。
完全なヘルプ表示を表示するには、次のコマンドを実行します。
nikto -H
このコマンドからの出力は、基本ヘルプメニューよりもはるかに包括的です。すべてのオプションの完全なリストが提供され、多くの場合、より詳細な説明や例が含まれています。
- Nikto v2.5.0
---------------------------------------------------------------------------
-ask+ (yes/no) Whether to ask about submitting updated
information to CIRT.net.
-config+ (config.txt) Specify a configuration file to use instead
of the default file.
-dbcheck Check the scan databases for syntax errors.
-Display+ (1234D) Control the output that Nikto shows. Use the
reference number or letter to specify the
type. Multiple may be used.
1 - Show redirects
2 - Show cookies received
3 - Show all 200/OK responses
4 - Show URLs which require authentication
D - Debug output
E - Display all HTTP errors
P - Print progress to STDOUT
S - Scrub output of IPs and hostnames
V - Verbose output
... (output truncated) ...
この出力をしばらくスクロールしてみてください。基本ヘルプメニューには記載されていなかった多くの強力な機能を発見できるでしょう。
-list-plugins で利用可能なすべてのプラグインを一覧表示する
このステップでは、利用可能なすべての Nikto プラグインを一覧表示する方法を学びます。Nikto のスキャン能力は、特定のテストを実行する個別のスクリプトであるプラグインから生まれます。利用可能なプラグインを理解することは、スキャンをカスタマイズするのに役立ちます。
インストールされているすべてのプラグインの完全なリストを表示するには、-list-plugins オプションを使用します。
以下のコマンドを実行してください。
nikto -list-plugins
これにより、Nikto がスキャン中に使用できるすべてのプラグインの長いリストが出力されます。各プラグインは、特定の脆弱性または設定ミスをチェックする責任があります。
- Nikto v2.5.0
---------------------------------------------------------------------------
Loaded 289 plugins from /var/lib/nikto/plugins
Plugin:
- aolserver
http://cirt.net/plugins.shtml#aolserver
Checks for AOLserver specific items
Plugin:
- apache
http://cirt.net/plugins.shtml#apache
Checks for Apache specific items
Plugin:
- apache_expect_xss
http://cirt.net/plugins.shtml#apache_expect_xss
Checks for the Apache Expect XSS header.
... (output truncated) ...
このリストは、プラグイン名、詳細情報へのリンク、およびその目的の簡単な説明を示しています。
特定オプションの構文を確認する
このステップでは、ヘルプメニューを使用して特定のオプションの構文を見つける練習をします。拡張ヘルプ (-H) は参照マニュアルです。特定の機能の使用方法を知りたい場合は、このヘルプ出力内で検索できます。
たとえば、実行するテストの種類を制御するために -Tuning オプションを使用したいが、有効な値がわからないとします。nikto -H コマンドと grep を組み合わせて、関連情報をすばやく見つけることができます。
-Tuning オプションの詳細を見つけるには、次のコマンドを実行します。
nikto -H | grep 'Tuning'
パイプシンボル | は nikto -H の出力を grep コマンドに送信し、grep は "Tuning" という単語を含む行のみを表示するように出力をフィルタリングします。
-Tuning+ (1234567890ab) Tuning options control the tests that Nikto
will use against a target. Use the reference
number or letter to specify the type.
Multiple may be used.
1 - Interesting File / Seen in logs
2 - Misconfiguration / Default File
3 - Information Disclosure
4 - Injection (XSS/Script/HTML)
5 - Remote File Retrieval - Inside Web Root
6 - Denial of Service
7 - Remote File Retrieval - Server Wide
8 - Command Execution / Remote Shell
9 - SQL Injection
0 - File Upload
a - Authentication Bypass
b - Software Identification
x - Reverse Tuning Options (i.e., include
all except specified)
この出力は、-Tuning オプションが何をするのかを明確に説明し、使用できるすべての有効な値をリストしています。
インストールされている Nikto のバージョンを確認する
この最後のステップでは、インストールされている Nikto のバージョンを確認する方法を学びます。バージョンを知ることはいくつかの理由で重要です。最新の機能やセキュリティチェックが含まれているかどうかを判断するのに役立ち、バグを報告したり助けを求めたりする際に不可欠な情報となります。
Nikto には、ツールとその主要コンポーネントのバージョン情報を表示するための専用オプション -Version (大文字の 'V' に注意) があります。
ターミナルで次のコマンドを実行してください。
nikto -Version
コマンドは詳細なバージョン情報を出力します。
---------------------------------------------------------------------------
- Nikto v2.5.0
- LibWhisker v2.5
- Perl v5.34.0
- SSL support: Net::SSLeay 1.92
- SSL compilation options: OPENSSL_VER=0x30000020, OPENSSL_INC=/usr/include, OPENSSL_LIB=/usr/lib/x86_64-linux-gnu
- Nikto DB: 20231125
- CIRT DB: 20221101
---------------------------------------------------------------------------
この出力は、Nikto 自体のバージョンだけでなく、Perl や OpenSSL のような基盤となるコンポーネントのバージョン、およびデータベースの更新ステータスも示しています。
まとめ
この実験では、Nikto Web スキャナーの基本的なコマンドラインヘルプオプションを正常に探索しました。
以下の方法を学びました。
nikto -hを使用して、一般的なオプションの簡単な概要を取得する。nikto -Hを使用して、利用可能なすべてのオプションの詳細なリストを表示する。nikto -list-pluginsを使用して、Nikto が利用できるすべてのテストプラグインを確認する。- ヘルプ出力を
grepにパイプして、特定のオプションに関する情報を見つける。 nikto -Versionを使用して、Nikto およびそのコンポーネントのインストール済みバージョンを確認する。
これで、Nikto のオプションを操作し、その機能を理解するために必要な基本的な知識を習得しました。これにより、将来的にさらに複雑なスキャンコマンドを自信を持って構築できるようになります。


