Holen Sie sich Datei-Hashes mit Windows PowerShell

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen

Das Abrufen von Datei-Hashes kann sehr nützlich sein. Dies kann beispielsweise verwendet werden, um sicherzustellen, dass gesicherte Dateien nicht beschädigt oder geändert werden (indem vor und nach dem Prozess Hashes generiert werden), oder um sicherzustellen, dass niemand eine wichtige Datei manipuliert.

Sie können es auch auf Download-Sites sehen, aber die Verwendung dort ist begrenzt. Der Grund ist einfach: Wenn es einem Angreifer gelungen ist, die Download-Datei zu ändern, besteht die Möglichkeit, dass auch die Website kompromittiert wurde. Dies könnte theoretisch zumindest bedeuten, dass der auf der Site angezeigte Datei-Hash ebenfalls geändert wurde, um der neuen schädlichen Version des Downloads zu entsprechen.

Wir haben in der Vergangenheit eine beträchtliche Anzahl von Hashing-bezogenen Programmen überprüft: von der Windows-Shell-Erweiterung HashTab , Über HashMyFiles von Nirsoft zu Dateiprüfung MD5 und MD5 Check Utility .

Holen Sie sich Datei-Hashes mit Windows PowerShell

windows powershell get-hash

Wenn Sie den Hash einer Datei auf einem Windows-Computer schnell generieren müssen, können Sie dies auch tun Verwenden Sie PowerShell dafür.

Es ist möglicherweise nicht so komfortabel wie einige der Hashing-Programme, aber es ist eine native Implementierung, für deren Funktion keine Software von Drittanbietern erforderlich ist. Nützlich zum Beispiel in eingeschränkten Umgebungen oder wenn keine Internetverbindung zum Herunterladen dieser Programme verfügbar ist.

Die Hash-Generierung wurde in PowerShell 4.0 integriert. Es ist in Windows 8.1 und Windows Server 2012 R2 enthalten und auch für Windows 7 Service Pack 1, Windows Server 2012 und Windows Server 2008 R2 Service Pack 1 verfügbar.

  1. Tippen Sie auf die Windows-Taste, geben Sie PowerShell ein und drücken Sie die Eingabetaste, um sie zu starten.

Der Hauptbefehl lautet get-filehash FILEPATH , z.B. get-filehash c: test.txt .

Get-FileHash verwendet standardmäßig den Sha256-Algorithmus. Sie können stattdessen einen anderen Algorithmus angeben, indem Sie den Parameter -Algorithm verwenden.

Unterstützt werden: SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5, RIPEMD160

Beachten Sie, dass MD5 und SHA1 nicht mehr als sicher gelten, aber weiterhin unterstützt werden.

Um einen Sha512-Hash zu generieren, verwenden Sie den Befehl get-filehash -Algorithmus Sha512 c: test.txt.

Sie können auch -LiteralPath oder -InputStream anstelle der Standardpfadoption verwenden.

  • LiteralPath: get-filehash -LiteralPath -Algorithmus SHA512 c: test.txt.
  • Eingabestrom get-filehash -InputStream -Algorithmus SHA512 Stream.

Der Hauptunterschied zwischen Pfad und Literalpfad besteht darin, dass der Literalpfad keine Platzhalter unterstützt und genau so verwendet wird, wie er eingegeben wurde.

CertUtil

certutil

CertUtil ist ein weiteres natives Windows-Programm, mit dem Sie Hashes von Dateien berechnen können. Sie können das Programm an der Eingabeaufforderung oder mit PowerShell ausführen.

Der Basisbefehl lautet certutil -hashfile PATH , z.B. certutil -hashfile c: example.txt .

Sie können auch den Hash-Algorithmus angeben. Unterstützt werden MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512. Der Standardalgorithmus ist MD5.

Um einen anderen Hash-Algorithmus zu verwenden, geben Sie ihn nach dem Befehl an, z. certutil -hashfile c: example.txt SHA512 .

Schlussworte

Sie können die Befehle in Skripten verwenden, um Hashes für mehrere Dateien in einem Vorgang zu berechnen. Die beiden nativen Tools get-filehash und certutil sind sehr praktisch für die schnelle Berechnung von Hashes unter Windows und auch für die Verwendung von Skripten. (über Genbeta (Spanisch))