我可以确定我的计算机是否安装了键盘记录器吗?

信息安全 视窗 键盘记录器
2021-09-07 11:14:47

我的一个朋友刚开始在一家安全敏感的公司工作。他们为他提供了一台安装了 Windows XP Professional 的笔记本电脑。他从其他员工那里听说,笔记本电脑可能安装了键盘记录器。他有什么办法可以证实或反驳这一指控?这会像查看进程树或注册表一样简单,还是这些类型的键记录器会比这更好地隐藏自己?

确实有管理员权限。

4个回答

这在很大程度上取决于键盘记录器的实现。一些企业级产品确实包含使键盘记录器几乎无法检测到的 rootkit,除非您知道正在使用的产品及其配置。例如,查看Spector Pro *。此外,正如 syneticon-dj 所指出的,他们可能会改用硬件键盘记录器,该键盘记录器可以通过软件无法轻易检测到的方式实现。

如果他们已授予您的朋友在盒子上的完全管理员权限,他们要么对自己的监控和配置控制功能非常有信心,要么他们完全不知道将此类权限授予最终用户的含义。很多时候,是后者。但是,如果你认为是前者,那么你也应该认为他们的信心有一些坚实的理由。

无论如何,您的朋友很可能已经签署(并因此同意)可接受使用政策,其中包括放弃公司拥有设备的所有隐私权的条款。此外,任何担心在这些问题上合规的公司也会在系统上贴上警告横幅,提醒每次登录的用户他们可能会受到这些系统的监控。

底线:不要在公司设备上做任何你不想让他们看到的事情。始终假定他们正在记录击键、捕获屏幕截图(另一个常见的间谍软件功能),并可能包含 SSL 代理来监视网络流量。在商业硬件上保持业务,在个人硬件上保持个人物品,你应该没问题。

 *注意:这不是对 Spector Pro 的认可。我与该公司没有任何关系,也没有使用过他们的产品。这只是作为公司可用的间谍软件工具的一个示例。

总的来说, Iszi给了你一些非常好的建议——如果他们使用监控软件,他们很有信心。

这会像查看进程树或注册表一样简单,还是这些类型的键记录器会比这更好地隐藏自己?

检测键盘记录程序就像在正确的位置查找一样简单(根据您的观点,这可能很简单,也可能不简单)。问题是知道要寻找什么以及在哪里寻找。以下是您可以做的一些非详尽的检查键盘记录模块的事情。

首先,构建键盘记录器最简单的方法是使用DLL 注入,它可以通过多种方式实现。其中大部分将导致 DLL 显示为映射到进程的地址空间。看看这张照片:

pyd进程

该列表中最上面的条目是什么?它是一个pyd. 或 python 扩展名文件。我一直在搞乱由 python 实现的 COM 服务器,因此,DLL 被加载到 Windows 资源管理器的地址空间中。

键盘记录类型的 DLL 注入会将其 DLL 加载到所有目标地址空间中 - 如果您不这样做,则无法捕获所有内容。所以要注意的一件事是奇怪的 DLL,您不能将其归因于您知道其用途的产品。它们将显示在所有进程的此列表中。

在 wikipedia 上描述的技术中,我唯一没有看到的是CreateRemoteThread品种——我不确定结果是将线程附加到图像还是执行具有 name 的线程DllMain感谢进程资源管理器,我们仍然可以看到哪些线程正在执行什么:

线程

太棒了,对吧?好吧,它们很可能被命名为与明显的user32.dll或类似的一致。如果是这种情况,我们可以进行许多实验来解决,如果我们愿意的话。这些留给读者作为练习(当人们这么说时,你不只是讨厌它!)。

这样就涵盖了用户模式显而易见的键盘记录模式。有一些不太明显的地方可以嵌入键盘记录器(但它们不太可能是全局的)。但是,当您开始谈论内核级挂钩时,事情会变得非常令人兴奋。Mark R 和 Bryce Cogswell有一篇关于这个主题的优秀文章,尽管它需要更新,但需要注意以下几点:

  • 64 位 Windows 内核具有内核补丁保护机制,该机制会定期检查内核中的关键点以进行修改,并在检测到它们时关闭系统。

