使用 Kali Linux 和 Metasploitable2 进行渗透测试

CybersecurityCybersecurityBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将学习如何使用 Kali Linux 进行渗透测试。Kali Linux 是一个专为安全审计和渗透测试设计的流行 Linux 发行版。你将获得一个 Metasploitable2 虚拟机,该虚拟机被故意配置了各种安全漏洞。本实验的目标是让你熟悉 Kali Linux 环境,理解渗透测试的概念,并练习在 Metasploitable2 目标上利用漏洞。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cybersecurity(("`Cybersecurity`")) -.-> cybersecurity/NmapGroup(["`Nmap`"]) cybersecurity/NmapGroup -.-> cybersecurity/nmap_tcp_connect_scan("`Nmap Basic TCP Connect Scan`") cybersecurity/NmapGroup -.-> cybersecurity/nmap_port_scanning("`Nmap Port Scanning Methods`") cybersecurity/NmapGroup -.-> cybersecurity/nmap_host_discovery("`Nmap Host Discovery Techniques`") cybersecurity/NmapGroup -.-> cybersecurity/nmap_target_specification("`Nmap Target Specification`") cybersecurity/NmapGroup -.-> cybersecurity/nmap_service_detection("`Nmap Service Detection`") subgraph Lab Skills cybersecurity/nmap_tcp_connect_scan -.-> lab-416116{{"`使用 Kali Linux 和 Metasploitable2 进行渗透测试`"}} cybersecurity/nmap_port_scanning -.-> lab-416116{{"`使用 Kali Linux 和 Metasploitable2 进行渗透测试`"}} cybersecurity/nmap_host_discovery -.-> lab-416116{{"`使用 Kali Linux 和 Metasploitable2 进行渗透测试`"}} cybersecurity/nmap_target_specification -.-> lab-416116{{"`使用 Kali Linux 和 Metasploitable2 进行渗透测试`"}} cybersecurity/nmap_service_detection -.-> lab-416116{{"`使用 Kali Linux 和 Metasploitable2 进行渗透测试`"}} end

设置 Kali Linux 和 Metasploitable2 环境

在这一步骤中,你将学习如何设置实验环境中提供的 Kali Linux 和 Metasploitable2 虚拟机。

  1. 首先,我们需要获取 Kali Linux 镜像的 ID,可以通过运行以下命令查看:
docker images

通过运行以下命令启动 Kali Linux 容器,你需要将 image-id 替换为 Kali Linux 镜像的实际 ID:

docker run -ti --network host image-id bash
  1. 通过运行以下命令验证 Metasploitable2 目标是否列在 /etc/hosts 文件中:
cat /etc/hosts

如果 192.168.122.102 target 这一行不存在,请使用以下命令添加:

echo "192.168.122.102 target" >> /etc/hosts
  1. 打开一个新的终端,在主机上启动 Metasploitable2 虚拟机,运行以下命令:
sudo virsh start Metasploitable2

等待目标机器启动,可能需要 1-3 分钟。

  1. 通过 ping 目标(在 Kali Linux 虚拟机中)测试 Kali Linux 和 Metasploitable2 之间的网络连接:
ping 192.168.122.102

或者:

ping target

你应该会看到 ping 响应,表明网络连接成功。这可能需要一些时间,你可以按 Ctrl+C 退出。

执行 TCP 端口扫描

Kali Linux 预装了许多安全工具,包括 Nmap(网络映射器)、John the Ripper(密码破解工具)和 Metasploit Framework(远程利用框架)。

在本任务中,我们将使用 Nmap 执行 TCP 端口扫描。以下是一个使用 Nmap 进行简单 TCP 端口扫描的示例代码片段,请在上一步设置的 Kali Linux 虚拟机中运行以下命令:

nmap -sT -p1-1000 192.168.122.102

此命令将对目标主机的 1 到 1000 端口执行 TCP 连接扫描。

执行基本漏洞扫描

在这一步骤中,你将学习如何使用 Nmap 对 Metasploitable2 目标执行基本漏洞扫描。

  1. 在 Kali Linux 容器中,运行以下命令扫描 Metasploitable2 目标上的开放端口:
nmap -sV -p- 192.168.122.102

此命令将对目标主机的所有端口执行 TCP 连接扫描,并尝试确定开放端口的服务/版本信息。

  1. 观察输出结果,其中将显示 Metasploitable2 目标上运行的开放端口及相关服务列表。

以下是你可能会看到的输出示例:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-06-01 12:34:56 EDT
Nmap scan report for target (192.168.122.102)
Host is up (0.00024s latency).
Not shown: 65533 closed ports
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd 2.3.4
22/tcp   open  ssh     OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp   open  telnet  Linux telnetd
25/tcp   open  smtp    Postfix smtpd
80/tcp   open  http    Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.24 with Suhosin-Patch)
111/tcp  open  rpcbind 2 (RPC #100000)
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp  open  exec?
513/tcp  open  login?
514/tcp  open  shell?
1099/tcp open  rmiregistry GNU Classpath grmiregistry
1524/tcp open  ingreslock?
2121/tcp open  ccproxy-ftp Citrix CacheServer
2123/tcp open  gtp-user Citrix Gateway
3306/tcp open  mysql    MySQL 5.0.51a-3ubuntu5
5432/tcp open  postgresql PostgreSQL DB 8.3.0 - 8.3.7

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 14.45 seconds

此输出显示了 Metasploitable2 目标上运行的各种开放端口和服务,例如 FTP、SSH、Telnet、HTTP、MySQL 和 PostgreSQL。

总结

在本实验中,你学习了 Kali Linux,这是一个流行的渗透测试和安全审计发行版,以及 Metasploitable2,一个专为练习漏洞利用技术而设计的易受攻击的虚拟机。你设置了实验环境,包括 Kali Linux 容器和 Metasploitable2 目标,并使用 Nmap 执行了基本漏洞扫描,以识别目标上运行的开放端口和服务。这种实践经验将帮助你理解渗透测试的基础知识,并为你在未来的实验中学习更高级的技术做好准备。

您可能感兴趣的其他 Cybersecurity 教程