使用Process Explorer进行故障排除和诊断

了解Process Explorer的对话框和选项的工作方式是很好的,但是如何使用它进行一些实际的故障排除或诊断问题呢?今天的极客学校课程将尝试帮助你学习如何做到这一点。

不久前,我们开始调查各种恶意软件和垃圾软件,只要您在安装软件时不注意,这些恶意软件和垃圾软件就会自动安装。市场上几乎每一款免费软件,包括“有信誉的”免费软件,都在捆绑工具栏、搜索劫持、恶意搜索或广告软件,其中一些很难排除故障。

我们见过许多电脑,他们来自我们认识的人,他们安装了如此多的间谍软件和广告软件,以至于PC几乎不再加载。尤其是试图加载网络浏览器几乎是不可能的,因为所有的广告软件和跟踪软件都在争夺资源,窃取你的私人信息,并将其出售给出价最高的人。

因此,很自然,我们想要对其中一些是如何工作的做一点调查,没有比管道搜索恶意软件更好的起点了,它已经夺走了全球数亿台计算机的生命。这种邪恶的可怕行为劫持了浏览器中的搜索引擎,更改了您的主页,最恼人的是,无论您的浏览器设置为什么,它都会接管您的New Tab页面。

我们将从查看这一点开始,然后向您展示如何使用Process Explorer来排除与正在使用的锁定文件和文件夹有关的错误。

然后,我们将用另一种方式来结束它,看看现在有些广告软件是如何隐藏在Microsoft进程后面的,以便它们在Process Explorer或Task Manager中显示为合法,即使它们实际上不是合法的。

调查管道搜索恶意软件

正如我们提到的,管道搜索劫机者是最持久、最可怕和最可怕的东西之一,几乎你的每个亲戚都可能在他们的电脑上有这样的东西。他们以可疑的方式将他们的软件与任何他们能做到的免费软件捆绑在一起,在许多情况下,即使你选择退出,劫机者仍然会被安装。

Conduit安装了他们所谓的“搜索保护”,他们声称这可以阻止恶意软件对你的浏览器进行更改。他们没有提到的是,它还阻止你对他们的浏览器进行任何更改,除非你使用他们的搜索保护面板进行这些更改,而大多数人不会知道这些更改,因为它隐藏在系统托盘中。

Conduit不仅会将您的所有搜索重定向到他们自己的自定义必应页面,还会将其设置为您的主页。我们必须假设Microsoft为所有这些流量向Bing支付费用,因为它们还在查询字符串中传递一些?pc=conduit类型的参数。

趣事:这些垃圾背后的公司价值15亿美元,摩根大通为此投资了1亿美元。作恶是有利可图的。

Conduit劫持新选项卡页…。但是怎么做呢?

劫持你的搜索和主页对于任何恶意软件来说都是微不足道的-这是Conduit加强邪恶的地方,并以某种方式重写了New Tab页面,以强制它显示Conduit,即使您更改了每一个设置。

你可以卸载你所有的浏览器,甚至可以安装一个你以前没有安装过的浏览器,比如Firefox或Chrome,而Conduit仍然会设法劫持New Tab页面。

不需要太多的极客技能就能最终推断出问题出在系统托盘中运行的搜索保护应用程序。终止这个过程,突然你的新选项卡就会按照浏览器制造商的预期方式打开。

但是,它到底是如何做到这一点的呢?没有在任何浏览器中安装加载项或扩展。没有任何插件。注册表是干净的。他们是怎么做到的?

这就是我们求助于Process Explorer进行一些调查的地方。首先,我们将在列表中找到搜索保护进程,这非常简单,因为它的名称正确,但如果您不确定,您可以随时打开窗口,并使用双筒望远镜旁边的小靶心图标来确定哪个进程属于某个窗口。

现在,您只需选择适当的进程,在本例中,该进程是管道安装的Windows服务自动运行的三个进程之一。我怎么知道是Windows服务重新启动它?因为那一排的颜色当然是粉红色的。有了这些知识,我可以随时停止或删除该服务(不过在这种情况下,您只需从控制面板中的卸载程序卸载即可)。

现在您已经选择了流程,您可以使用CTRL+H或CTRL+D快捷键打开Handles视图或DLL视图,或者您可以使用View->下窗格视图菜单来执行此操作。

花几分钟浏览句柄列表会让我们更接近实际情况,因为我们找到了Internet Explorer和Chrome的句柄,这两个句柄目前在测试系统上都是打开的。我们已经肯定了搜索保护对我们打开的浏览器窗口的影响,但我们还需要做更多的研究来弄清楚到底是什么。

接下来要做的是双击列表中的进程以打开详细信息视图,然后切换到Image选项卡,该选项卡将为您提供有关可执行文件、命令行甚至工作文件夹的完整路径的信息。我们将单击Explore按钮来查看安装文件夹,并查看那里还隐藏了什么。