因此,如果您运行的是 32 位 Windows,您仍然可以安装并运行某种形式的内核级挂钩;如果您使用的是 64 位,则可能性要小得多 - 鉴于 KPP 之前已被绕过并且不断变化,我敢打赌您不会在 x64 上使用内核挂钩,因为 Windows 更新会定期使监控产品系统崩溃。软件只是不以此为基础销售。

与 32 位钩子相比,你能做什么?许多事:

  • 检查驱动程序文件夹中看起来可疑/无法归因的条目。
  • 做同样的事情,但离线,这样司机就不会阻止你看。
  • 使用 bcdedit 配置调试引导条目(bcdedit /copy {current} /d "Windows in debug mode"bcdedit /debug {id} ON适当之后bcdedit /dbgsettings),连接火线电缆(真的。不要使用串行。我使用串行电缆发现了这一点 - 火线的速度要快得多)。然后,在您的源计算机上,启动kd并设置模块加载断点,然后单步执行所有加载的模块,并记下它们。在它开始之前,司机没有太多可以做的事情来隐藏自己您甚至可以从这里开始检查它(g继续,ctrl+c随时中断)。

当然,这里需要注意的是,没有直接修补任何 Windows 可执行文件,或者一些我们无法轻易检测到的渎职行为。

那是直接看系统,但不是一个完整的解决方案。如果您认为日志记录软件正在打电话回家,透明代理可能会帮助您确定位置 - 即您可能被拨入,vpn.mycompany.com但您也可能会看到与monitorserver.mycompany.com.

毫无疑问,您可以使用的许多技术取决于两件事:

  • 您对操作系统的预先熟悉程度,或快速熟悉不合适的内容的能力,以及
  • 作者向您隐藏/掩饰其修改的能力和资源。

简短的回答:没有万无一失的方法来检测任何类型的东西。但是,您可以在某些地方开始寻找证据。

各种免责声明:

  • 调查可能与您的 AUP 相悖。在您居住的地方,这也可能是非法的。
  • 如果您尝试了我建议的所有方法但没有出现任何结果,请遵循Iszi 的建议,假设任何监控程序都比您好。
  • 您不太可能在 IT 支持和系统管理员中结交任何朋友,像这样分析他们的系统。
  • 您在工作笔记本电脑上活动的安全性不仅仅取决于其操作系统 - 它还取决于该数据传输中涉及的所有硬件/软件。我的观点?如果您担心(不是说您是,只是一个例子)您的雇主正在监视您以确定您是否整天都在玩farmville,那么他们不需要键盘记录器来做到这一点 - 如果您已连接通过他们的网络,他们应该能够记录您的连接。SSL 将隐藏内容,但不会隐藏源或目标。
  • 根据我的经验,关于键盘记录器的谣言通常只是谣言。但是,这是基于我对存在此类谣言的一家公司的统计无效样本,因此不能依赖。显然,这些产品是存在的。
  1. 创建没有2 步授权的 GMail 帐户(不是来自朋友的笔记本电脑)
  2. 使用您朋友的笔记本电脑登录到 GMail 网络界面(手动输入用户名/密码)
  3. 使用 subj 创建新邮件some reports from %companyname%,附加一些虚拟的 .docs 和 .pdf,在“To:”字段中输入“dave123@another-company-in-your-field.com”。点击“发送”。
  4. 启用两步授权,并将其链接到您的手机(不是来自朋友的笔记本电脑)
  5. 永远不要从任何地方登录该帐户,只需等待短信确认键盘记录器 :)

好吧,有些键盘记录器可以很好地隐藏它们,实际上有些可能像rootkit,您应该获得一个好的防病毒程序,可以检测并从计算机中清除rootkit和木马等,并且应该从CLEAN系统彻底扫描,否则您可能正在启动 rootkit 或其他令人讨厌的东西,这会使扫描看起来很干净,而实际上并非如此。一个很好的此类程序是 AVG Pro 防病毒和 antirootkit 程序,还有一些其他程序声称在对抗 rootkit 和所有其他类型的木马间谍软件蠕虫等方面做得很好......如果您不喜欢有人看的话,这是一项很好的投资一直在你的肩膀上,或者更糟糕的是捕捉到一个相当讨厌的“错误”,所以用 AVG 之类的东西从 CLEAN 系统进行扫描......