在这个实验(lab)中,你将学习如何在 Kali Linux 中导航和使用必要的安全工具,以进行渗透测试和网络安全任务。这个实践环节将指导你通过 dpkg -l 查看预装工具,使用 msfconsole 启动 Metasploit 框架,使用 nmap 执行网络扫描,使用 nikto 扫描 Web 服务器,通过 man 页面访问工具文档,以及将命令输出保存到文件。这个实验专为初学者设计,在 LabEx VM 上的受控容器环境中,提供 Kali Linux 的逐步介绍。当你打开终端时,你将自动连接到 Kali Linux 容器的 shell,准备开始练习。
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
kali(("Kali")) -.-> kali/KaliGroup(["Kali"])
kali/KaliGroup -.-> kali/term_ops("Kali Terminal")
kali/KaliGroup -.-> kali/file_ctrl("File Management")
kali/KaliGroup -.-> kali/pkg_ops("Package Management")
kali/KaliGroup -.-> kali/nmap_ops("Nmap Tool")
kali/KaliGroup -.-> kali/metasploit_ops("Metasploit Framework")
kali/KaliGroup -.-> kali/vuln_scan("Vulnerability Scanning")
kali/KaliGroup -.-> kali/nikto_ops("Nikto Scanner")
subgraph Lab Skills
kali/term_ops -.-> lab-552192{{"探索 Kali 的安全工具"}}
kali/file_ctrl -.-> lab-552192{{"探索 Kali 的安全工具"}}
kali/pkg_ops -.-> lab-552192{{"探索 Kali 的安全工具"}}
kali/nmap_ops -.-> lab-552192{{"探索 Kali 的安全工具"}}
kali/metasploit_ops -.-> lab-552192{{"探索 Kali 的安全工具"}}
kali/vuln_scan -.-> lab-552192{{"探索 Kali 的安全工具"}}
kali/nikto_ops -.-> lab-552192{{"探索 Kali 的安全工具"}}
end
使用 dpkg -l 查看预装工具
在第一步中,你将学习如何使用 dpkg -l 命令查看 Kali Linux 系统上预装的工具和软件包。这是一项基本但至关重要的技能,可以帮助你了解哪些软件可用于渗透测试和系统管理。
当你打开 LabEx VM 环境中的终端时,你将自动连接到 Kali Linux 容器的 shell。无需手动启动容器或进入 shell;环境已经为你设置好了。
让我们首先运行命令来列出所有已安装的软件包。在终端中键入以下命令,然后按 Enter 键:
dpkg -l
此命令会显示所有已安装软件包的详细列表,包括它们的名称、版本、架构和简要描述。
预期输出(示例,实际输出可能有所不同):
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============================-====================-============-========================================================
ii adduser 3.118 all add and remove users and groups
ii apt 2.2.4 amd64 commandline package manager
ii base-files 11.1+deb11u7 amd64 Debian base system miscellaneous files
...
Starting Nmap 7.91 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
80/tcp open http
...
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
在此输出中,Host is up 确认目标可达。该表列出了开放端口(如 80/tcp,对应 HTTP)、它们的状态(open 表示可访问)以及关联的服务。此信息对于了解系统上正在运行哪些服务至关重要。通过扫描 localhost,你已经安全地练习了使用 nmap,为你将来步骤中更高级的网络侦察任务做好了准备。
安装并使用 Nikto 扫描 Web 漏洞
在你使用 nmap 建立网络扫描技能的基础上,这一步向你介绍 nikto,一个用于扫描 Web 服务器以识别漏洞和错误配置的工具。这是 Web 安全测试的重要组成部分。
nikto 是一个开源工具,用于检查 Web 服务器是否存在已知问题,例如过时的软件、不安全的文件和其他潜在的安全缺陷。它被安全专业人员广泛使用,以评估 Web 应用程序的安全性。
首先,确保你的 Kali Linux 容器上已安装 nikto。在终端中键入以下命令,然后按 Enter 键进行安装:
apt install -y nikto
等待安装完成;这应该只需要几秒钟。安装完成后,你将扫描 localhost 作为一个安全的目标,以演示 nikto 的功能。如果 localhost 上没有运行 Web 服务器,该工具仍然会显示它尝试连接的方式,这对于学习很有价值。键入以下命令,然后按 Enter 键:
nikto -h localhost
-h 选项指定要扫描的主机,在本例中为 localhost,目标是默认的 Web 服务器端口(通常为 80)。
此输出显示 nikto 尝试连接到 localhost 上的 Web 服务器。如果没有服务器正在运行,它会报告无法连接,如上所示。如果服务器处于活动状态,它将列出潜在的漏洞或错误配置。此步骤可帮助你了解如何使用 nikto 进行 Web 漏洞扫描,这是识别 Web 应用程序中安全弱点的关键技能。
使用 man 手册访问工具文档
现在你已经使用了像 nmap 和 nikto 这样的工具,重要的是要知道如何访问它们的文档以进行进一步的学习。在这一步中,你将学习使用 man 手册来探索关于 Kali Linux 中命令和工具的详细信息。
man 手册,即 manual pages(手册页)的缩写,是大多数 Linux 工具和命令的综合指南。它们提供详细的描述、选项、示例和使用说明,这使得它们对于理解如何有效地使用工具非常宝贵。
如果 man 尚未安装,请安装它。
apt install -y man
让我们以访问 nmap 的 man 手册为例。在终端中键入以下命令,然后按 Enter 键:
man nmap
这将在一个分页界面(很可能是 less)中打开 nmap 的手册页,你可以在其中阅读详细的文档。
预期输出(示例,实际输出可能有所不同):
NMAP(1) Nmap Reference Guide NMAP(1)
NAME
nmap - Network exploration tool and security / port scanner
SYNOPSIS
nmap [Scan Type...] [Options] {target specification}
DESCRIPTION
Nmap ("Network Mapper") is an open source tool for network exploration and
security auditing. It was designed to rapidly scan large networks, although
it works fine against single hosts. Nmap uses raw IP packets in novel ways
to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and
OS versions) they are running, what type of packet filters/firewalls are in
use, and dozens of other characteristics.
...
使用向上和向下箭头键在文档中导航。你将看到关于用法、选项和示例的部分。要退出 man 手册,请按 q 返回到终端提示符。
学习使用 man 手册使你能够独立地探索任何工具的功能。这在 Kali Linux 中尤其有用,因为工具具有许多选项,你可能需要在安全任务期间参考这些选项。
将 Nmap 输出重定向到文件
在最后一步中,你将学习如何将命令的输出保存到文件中以供将来参考。这建立在你之前使用 nmap 的基础上,并介绍了输出重定向,这是一项用于记录结果的基本 Linux 技能。
Linux 中的输出重定向允许你将命令的结果保存到文件中,而不是在终端中显示它们。这是使用 > 符号完成的,该符号将输出写入指定的文件,如果该文件已存在,则覆盖它。
让我们对 localhost 执行另一次 nmap 扫描,并将结果保存到名为 nmap_scan.txt 的文件中。在终端中键入以下命令,然后按 Enter 键:
Starting Nmap 7.91 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
80/tcp open http
...
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
在这个实验中,你已经学习了如何在 Kali Linux 中探索和使用基本的安全工具来进行渗透测试。你首先使用 dpkg -l 查看了预安装的工具,然后使用 msfconsole 安装并启动了 Metasploit,使用 nmap 执行了网络扫描,使用 nikto 扫描了 Web 漏洞,通过 man 手册访问了工具文档,并将命令输出保存到文件中。这些基础技能为在受控环境中进一步学习网络安全和网络分析提供了坚实的基础。