Meterpreter基础
在本节中,我们将学习如何与Metasploit的Meterpreter进行交互。在Linux中,help
命令用于获取有关特定命令的信息。因此,我们要做的第一件事是运行help
命令,以获取可以运行的所有命令的大列表。它还告诉我们每个命令的作用描述,如下面的屏幕截图所示:
我们要强调的第一件事是后台命令,如下面的屏幕截图所示:
background
命令主要用于后台当前会话而不终止它。此命令与最小化窗口非常相似。因此,在运行后台命令后,可以返回Metasploit并运行其他命令以进一步利用目标机器,保持与我们刚攻击的计算机的连接。我们使用sessions -l
命令查看我们正在使用的所有计算机和会话的列表。在下面的屏幕截图中,我们可以看到我们仍然有Meterpreter会话,它位于我们的设备10.0.2.15和目标设备10.0.2.5之间:
如果想要回到上一个会话再次运行Metasploit,需要使用运行sessions -i
命令(用于交互),然后输入ID,即2,如下面的屏幕截图所示:
我们入侵系统时将运行的另一个命令是sysinfo
命令。sysinfo
命令向我们显示有关目标计算机的信息。在下面的屏幕截图中,我们可以看到它向我们展示了计算机的名称,操作系统和体系结构。我们还可以在下面的屏幕截图中看到它是64位计算机,因此如果我们希望将来在目标计算机上运行可执行文件,我们将创建64位可执行文件:
我们可以看到它使用英语,计算机正在处理的工作组以及登录的用户ID。还可以看到目标机器上运行的Meterpreter版本,它实际上是32位 版。
另一个有用的信息收集命令是ipconfig
。ipconfig
命令显示连接到目标计算机的所有接口,如以下屏幕截图所示:
在上面的屏幕截图中,我们可以看到接口1,MAC地址,IP地址,甚至是连接到多个网络的IPv4地址。还可以看到所有接口以及如何与它们进行交互。
另一个用于信息收集的有用命令是ps
命令。ps
命令列出目标计算机上运行的所有进程。这些进程可能是作为Windows程序或GUI在前台运行的后台进程或实际程序。在下面的屏幕截图中,我们将看到正在运行的所有进程的列表,以及每个进程的名称和ID或PID:
一个有趣的进程是explorer.exe
。它是Windows的图形界面。在上面的屏幕截图中,我们可以看到它在PID 4744上运行,如以下屏幕截图所示:
当入侵系统时,最好将运行此人的进程迁移到更安全的进程中。例如,进程explorer.exe
是Windows的图形界面,只要用户使用他们的设备,此进程始终在运行。这意味着此过程比我们获得计算机访问权限的过程更安全。例如,如果我们通过程序或可执行文件获得访问权限,那么当该人员关闭该程序时,我们将失去该过程。更好的方法是迁移到不太可能被终止或关闭的进程。为此,我们将使用migrate
命令,它将当前的会话移动到另一个进程。我们将使用进程explorer.exe
,因为它是安全的。
我们使用migrate 4744
命令,其中4744
是explorer.exe
进程的PID。命令如下:
那时,Meterpreter正在从explorer.exe
进程运行。如果转到目标计算机上的任务管理器并运行资源管理器,然后转到网络选项卡并转到TCP连接,可以看到端口8080
上的连接来自explorer.exe
进程, 如下面的截图所示:
因此,对于目标机器,它不是来自后门,有效负载,恶意文件,它是通过explorer.exe
运行,这对目标机器不可疑。如果我们看到Chrome或Firefox,我们就可以迁移到这些进程了。而且,如果使用端口8080或80进行连接,它看起来就更不可疑,因为Web服务器使用端口8080或80,因此通过它们进行连接是很自然的。