介绍
在本实验中,你将学习如何使用 Kali Linux 进行渗透测试。Kali Linux 是一个专为安全审计和渗透测试设计的流行 Linux 发行版。你将获得一个 Metasploitable2 虚拟机,该虚拟机被故意配置了各种安全漏洞。本实验的目标是让你熟悉 Kali Linux 环境,理解渗透测试的概念,并练习在 Metasploitable2 目标上利用漏洞。
搭建 Kali Linux 和 Metasploitable2 环境
在这一步骤中,你将学习如何设置实验环境中提供的 Kali Linux 和 Metasploitable2 虚拟机。
- 首先,我们需要获取 Kali Linux 镜像的 ID,可以通过运行以下命令查看:
docker images
通过运行以下命令启动 Kali Linux 容器,你需要将 image-id 替换为 Kali Linux 镜像的实际 ID:
docker run -ti --network host image-id bash
- 通过运行以下命令验证 Metasploitable2 目标是否列在
/etc/hosts文件中:
cat /etc/hosts
如果 192.168.122.102 target 这一行不存在,请使用以下命令添加:
echo "192.168.122.102 target" >> /etc/hosts
- 打开一个新的终端,在主机上启动 Metasploitable2 虚拟机,运行以下命令:
sudo virsh start Metasploitable2
等待目标机器启动,可能需要 1-3 分钟。
- 通过 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 目标执行基本漏洞扫描。
- 在 Kali Linux 容器中,运行以下命令扫描 Metasploitable2 目标上的开放端口:
nmap -sV -p- 192.168.122.102
此命令将对目标主机的所有端口执行 TCP 连接扫描,并尝试确定开放端口的服务/版本信息。
- 观察输出结果,其中将显示 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 执行了基本漏洞扫描,以识别目标上运行的开放端口和服务。这种实践经验将帮助你理解渗透测试的基础知识,并为你在未来的实验中学习更高级的技术做好准备。



