Oblicz hash próbki malware za pomocą PowerShell
13.04.2022 Dawid Farbaniec

Pomysł haszowania próbek złośliwego oprogramowania
Funkcja skrótu podaje wartość o stałym rozmiarze z dostarczonych przykładowych danych (pliku) złośliwego oprogramowania. Analitycy bezpieczeństwa mogą korzystać z tych funkcji, aby łatwo porównać, czy próbki danego złośliwego oprogramowania są takie same. Dzięki temu można sprawdzić, czy ktoś już przeanalizował daną próbkę. Najprostszym przykładem jest skopiowanie i wklejenie wartości skrótu do wyszukiwarek takich jak Google lub Bing (lub DuckDuckGo) i wyszukanie istniejących raportów o wybranej próbce złośliwego oprogramowania. Zwróć uwagę na bardzo prostą definicję, o której należy pamiętać, jeśli ktoś zapyta nas o funkcje skrótu: Najmniejsza zmiana dowolnej wartości bajtu w próbce złośliwego oprogramowania powoduje dużą zmianę obliczonej wartości skrótu.hashcalc.ps1 (PowerShell Script)
$filepath = "C:\Users\x\Desktop\sample.bin";
$md5 = Get-FileHash $filepath -Algorithm MD5 | Select -ExpandProperty "Hash";
$sha1 = Get-FileHash $filepath -Algorithm SHA1 | Select -ExpandProperty "Hash";
$sha256 = Get-FileHash $filepath -Algorithm SHA256 | Select -ExpandProperty "Hash";
$sha384 = Get-FileHash $filepath -Algorithm SHA384 | Select -ExpandProperty "Hash";
$sha512 = Get-FileHash $filepath -Algorithm SHA512 | Select -ExpandProperty "Hash";
$filename = [System.IO.Path]::GetFileName($filepath);
Write-Host "Calculating hashes... ($filename)";
Write-Host "SHA-256:";
Write-Host "$sha256";
Write-Host "SHA-384:";
Write-Host "$sha384";
Write-Host "SHA-512:";
Write-Host "$sha512";
Write-Host "Calculating deprecated hashes...";
Write-Host "MD5:";
Write-Host "$md5";
Write-Host "SHA-1:";
Write-Host "$sha1";
Write-Host "The algorithms MD5 and SHA-1 are no longer considered secure. These algorithms should only be used for simple modification checks and should not be used to create hash values used for tampering checks.";
Włącz uruchamianie skryptu PowerShell
Podczas próby wykonania skryptu kalkulatora skrótów można napotkać następujący błąd:PS C:\Users\iamda> C:\Users\iamda\Desktop\hashcalc.ps1
C:\Users\iamda\Desktop\hashcalc.ps1 : File C:\Users\iamda\Desktop\hashcalc.ps1 cannot be loaded because running scripts
is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?Link
ID=135170.
At line:1 char:1
+ C:\Users\iamda\Desktop\hashcalc.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
Uruchamianie skryptu można włączyć za pomocą:
powershell -ExecutionPolicy Bypass -File C:\Users\iamda\Desktop\hashcalc.ps1
Zauważ, że zmiana zasad wykonywania dla jednego skryptu jest bezpieczniejsza niż włączenie ich globalnie.
Udane wykonanie wygląda tak:
Calculating hashes...
SHA-256:
59DDCD5E4973B1139688B4596BB822E5C45615DDFF7A81B2096D72F13CFE716F
SHA-384:
12918DB32C8BD015666C49104813C321653CF4B194B16A9A092D6E2E010741A223D0E76746CE836E0FA80FC7F9598CDD
SHA-512:
EFBA2CAED23811875FB420AA1E60AFC2D4E828C991140B461194A7EFCDC55369421E869053323499E1DA9FAF99052E3D0389958CDB240B6AD70723BD7B42FC08
Calculating deprecated hashes...
MD5:
89ADE3F73E7C74D70C9FAC0807E43620
SHA-1:
0B7AE236BF066D8B0E696A5EB51C7448A7CEAD85
The algorithms MD5 and SHA-1 are no longer considered secure. These algorithms should only be used for simple modification checks and should not be used to create hash values used for tampering checks.
