Задать вопрос
@yuriknsk

Висят процессы powershell, кто их использует?

Оставляю комп включенным, на утро вижу несколько процессов powershell, каждый из них ест по 10-12% cpu.
Как отследить кто использует, может майнер какой-то? Посоветуйте прогу, которая раскопает суть))
скриншот
690ac1738f976083586542.jpeg
  • Вопрос задан
  • 362 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Skillbox
    Специалист по кибербезопасности 2.0/ Этичный хакер
    12 месяцев
    Далее
  • Merion Academy
    Администрирование MS Windows Server
    1 месяц
    Далее
Решения вопроса 3
Adler_lug
@Adler_lug
Добавьте колонку "командная строка" и посмотрите полный путь выполнения.
Ответ написан
Комментировать
VoidVolker
@VoidVolker Куратор тега Windows
Dark side eye. А у нас печеньки! А у вас?
Ответ написан
Комментировать
@MaxKozlov Куратор тега PowerShell
Ну и для полноты ответа в теме с тэгом Powershell ;-)

Get-CimInstance Win32_Process -Filter "Name='powershell.exe'" | Select-Object ProcessId, CommandLine
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@yuriknsk Автор вопроса
Process Explorer показывает в качестве command line какой-то скрипт
690c0fdea9a22954397010.jpeg

Полный текст скрипта

powershell.exe -ExecutionPolicy Restricted -Command 
                    function Get-UEFIX509Certificates {
                        $Certs = @()

                        try {
                            $UefiDb = Get-SecureBootUEFI -Name db
                            $Stream = [IO.MemoryStream]::New($UefiDb.Bytes)
                        } catch {
                            Write-Host 'Failed to get UEFI db:',$_.Exception.Message
                            return $Certs
                        }

                        while ($Stream.Position -lt $Stream.Length) {
                            # Read EFI_SIGNATURE_LIST header
                            $SignatureType = New-Object byte[] 16
                            $Stream.Read($SignatureType, 0, 16) | Out-Null
                            $SignatureTypeGUID = [Guid]::New($SignatureType)

                            $SignatureListSize = New-Object byte[] 4
                            $Stream.Read($SignatureListSize, 0, 4) | Out-Null
                            $ListSize = [BitConverter]::ToUInt32($SignatureListSize, 0)

                            $Stream.Position += 4 # Skip SignatureHeaderSize

                            $SignatureSize = New-Object byte[] 4
                            $Stream.Read($SignatureSize, 0, 4) | Out-Null
                            $SignatureSize = [BitConverter]::ToUInt32($SignatureSize, 0)

                            if ($SignatureTypeGUID -eq 'a5c059a1-94e4-4aa7-87b5-ab155c2bf072') { # SignatureType matches X.509 GUID
                                $CertificateCount = ($ListSize - 28) / $SignatureSize
                                for ($i = 0; $i -lt $CertificateCount; $i++) {
                                    $SignatureOwner = New-Object byte[] 16
                                    $Stream.Read($SignatureOwner, 0, 16) | Out-Null
                                    $SignatureOwner = [Guid]::New($SignatureOwner)

                                    $CertificateData = New-Object byte[] ($SignatureSize - 16)
                                    $Stream.Read($CertificateData, 0, ($SignatureSize - 16)) | Out-Null
                                    $Certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2(,$CertificateData)

                                    $Certs += [PSCustomObject]@{
                                        SignatureOwner = $SignatureOwner
                                        Subject = $Certificate.Subject
                                    }
                                }
                            }
                        }

                        return $Certs
                    }

                    $Res = 0
                    $Certs = Get-UEFIX509Certificates
                    Write-Host 'Found',$Certs.Count,'certificates'
                    foreach ($Cert in $Certs) {
                        if ($Cert.Subject.StartsWith('CN=Windows UEFI CA 2023,') -and $Cert.SignatureOwner -ne '77fa9abd-0359-4d32-bd60-28f4e78f784b') {
                            $Res = 1
                            break
                        }
                    }
                    Write-Host 'Final result:',$Res


никакого исполняемого файла или dll не вижу ((

значит что-то в автозапуске или планировщике висит?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы