Windows-Hashes bilden – Tipps und Tools zum Download
Windows: Hash-Werte auslesen, erstellen – und damit auf Virenjagd gehen
Hash-Werte kommen vor allem für die Dateiverifikation zum Einsatz. Einige Verfahren sind geknackt und daher unsicher – für den Hausgebrauch genügen sie alle.
Foto: iStock.com/Just_Super
Uhr
Hash-Werte, auch Prüfsummen genannt, verifizieren die Echtzeit und Unversehrtheit von Dateien. Damit prüfen Sie selbst megabytegroße Files sekundenschnell auf Malware.
In Microsoft-Betriebssystemen stecken detektivische Ambitionen, aber erst seit Windows 8.1: Das Betriebssystem bildet im Gegensatz zu seinen Vorgängern (bis einschließlich Windows 8.0) mit der PowerShell Hash-Werte. Das sind Prüfsummen, die Sie sich als Fingerabdrücke vorstellen können. Zu jeder Datei existiert ein – je nach genutztem Hash-Algorithmus – bestimmter kryptischer Zeichencode. Ändert sich auch nur ein Bit an einer Datei, hat sie einen komplett anderen Prüfsummenwert. Das lässt sich dazu nutzen, die Echtheit und die Unversehrtheit einer Datei und somit ihre Sicherheit zu verifizieren.
Zudem überprüfen Sie so mithilfe des Webdienstes VirusTotal fragwürdige Dateien auf Schadcode; der zeitraubende Upload entfällt. Nachfolgend finden Sie eine Einführung in die Grundlagen von Prüfsummen respektive des Hashings – also das Erstellen der Summencodes alias Strings. Danach stellen wir Bordmittel-Kniffe und externe Tools vor, die (bequemer als Windows selbst) Hashes berechnen. Dabei geht es auch um VirusTotal: Normalerweise laden Sie auf Schadcode zu scannende Dateien zu diesem Multi-Virenscanner-Clouddienst hoch, dank eines Hashes ersparen Sie sich das. Dies ist zumindest bei Dateien möglich, die bereits von VirusTotal gescannt wurden.
Was sind Hashwerte? Wofür braucht man sie?
Hash-Werte sind Zeichenfolgen, die entstehen, wenn Sie einen Hash-Algorithmus auf Daten anwenden. Solche Prüfsummen erzeugen Sie auf Basis von Dateien oder Text. Praktisch sind solche Codes, wenn Sie feststellen möchten, ob ein Download funktioniert hat: Einige Download-Portale geben zu herunterladbaren Dateien Hashes an. Indem Sie dieselbe Hashing-Technik anwenden wie der Portalbetreiber, von dem Sie ein File bezogen haben, vergewissern Sie sich, dass es korrekt bei Ihnen gespeichert wurde; die Hashes sollten identisch ausfallen. Hat es einen Download-Fehler gegeben, weichen die Werte voneinander ab. Das gilt ebenso für den hypothetischen Fall, dass ein Angreifer den Download-Datenstrom manipuliert hat.
Auch wenn Sie nur eigene (nicht zum Download bereitstehende) Dateien prüfen wollen, sind Hashes eine gute Sache: Analysieren Sie eine Datei zweimal mit einiger Zeit Versatz. Haben Sie sie nicht bearbeitet, sollte der zweite Hash mit dem ersten identisch sein. Für eine leichtere Kontrolle bietet es sich an, den ersten Wert in einem TXT-Textdokument zu speichern. Gängige Hashing-Verfahren sind MD5, SHA-1, CRC32, SHA-256, SHA-512 und SHA-384. Nicht jedes Hashing-Tool unterstützt sämtliche Algorithmen.
Beachten Sie hinsichtlich der Sicherheit von Hashing-Verfahren, dass einige weniger standfest sind als andere. Es ist also möglich, bei verschiedenen Files ein und denselben Hash-Wert zu berechnen. Das ist in der Praxis aber irrelevant und für die meisten User eher Theorie. Ferner garantieren Hashes nicht, dass eine überspielte Datei virenfrei ist: Der Hash mag zwar mit dem übereinstimmen, der auf einem Download-Portal zu finden ist. Doch hat der Seitenbetreiber oder ein beim Server eingebrochener Dritter etwa eine manipulierte ISO-Datei samt validem Hash hinterlegt, ist noch immer eine Infektion Ihres PCs über das File aus dem Netz möglich.
Hash-Werte anlegen – wie geht das?
Wie eingangs im Artikel erwähnt, erzeugen Sie Hash-Werte mithilfe der Windows-PowerShell. Die ist seit Windows 7 vorinstalliert, bringt hier und bei Windows 8 aber noch nicht das passende Cmdlet (Befehl) zur Hashes-Generierung mit. Bei Windows 8.1, Windows 10 und Windows 11 sieht das anders aus. Alternativ generieren Sie zu Ihren Dateien Hashes mit zusätzlicher Software – was vor allem bei einer Vielzahl von zu analysierenden Elementen eine gute Option ist. Doch massenhaft Dateien derart zu prüfen, stellt eher die Ausnahme dar. Es gibt außerdem Cloud-Dienste, zu denen Sie Dateien hochladen und die dann Prüfsummen ausgeben. Ein Beispiel ist VirusTotal von Google.
Des Weiteren bietet sich die Nutzung des HTML5-Dienstes md5file.com/calculator an. Dort bekommen Sie nach der Angabe einer Datei per Drag & Drop Werte gemäß SHA-1, SHA-256, SHA-512 und MD5 angezeigt. Selbst sensible Dateien dürfen Sie dort checken: Der Dienst funktioniert nämlich ohne eine Internetverbindung; die Seite aufrufen und eine Datei angeben geht auch ohne Web-Konnektivität (was Sie prüfen, indem Sie über Windows-R und ncpa.cpl die Netzwerkadapter-Übersicht der Windows-Systemsteuerung aufrufen und dort per Kontextmenü Ihres LAN-/WLAN-Adapter-Icons die Internetverbindung zeitweise trennen).
Das Umbenennen von Dateien führt zu keinem geänderten Hashwert, ebenso wenig wie ein geänderter Dateisystempfad, was Interessierte mithilfe einer erneuten Prüfung einfach ausprobieren. Verschiedene Hashing-Programme sollten zudem bei ein und derselben Datei im Fall eines identischen Algorithmus einen übereinstimmenden String ausgeben. Je nach eingesetztem Software- oder Webbrowser-Tool zum Hashen sehen Sie womöglich Groß- statt Kleinbuchstaben, die Zeichenfolgen sind sonst jedoch identisch.
Windows: Hashes mit Bordmitteln anlegen
Wer nur gelegentlich hashen will, braucht kein Zusatztool. Ist mindestens Windows 8.1 installiert, starten Sie die PowerShell mit Windows-R und dem Befehl powershell. Ein Aufruf des Bordmittels mit Administratorrechten ist nicht nötig. Werkseitig erzeugt die PowerShell per Cmdlet-Befehl SHA-256-Hashes; per Parameter ist etwa eine MD5-Variante möglich. Geben Sie für einen SHA-256-Hash ein:
Get-Filehash Dateipfad
Tauschen Sie dabei den Parameter "Dateipfad" durch den Pfad der einzubeziehenden Datei. Nach Drücken der Eingabetaste zeigt Windows einen Zeichenfolgencode an. Auch hier gilt, dass das mit Ordnern nicht funktioniert. Wollen Sie eine Prüfsumme mit dem MD5-Algorithmus generieren, leistet das
Get-Filehash Dateipfad -algorithm md5
Weitere mögliche "Algorithm"-Parameter sind sha1, sha384, sha512 und sha256 (wobei Sie Letzteres nicht anzugeben brauchen, weil die powershell.exe bereits aus dem Stand SHA256-Strings kalkuliert).
Das Erstellen von Hashes verläuft bei kleinen Dateien schneller als bei größeren. So brauchte die Windows-PowerShell bei uns via
get-filehash D:\ISOs\ubuntu-mate-23.04-desktop-amd64.iso
üppige 25 Sekunden, um von einem 3,3 Gigabyte großen Ubuntu-Mate-ISO-Image einen SHA-256-Prüfcode zu generieren (Datei auf Festplatte gespeichert, Core-i7-6700K-Prozessor). Dagegen war das Heranschaffen eines Hashes zu einer kleineren Setup-Datei im einstelligen Megabyte-Bereich in einem Augenblick erledigt. Vor allem wenn Sie mit Hashing-Tools die Prüfsummen der Elemente ganzer Ordner berechnen, sollten Sie sich – abhängig vom Dateivolumen – auf einige Sekunden bis mehrere Minuten Wartezeit gefasst machen.
Hashes (per Kontextmenü) erstellen und analysieren
Möchten Sie eine Datei über ihr Kontextmenü hashen, eignen sich die FileMenu Tools. Es handelt sich um eine Suite, mit der Sie Dateien auch verschieben, kopieren, löschen, verschlüsseln und vieles mehr. Nach der Installation klicken Sie eine zu prüfende Datei mit der rechten Maustaste an, bewegen den Mauszeiger auf "FileMenu Tools" im Kontextmenü und klicken auf den Eintrag "Prüfsumme berechnen und testen".
Im sich öffnenden Fenster wählen Sie über das Drop-down-Menü unter "MD5", "SHA1", "SHA256", "SHA384", "SHA512" und "CRC32". Bestätigen Sie mit der Schaltfläche "Start", sehen Sie im unteren Fensterbereich (dort rechts neben "Berechnet") die zugehörige Prüfsumme.
Portables und schlankes Tool: MD5 Check
Der schlanke MD5 Check benötigt keine Installation und hat sich auf das Erzeugen von MD5-Prüfsummen spezialisiert. Das Tool zeigt standardmäßig digitale Fingerabdrücke gemäß dem MD5-Algorithmus an; auf Wunsch schalten Sie in einem Drop-down-Menü zu "SHA1", "SHA256" oder "SHA512" um. Mit dem Button "Durchsuchen" geben Sie die zu prüfende Datei an.
Wählen Sie "Generieren", haben Sie die Möglichkeit, den fertigen Hash mit "Merken" ins Hauptfenster zu übernehmen oder mit einem anderen Button in die Zwischenablage zu kopieren. Weitere Funktionen erzeugen auf Basis von eingetipptem Text Hashes und vergleichen die Fingerabdrücke zweier Dateien. Bei Letzterem erhalten Sie die Info "Die beiden Dateien/Hashes sind gleich!" oder "Die beiden Dateien/Hashes sind unterschiedlich!".
Der MD5 File Hasher basiert auf der .NET-Framework-Laufzeitumgebung, ist zu installieren und nimmt über die Schaltfläche "Dateien auswählen" ein oder mehrere Files entgegen. Der Import funktioniert ebenfalls über Drag & Drop. Zu geladenen Dateien berechnet das Tool ohne einen weiteren Klick eine MD5-Prüfsumme. Haben Sie eine Datei importiert, prüfen Sie mit der Kontextmenüfunktion "Mit Zwischenablage vergleichen", ob der Hash-Wert im Windows-Zwischenspeicher derselbe ist wie derjenige der mit der rechten Maustaste angeklickte Datei. Rechtsklicken Sie und wählen Sie "Speichern", legen Sie etwa auf dem Desktop ein TXT-Textdokument mit den Hashes aller geprüften Files ab.
Ein weiteres empfehlenswertes Hashing-Tool ist der Microsoft File Checksum Verifier. Die Lösung ist in der Kommandozeile zu nutzen und daher vor allem etwas für Profis. HashMyFiles stammt von Nirsoft, einem bekannten Entwickler systemnaher Software. Nach dem Start des portablen Werkzeugs importieren Sie über Drag & Drop, die Menüleiste oder mit [F2] (Dateien) respektive [F3] (Ordner) das zu Prüfende. Zu jeder Datei sehen Sie rechts nebeneinander Hashes gemäß MD5, SHA-1, CRC32, SHA-256, SHA-512 und SHA-384. Besonderheiten: Ein HTML-Export ist möglich; ferner prüfen Sie mit [F4] oder "File > Add Process Files" im RAM (!) befindliche EXE-Prozesse (letztlich Dateien).
Das Programm "Hasher Lite" zeigt die Hashes einer geladenen Datei untereinander (HashMyFiles: nebeneinander). Neben den üblichen Hash-Techniken finden sich RMD128, RMD160 und ED2K. Überdies sehen Sie die Attribute Ihrer Dateien, etwa "H" (hidden) bei versteckten Files. Das Hashen von Text ist möglich, die Codes variieren je nach Wahl von UTF-8, Unicode oder ANSI. Die Software "HashTab" wiederum ist das Richtige für Sie, wenn Sie in den Eigenschaften Ihrer Dateien Prüfsummen einsehen möchten: Der neue Tab "Hashwerte" führt Codes auf der Grundlage der Berechnungsarten CRC32, MD5 und SHA-1 auf. Die Integration in Windows ist weit gediehen.
Hashen mit VirusTotal
Die Nutzung eines Spezialtools zum Hashen ersparen Sie sich, wenn Sie VirusTotal nutzen: Googles Webdienst prüft Dateien mit den Engines namhafter Antiviren-Anbieter auf Gefahr. Hierzu gehören unter anderem Avira, Avast, AVG, Bitdefender, ClamAV, G Data, F-Secure und Kaspersky. Laden Sie eine Datei hoch, sehen Sie in der Rubrik "Detection" in einer Tabelle Einschätzungen der genannten und weiterer Scanner zur Vertrauenswürdigkeit des Files. Wechseln Sie in die Kategorie "Details", erhalten Sie neben weiteren Daten Hashes: basierend auf MD5, SHA-1 und SHA-256. Möchten Sie eine potenziell verseuchte Datei ohnehin auf Schadcode überprüfen, laden Sie sie zum Google-Dienst hoch und erhalten die Prüfsummen nebenbei.
Es gibt nicht nur VirusTotal: Der Dienst mag am populärsten sein, jedoch existiert mit Jotti’s Malware Scan brauchbare Konkurrenz. Die Anzahl vorhandener Virenscanner ist hier geringer. Nachdem Sie über "Durchsuchen" eine Datei hochgeladen haben, sehen Sie oben allgemeine Dateiinfos samt Angaben auf der Grundlage von MD5 und SHA1. Unterhalb davon tauchen die Scan-Ergebnisse von Avast, Ikarus, Trend Micro und weiteren Anbietern auf.
Möchten Sie mithilfe eines Hash-Werts nach Malware suchen, klicken Sie oben auf "Suche Hash", fügen ins Feld "MD5/SHA1/SHA256/SHA512" eine Prüfsumme ein und bestätigen mit "Suche". Cool ist, dass Jotti daraufhin den Dateinamen erkennt und ihn oberhalb der MD5-/SHA1-Hashes anzeigt.
Per Prüfsumme einen Virenscan starten
Normalerweise wählen Sie bei VirusTotal eine Datei zum Upload aus. Alternativ übermitteln Sie an den Dienst nur die Prüfsumme einer Datei; er gleicht sie dann mit den eingebundenen Virenscannern ab. Klicken Sie auf virustotal.com auf "Search". In das Feld "URL, IP address, domain, or file hash" fügen Sie nun mit Strg-V aus der Windows-Zwischenablage einen Hash-Wert ein.
Bestätigen Sie mit der Eingabetaste. Der Vorteil: Der Upload einer Datei entfällt. Hat VirusTotal das betreffende Element schon einmal gescannt, sehen Sie quasi verzögerungsfrei Einschätzungen zur Malware-Befallenheit oder -Freiheit der Datei.
Betriebssystem-Info-Checker: Windows 7 ISO Verifier
Eine Anekdote: 2009 erschien Windows 7, zu dieser Zeit erblickte ein Windows 7 ISO Verifier das Licht der Download-Welt. Der Verifier prüfte die Echtzeit heruntergeladener Windows-7-RTM-ISO-Images (RTM: Release to Manufacturing). drwindows.de kommentierte gehässig: "Eine prima Idee: Mit einem nicht von Microsoft autorisierten Programm kann ich überprüfen, ob ein nicht von Microsoft autorisierter Download sauber ist. Sicherer geht es ja nun wohl wirklich nicht." Das Tool ist heute nicht mehr nötig, Windows-7-ISOs sind jedoch teils noch für Nostalgiker interessant, die in alten Zeiten schwelgen möchten.
Ferner gibt es Benchmark-Tools, die mithilfe von Hashwert-Berechnungen die Leistung Ihres Computers feststellen. Sollten Sie einen Download-Manager oder einen Drittanbieter-Dateimanager nutzen, schauen Sie auch dort mal nach, ob es eine Hash-erstellen-Funktion gibt. Beim Free Download Manager beispielsweise werden Sie fündig.
Bemerkenswert ist, dass auch Windows 7 mit Bordmitteln in der Lage ist, zu hashen. Dem dient nicht das Cmdlet "Get-Filehash" in einer PowerShell-Instanz, sondern Sie nutzen hierfür (ebenso wie in einem neueren Betriebssystem) Certutil. Details zu dem Werkzeug erhalten Sie im Artikel "Windows: Certutil – Bordmittel verschleiert Text und hasht Dateien".