有意思的!。我们在这里找到了一些DLL文件,但是由于某种奇怪的原因,当我们在前面查看时,这些DLL文件都没有在搜索保护进程的DLL视图中列出。这可能是个问题。

任何时候要查看系统上的任何应用程序当前是否正在使用DLL文件,都可以通过转到“查找”菜单、按Ctrl+F组合键或单击工具栏上的双筒望远镜图标来弹出搜索窗格。现在键入DLL名称的一部分,如果愿意,甚至可以键入全名。

我们选择仅搜索开头“SPVC”,因为这是它们之间的共同纽带,而且果然,这些DLL看起来像是直接加载到我们的计算机上运行的每个浏览器进程中。

单击列表中的一项并切换到Thread页面确认了我们所担心的问题。Chrome和Internet Explorer都在使用Search Protect恶意软件中的SPVC32.dll或SPVC64.dll文件运行线程,这就是他们劫持我们的新选项卡页面的方式-不是通过更改设置,而是通过从内部劫持浏览器。

您还可以双击任何线程来查看完整的执行堆栈,这对于查看正在调用哪些函数并试图找出问题所在非常有用。

您可能想知道搜索保护应用程序是如何让Google Chrome加载该DLL的,而答案是Windows提供了一种称为DLL注入的功能。一个进程可以将DLL注入另一个进程,然后劫持某些API函数。这就是某些应用程序如何覆盖Windows功能或其他应用程序中的功能。这是一个非常复杂的主题,我们在这节课中绝对不会深入,但是如果你真的想阅读更多,你可以看看这本指南。

同样值得注意的是,您可以通过深入研究此级别的详细信息来查看每个线程的CPU使用率,这在对具有插件的应用程序进行故障排除时非常有用。您可以利用这一点来确定某个特定的DLL文件占用了太多的处理器时间,然后对该组件所属的组件进行一些研究。

处理锁定的文件或文件夹

由于您不太可能一直在调查恶意软件,因此将Process Explorer用于其他任务也很有帮助,例如处理那些“正在使用”的对话框,您可以随时尝试删除、移动或修改另一个进程正在使用的文件或文件夹,尤其是在您不确定哪个进程将其锁定的情况下。

当您遇到类似错误时,只需转到Process Explorer,使用CTRL+F或图标打开搜索,然后键入上面列出的文件夹的名称(如果名称非常模糊,则键入更具描述性的完整路径)。

您将很快在列表中看到一个打开了您的文件或文件夹的进程,您可以双击它来标识列表中的进程。

您的直接反应可能是直接关闭该过程,但您不一定要这样做。您还可以右键单击句柄列表中的文件或文件夹(使用CTRL+H选项调出句柄列表),然后选择关闭句柄选项。该资源现在已解锁!

注意:如果您要删除某些内容,这是一个非常好的选项,但如果您只是试图编辑或移动该项目,您可能应该打开有问题的应用程序并在那里处理它,这样您就不会丢失任何数据。

研究看似安全但实际上并不安全的过程

在我们的恶意软件研究期间,我们注意到另一个问题正在变得更加普遍,所以明智的做法是在未来密切关注它。那是什么问题?恶意软件隐藏在合法的Windows进程后面,而且做得很好。

问题出在Windows rundll32.exe实用程序上,该实用程序可用于从DLL文件任意运行函数。由于此实用程序由Microsoft签名,因此它在列表中显示为完全合法的进程,但实际上他们所做的只是将其所有恶意软件/广告软件代码移动到.DLL文件中而不是.exe文件中,然后使用rundll32.exe加载恶意软件。*事实上,如果您看到rundll32.exe以下面所示的浅蓝色作为“自己的进程”运行,那么它几乎总是不应该运行的东西。

在下面的示例中,您可以看到,尽管我们使用了验证的签名者功能来验证该项目,但当我们将鼠标悬停在该项目上并查看完整路径时,它实际上正在加载一个原来是广告软件产品一部分的DLL。

注:在您开始尖叫运行防病毒扫描之前,我们会注意到我们这样做了,并且它没有返回任何东西。许多垃圾软件、广告软件和间谍软件都被防病毒实用程序忽略。

双击打开详细信息会显示更多问题,我们还可以看到恶意软件即将耗尽的目录,我们将使用该目录进一步调查。

在该目录中,我们发现了许多在后台不断更新的文件。

调查的其余部分引出了一些不是Sysinterals的其他工具,我们可能会在以后讨论这些工具,但可以说这只是一个与另一个垃圾软件应用程序一起运行的恶意软件。

这里重要的一点是,恶意软件能够隐藏在合法的Windows可执行文件后面,所以一定要密切注意任何类似的东西。

接下来是

明天请继续关注系统内部的更多知识,因为我们将向您展示如何使用进程监视器实用程序来跟踪应用程序在幕后实际执行的操作。这会让你大开眼界的。

相关文章