Powershell 실행중인 프로세스 목록을 가져 와서 MD5 알고리즘을 통해 실행하는 방법


1

안녕하세요, 내 Windows 10에서 실행되는 모든 프로세스 목록을 가져 와서 MD5 알고리즘을 통해 실행할 수 있어야합니다. powershell에서 자동으로 수행하는 방법이 있습니까?

어떤 도움이라도 대단히 감사합니다


이 질문은 그다지 의미가 없습니다. 정확히 무엇 을 달성하려고합니까?
Keltari

죄송합니다. 더 명확하게 해보겠습니다. 내 컴퓨터에서 이미 알고있는 MD5 해시와 일치하는 프로세스를 찾으려고합니다. 나는 powershell을 사용하여 이것을 자동화 할 수 있기를 바랐지만 불행히도 Google을 사용하여 아무것도 켜지지 않았습니다. 내 컴퓨터에서 현재 실행중인 프로세스 목록을 가져 와서 md5 알고리즘을 통해 처리합니다 (정확한 용어인지 확실하지 않은지 확실하지 않음). 내가 이미 알고있는 md5 해시와 일치하는 프로세스를 찾을 수 있는지 확인하고 싶습니다.
rogermoore

2
MD5 해시를 얻으려고 무엇을하고 있습니까? 프로세스 이름 또는 .exe실행중인 파일 의 내용 ?
duskwuff

프로세스 이름을 사용하는 대신 프로세스 이름의 해시를 원하는 이유가 궁금합니다. 프로세스 이름만큼 짧은 문자열에 대해 해시를 비교하면 어떤 advatage가 발생합니까?
EBGreen

답변:


0

이것은 쉬운 일이 아닙니다. PowerShell은 MD5를 사용하여 파일을 기본적으로 해시 할 수 Get-FileHash있지만 문자열은 사용할 수 없습니다.

다행히도 MS는 여기 에 솔루션을 제공합니다 .

#http://jongurgul.com/blog/get-stringhash-get-filehash/ 
Function Get-StringHash([String] $String,$HashName = "MD5") 
{ 
$StringBuilder = New-Object System.Text.StringBuilder 
[System.Security.Cryptography.HashAlgorithm]::Create($HashName).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($String))|%{ 
[Void]$StringBuilder.Append($_.ToString("x2")) 
} 
$StringBuilder.ToString() 
}

해당 기능을 복사하여 PowerShell 프롬프트에 붙여 넣습니다. 호출 된 해당 기능 Get-StringHash은 해당 PowerShell 세션에 저장됩니다.

다음을 입력하여 "test"라는 단어를 해싱하여 MD5를 테스트하십시오.

Get-StringHash "테스트" "MD5"

그리고 아래 MD5 해시를 가져와야합니다.

098f6bcd4621d373cade4e832627b4f6

완료되면 해당 함수와 함께 Get-Process프로세스 이름과 이름의 MD5를 아래와 같이 얻을 수 있습니다.

get-process | ForEach-Object {write-host $_.Name ; Get-Stringhash "$_.Name" "MD5"}

0

Sysmon이라는 Microsoft의 유틸리티는 일반적으로 맬웨어 추적을 목적으로 낮은 수준의 시스템 정보를 수집하기위한 것입니다. 서비스로 설치되며 이벤트 로그에서 시작된 각 프로세스의 파일 해시를 기록하도록 구성 할 수 있습니다. 구성 파일을 통해 기록 할 해시 유형 (md5, sha1, sha2 등)을 구성 할 수 있습니다. 이것이 목표 달성에 도움이된다면 여기에서 자세한 내용을 읽어보십시오 .

이벤트 로그

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.