探索 Nikto 命令行帮助选项

Kali LinuxBeginner
立即练习

引言

Nikto 是一个流行的开源 Web 服务器扫描器,它针对 Web 服务器进行全面的测试,涵盖多种项目,包括超过 6700 个潜在危险的文件/程序,检查超过 1250 个服务器的过时版本,以及超过 270 个服务器的版本特定问题。

在进行任何扫描之前,了解可用的选项以及如何正确使用它们至关重要。命令行帮助菜单是了解 Nikto 功能最直接的方式。

在本实验中,你将探索 Nikto 中各种与帮助相关的命令行选项。你将学习如何访问基本和详细帮助,列出所有可用的测试插件,以及检查工具的版本。掌握这些简单的命令将为你更有效地在复杂场景中使用 Nikto 打下坚实的基础。

使用 -h 访问基本帮助菜单

在本步骤中,你将学习如何访问基本帮助菜单。与许多命令行工具一样,Nikto 提供了一个 -h (或 --help) 选项来显示最常用命令行选项的摘要。当你需要快速回顾如何使用该工具时,这里是你应该首先查看的地方。

在你的终端中执行以下命令来显示基本帮助菜单:

nikto -h

你将看到一个精简的选项列表。此输出旨在作为日常使用的快速参考。

- Nikto v2.5.0
---------------------------------------------------------------------------
   -config+            使用此配置文件
   -Display+           开启/关闭显示输出
   -evasion+           编码技术
   -Format+            保存文件 (-o) 的格式
   -host+              目标主机
   -Help               扩展帮助信息
   -id+                要使用的主机身份验证,格式为 id:pass 或 id:pass:realm
   -list-plugins       列出所有可用的插件
   -nointeractive      禁用交互式功能
   -nossl              禁用 SSL 的使用
   -no404              禁用 404 检查
... (输出已截断) ...
+ 需要一个值

这为你提供了每个选项功能的简要概述。请注意,有些选项标有 +,表示它们需要一个值。

使用 -H 查看扩展帮助显示

在本步骤中,你将查看扩展帮助菜单。虽然 -h 选项对于快速回顾很有用,但有时你需要关于所有可用选项的更详细信息,包括不太常用的选项。为此,Nikto 提供了 -H (或 --Help) 选项。

运行以下命令以查看完整的帮助显示:

nikto -H

此命令的输出比基本帮助菜单全面得多。它提供了所有选项的完整列表,通常附有更详细的说明和示例。

- Nikto v2.5.0
---------------------------------------------------------------------------
        -ask+ (yes/no)                  是否询问关于向 CIRT.net 提交更新信息。
        -config+ (config.txt)           指定一个配置文件来使用,而不是默认文件。
        -dbcheck                        检查扫描数据库是否存在语法错误。
        -Display+ (1234D)               控制 Nikto 显示的输出。使用参考编号或字母来指定类型。
                                        可以同时使用多个。
                                        1 - 显示重定向
                                        2 - 显示收到的 cookies
                                        3 - 显示所有 200/OK 响应
                                        4 - 显示需要身份验证的 URL
                                        D - 调试输出
                                        E - 显示所有 HTTP 错误
                                        P - 将进度打印到 STDOUT
                                        S - 清理输出中的 IP 和主机名
                                        V - 详细输出
... (输出已截断) ...

花点时间滚动浏览此输出。你将发现许多在基本帮助菜单中未列出的强大功能。

使用 -list-plugins 列出所有可用插件

在本步骤中,你将学习如何列出所有可用的 Nikto 插件。Nikto 的扫描能力来自于其插件,这些插件是执行特定测试的独立脚本。了解哪些插件可用可以帮助你自定义扫描。

要查看所有已安装插件的完整列表,请使用 -list-plugins 选项。

执行以下命令:

nikto -list-plugins

这将打印一份长列表,包含 Nikto 在扫描期间可以使用的所有插件。每个插件负责检查特定的漏洞或配置错误。

- Nikto v2.5.0
---------------------------------------------------------------------------
从 /var/lib/nikto/plugins 加载了 289 个插件

Plugin:
 - aolserver
   http://cirt.net/plugins.shtml#aolserver
   检查 AOLserver 特定的项目

Plugin:
 - apache
   http://cirt.net/plugins.shtml#apache
   检查 Apache 特定的项目

Plugin:
 - apache_expect_xss
   http://cirt.net/plugins.shtml#apache_expect_xss
   检查 Apache Expect XSS 头部。

... (输出已截断) ...

此列表显示了插件名称、更多信息的链接以及其用途的简要描述。

检查特定选项的语法

在本步骤中,你将练习使用帮助菜单查找特定选项的语法。扩展帮助 (-H) 是你的参考手册。当你想要了解如何使用某个特定功能时,可以在此帮助输出中进行搜索。

假设你想使用 -Tuning 选项来控制运行哪些类型的测试,但不确定哪些值是有效的。你可以将 nikto -H 命令与 grep 结合使用,以快速找到相关信息。

运行以下命令查找关于 -Tuning 选项的详细信息:

nikto -H | grep 'Tuning'

管道符号 |nikto -H 的输出发送到 grep 命令,然后 grep 会过滤输出,只显示包含单词 "Tuning" 的行。

        -Tuning+ (1234567890ab)          Tuning 选项控制 Nikto 将针对目标使用的测试。
                                        使用参考编号或字母来指定类型。
                                        可以同时使用多个。
                                        1 - Interesting File / Seen in logs (有趣文件 / 日志中可见)
                                        2 - Misconfiguration / Default File (配置错误 / 默认文件)
                                        3 - Information Disclosure (信息泄露)
                                        4 - Injection (XSS/Script/HTML) (注入 (XSS/脚本/HTML))
                                        5 - Remote File Retrieval - Inside Web Root (远程文件检索 - Web 根目录内)
                                        6 - Denial of Service (拒绝服务)
                                        7 - Remote File Retrieval - Server Wide (远程文件检索 - 服务器范围)
                                        8 - Command Execution / Remote Shell (命令执行 / 远程 Shell)
                                        9 - SQL Injection (SQL 注入)
                                        0 - File Upload (文件上传)
                                        a - Authentication Bypass (身份验证绕过)
                                        b - Software Identification (软件识别)
                                        x - Reverse Tuning Options (i.e., include (反向 Tuning 选项 (即,包含
                                        all except specified)      除指定项外的所有项))

此输出清楚地解释了 -Tuning 选项的作用,并列出了你可以与之一起使用的所有有效值。

验证已安装的 Nikto 版本

在最后这个步骤中,你将学习如何检查已安装的 Nikto 版本。了解版本很重要,原因有几个:它可以帮助你确定是否拥有最新的功能和安全检查,并且在报告 bug 或寻求帮助时,这是必不可少的信息。

Nikto 有一个专门的选项 -Version (注意大写 'V'),用于显示该工具及其关键组件的版本信息。

在你的终端中执行以下命令:

nikto -Version

该命令将输出详细的版本信息。

---------------------------------------------------------------------------
- Nikto v2.5.0
- LibWhisker v2.5
- Perl v5.34.0
- SSL 支持:    Net::SSLeay 1.92
- SSL 编译选项: 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 选项并理解其功能所需的知识基础。这将使你能够自信地构建更复杂的扫描命令。