Haal bestands-hashes op met Windows PowerShell

Probeer Ons Instrument Voor Het Oplossen Van Problemen

Het ophalen van bestands-hashes kan erg handig zijn. Dit kan bijvoorbeeld worden gebruikt om ervoor te zorgen dat back-upbestanden niet beschadigd of gewijzigd zijn (door hashes voor en na het proces te genereren), of om ervoor te zorgen dat niemand met een belangrijk bestand heeft geknoeid.

Je ziet het misschien ook op downloadsites, maar het gebruik is daar beperkt. De reden is simpel: als een aanvaller erin slaagt het downloadbestand te wijzigen, bestaat de kans dat ook de website is gecompromitteerd. Dit zou theoretisch op zijn minst kunnen betekenen dat de bestandshash die op de site wordt weergegeven, ook is aangepast aan de nieuwe kwaadaardige versie van de download.

We hebben in het verleden een aanzienlijk aantal hashing-gerelateerde programma's bekeken: van de Windows-shell-extensie HashTab , over HashMyFiles van Nirsoft naar Bestandscontrole MD5 en MD5 Check Utility .

Haal bestands-hashes op met Windows PowerShell

windows powershell get-hash

Als u de hash van een bestand snel op een Windows-computer moet genereren, dan kan dat ook gebruik PowerShell daarom.

Het is misschien niet zo comfortabel als sommige van de hashing-programma's die er zijn, maar het is een native implementatie waarvoor geen software van derden nodig is om te werken. Handig in bijvoorbeeld beperkte omgevingen of wanneer er geen internetverbinding beschikbaar is om deze programma's te downloaden.

Het genereren van hash is geïntegreerd in PowerShell 4.0. Het is opgenomen in Windows 8.1 en Windows Server 2012 R2 en is ook beschikbaar voor Windows 7 Service Pack 1, Windows Server 2012 en Windows Server 2008 R2 Service Pack 1.

  1. Tik op de Windows-toets, typ PowerShell en druk op Enter om het op te starten.

Het belangrijkste commando is get-filehash FILEPATH b.v. get-filehash c: test.txt .

Get-FileHash gebruikt standaard het Sha256-algoritme. U kunt in plaats daarvan een ander algoritme specificeren met de parameter -Algorithm.

Ondersteund zijn: SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5, RIPEMD160

Merk op dat MD5 en SHA1 niet meer als veilig worden beschouwd, maar nog steeds worden ondersteund.

Dus om een ​​Sha512-hash te genereren, zou je het commando gebruiken get-filehash -Algoritme Sha512 c: test.txt.

U kunt ook -LiteralPath of -InputStream gebruiken in plaats van de standaardpadoptie.

  • LetterlijkPad: get-filehash -LiteralPath -Algoritme SHA512 c: test.txt.
  • InputStream get-filehash -InputStream -Algoritme SHA512 Stream.

Het belangrijkste verschil tussen pad en literalpath is dat literalpath geen jokertekens ondersteunt en precies wordt gebruikt zoals het is getypt.

CertUtil

certutil

CertUtil is een ander native Windows-programma dat u kunt gebruiken om hashes van bestanden te berekenen. U kunt het programma uitvoeren vanaf de opdrachtprompt of met PowerShell.

Het basiscommando is certutil -hashfile PATH b.v. certutil -hashfile c: voorbeeld.txt .

U kunt ook het hash-algoritme specificeren. Ondersteund zijn MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512. Het standaardalgoritme is MD5.

Om een ​​ander hash-algoritme te gebruiken, specificeert u dit na het commando, bijv. certutil -hashfile c: voorbeeld.txt SHA512 .

Afsluitende woorden

U kunt de opdrachten in scripts gebruiken om hashes voor meerdere bestanden in één bewerking te berekenen. De twee native tools get-filehash en certutil zijn best handig voor het snel berekenen van hashes op Windows, en ook voor scriptgebruik. (via Genbeta (Spaans))