满堂花醉三千客,一剑霜寒十四州。这篇文章主要讲述Meterpreter入门与精通相关的知识,希望能为你提供帮助。
第八课 getdesktop与keystroke嗅探
在本节课中,我们将介绍一些与桌面和键盘嗅探有关的stdapi用户接口命令。捕获击键的关键取决于当前的活动桌面,因此必须了解我们如何通过在不同桌面活动会话中运行的进程之间进行切换来嗅探不同的击键。
准备工作
1)enumdesktops命令会列出所有可访问的桌面和窗口。如下图所示:
文章图片
文章图片
图1: 查看可访问的桌面和窗口
在这里你可以看到所有与session 0相关的桌面。至于什么是session 0,我们一会儿再解释。
2)getdesktop命令返回正在运行我们的Meterpreter会话的当前桌面的信息。如下图所示:
文章图片
图2: 获得当前的桌面信息
您可以把getdesktop命令和enumdesktops命令的输出信息相关联,以此获得关于当前桌面的更多信息。
3)setdesktop命令用来将当前的Meterpreter桌面切换到另一个桌面。
4)keyscan_start命令用来开启当前桌面下的键盘嗅探功能。
5)keyscan_dump命令用来保存活动的Meterpreter会话的击键记录。
现在,我们一起来看看如何在真实场景中使用这些命令以及如何嗅探不同桌面的击键记录。
操作步骤
在我们进行试验之前,需要理解一个重要的概念:Windows桌面。Windows桌面分为不同的会话,以定义我们与Windows机器进行交互的方式。Session 0代表控制台。其它会话,比如Session 1 、Session 2等代表远程桌面会话。
每个Windows会话都可以由不同的站组成,其中WinSta0是唯一的交互式站。WinSta0由三个不同的桌面组成,分别是Default、Disconnect和Winlogon。桌面是包含用户界面对象(例如窗口,菜单和挂钩)的逻辑显示表面。Default桌面与我们在桌面上执行的所有应用程序和任务相关联;Disconnect桌面与屏幕保护程序锁定桌面有关,而Winlogon桌面与Windows登录屏幕有关。
需要注意的一点是每个桌面都有自己的键盘记录缓存。因此,如果您需要从Default桌面嗅探键盘记录,您必须确保将当前的Meterpreter活动浏览器设置为Session 0/WinSta0/Default。如果您要嗅探登陆密码,您必须切换活动桌面至Session 0/WinSta0/Winlogon。
1、我们使用getdesktop命令看看当前的桌面。如下图所示:
文章图片
图3: 查看当前桌面信息
如您所见,我们不在WinSta0站中,而它是唯一可交互的桌面站。因此,如果我们在此嗅探键盘记录,不会有任何结果。
2、我们把桌面改为WinSta0\\Default。如下图所示:
文章图片
图4: 切换当前桌面
3、现在我们可以进行键盘嗅探,捕获目标主机上的击键记录。如下图所示:
文章图片
图5: 捕获击键记录
观察击键记录,您就能识别出目标主机上用户进入了gmail.com并输入了登录凭证。如果您想嗅探Windows登录密码,显然,您需要使用setdesktop命令切换到活动桌面WinSta0\\Winlogon,但在这里我们还将讨论另一种方法。
4、我们可以迁移到Windows登录期间运行的进程。我们执行ps命令查看当前运行的进程。如下图所示:
文章图片
【Meterpreter入门与精通】图6: 查看当前运行的进程
您会发现winlogon.exe正在运行,它的PID是4336。
5、我们迁移至进程4336,然后再次查看活动桌面。如下图所示:
文章图片
图7: 迁移进程后查看活动桌面
6、您会发现我们的活动桌面切换到了WinSta0\\Winlogon。现在我们就可以运行keyscan_start命令开始嗅探Windows登录页面上的键盘记录。如下图所示:
文章图片
图8: 嗅探Windows登录密码
7、为了实验成功,我们先登录目标机Metasploitable 3,然后再到***机上使用命令keyscan_dump,获取击键记录。如下图所示:
文章图片
图9: 截获登录密码
8、类似的,我们可以通过迁移到任意在default桌面上运行的进程来返回Default桌面;例如:explorer.exe。如下图所示:
文章图片
图10:迁移进程返回Default桌面
您可能已经注意到迁移到不同的进程和桌面环境以嗅探键盘记录的重要性。一般来说,如果您不管当前的活动桌面是什么而直接运行keyscan命令的话,不会得到任何结果。这就是因为被***成功的进程可能属于不同的会话和站。所以,在进行击键嗅探时要注意这些影响因素。
扩展知识
一旦我们拥有一个Meterpreter会话之后,我们可以使用screenshot命令截屏。如下图所示:
文章图片
图11: 截屏
如果要查看截屏,您可以重新打开一个命令行终端,使用命令eog。如下图所示:
文章图片
图12: 查看截屏
推荐阅读
- 手把手教你搭建应用的网络诊断模块——Ping与TraceRoute
- vivo商城计价中心 - 从容应对复杂场景价格计算
- 安全研究Active Directory 证书服务
- pikachu靶场学习
- 模拟器EVE-NG关联SecureCRT和Wireshark操作指导
- WEB安全新玩法 [2] 防范前端验证绕过
- 如何在Laravel中使用PHP在服务器端突出显示代码
- 如何在Laravel中合并多个PDF
- 如何在Windows Xampp中为Laravel项目配置虚拟主机