
안녕하세요. 저는 Windows 10에서 실행 중인 모든 프로세스 목록을 가져와서 MD5 알고리즘을 통해 실행할 수 있어야 합니다. Powershell에서 자동으로 이를 수행하는 방법이 있습니까?
어떤 도움이라도 대단히 감사하겠습니다.
답변1
이것은 쉬운 일이 아닙니다. 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"}
답변2
이 유틸리티는 일반적으로 맬웨어 추적을 위해 낮은 수준의 시스템 정보를 수집하기 위한 Sysmon이라는 Microsoft 유틸리티입니다. 서비스로 설치되며 이벤트 로그에 실행되는 각 프로세스의 파일 해시를 기록하도록 구성할 수 있습니다. 구성 파일을 통해 기록할 해시 유형(md5,sha1,sha2 등)을 구성할 수 있습니다. 이것이 귀하의 목표를 달성하는 데 도움이 된다면 이에 대한 자세한 내용을 읽어보세요.여기.