
ETS5 Password Recovery Tool ist ein PoC für CVE-2021-36799
Haben Sie das Passwort für eines Ihrer ETS5-Projekte vergessen und können nicht mehr auf die Konfiguration der KNX-Installation zugreifen? Das ETS5 Password Recovery Tool ermöglicht es Ihnen, das Projektpasswort und andere im Projektverzeichnis der ETS5 gespeicherte Geheimnisse wiederherzustellen. Dies ist möglich, weil die ETS5 einen erheblichen Designfehler aufweist: Sie verwendet ein fest codiertes Passwort und einen fest codierten Salt, um die Projektinformationen zu verschlüsseln (CVE-2021-36799).
Das Speichern kryptografischer Geheimnisse im Quellcode ist nicht empfehlenswert, da sie durch Reverse Engineering der Software wiederhergestellt werden können und somit kaum mehr Schutz bieten, als die Informationen im Klartext zu speichern. Dies kann eine Gefahr für die Sicherheit der KNX-Installationen darstellen. Wenn ein Angreifer Zugriff auf die Dateien im Projektverzeichnis erlangt, kann er diese entschlüsseln, ohne das Projektpasswort zu kennen. Die darin enthaltenen Informationen ermöglichen es, KNX-Geräte abzuhören, sich als solche auszugeben und neu zu konfigurieren. Dies ist besonders problematisch, da die ETS5 den Benutzern den Eindruck vermittelt, das Projektpasswort würde zur Verschlüsselung der Projektinformationen verwendet, nicht nur für exportierte Projekte. Daher haben viele Benutzer und Systemintegratoren wahrscheinlich keine zusätzlichen Maßnahmen ergriffen, um die Vertraulichkeit des Projektverzeichnisses zu gewährleisten. Wenn die ETS5 die Verschlüsselung korrekt implementieren würde und ein starkes Projektpasswort gewählt würde, wäre es für einen Angreifer deutlich schwieriger, selbst wenn er Fernzugriff auf den Computer erlangt hätte.
Die folgenden vertraulichen Informationen werden nicht ordnungsgemäß verschlüsselt:
Das ETS5 Password Recovery Tool ist ein Machbarkeitsnachweis, der das Problem demonstriert, indem es die sensiblen Informationen entschlüsselt und anzeigt. Es wurde im Rahmen der koordinierten Offenlegung von Sicherheitslücken entwickelt und mit Genehmigung der KNX Association veröffentlicht. Die Veröffentlichung des Tools dient den folgenden Zwecken:
WARNUNG: Verwenden Sie dieses Tool nur, wenn Sie rechtlich dazu befugt sind, die Projektinformationen einzusehen. Das Umgehen von Sicherheitsmaßnahmen, selbst von ineffektiven, um Zugang zu Informationen zu erhalten, die Sie nicht sehen dürfen, kann in Ihrem Rechtsgebiet eine Straftat darstellen.
Die ausführbare Datei kann aus dem Release-Bereich heruntergeladen werden. Sie muss nicht installiert werden und kann in einem beliebigen Verzeichnis abgelegt werden.
Alternativ, wenn Sie keine nicht vertrauenswürdige Binärdatei auf Ihrem System ausführen möchten, können Sie einzelne Attribute aus den Projekt-XML-Dateien auf der CyberChef Website entschlüsseln.
Die Software benötigt .NET Framework 4.6 oder höher. Windows 10 enthält standardmäßig bereits eine geeignete .NET-Version. Benutzer älterer Windows-Versionen müssen eine aktuelle .NET Framework-Version installieren, um die Software auszuführen.
Entgegen der Darstellung in der Benutzeroberfläche verschlüsselt die ETS5 Ihre lokal gespeicherten Projektdateien in C:\ProgramData\KNX\ETS5\ProjectStore nicht mit dem Projektpasswort. Stattdessen verwendet sie das fest codierte Passwort ETS5Password und den Salt Ivan Medvedev, um bestimmte Attribute in den Projekt-XML-Dateien zu verschleiern. Fest codierte kryptografische Geheimnisse widersprechen den Best Practices, wie in CWE-798 und CWE-321 erläutert.
Der Prozess für die Entschleierung ist:
Ivan Medvedev als ASCII- oder UTF-8-kodierten String.ETS5Password als Passwort und der Byterepräsentation von Ivan Medvedev als Salt verwendet. Die ersten 32 Bytes der Schlüsselableitungsausgabe werden als Schlüssel und die folgenden 16 Bytes als IV verwendet.Eine Implementierung der Entschleierung befindet sich in der Datei Deobfuscator.cs. Da Passwort und Salt konstant sind, wäre es möglich, den Schlüssel und die IV vorab zu berechnen, um die Schlüsselableitung zu überspringen. Dies wird in der Implementierung dieser Software nicht getan, da sie alle Schritte der Entschleierung zeigen soll. Falls Sie jedoch den Schlüssel und die IV benötigen, sind diese unten aufgeführt.