
ETS5 Password Recovery Tool est un PoC pour CVE-2021-36799
Avez-vous oublié le mot de passe de l'un de vos projets ETS5 et ne pouvez plus accéder à la configuration de votre installation KNX ? L'outil de récupération de mot de passe ETS5 vous permet de retrouver le mot de passe du projet ainsi que d'autres secrets enregistrés dans le magasin de projets de l'ETS5. Cela est possible car l'ETS5 présente un défaut de conception important : il utilise un mot de passe codé en dur et un sel pour chiffrer les informations du projet (CVE-2021-36799).
Stocker des secrets cryptographiques dans le code source est déconseillé car ils peuvent être récupérés par rétro-ingénierie du logiciel, offrant ainsi à peine plus de protection que de stocker les informations en clair. Cela peut constituer une menace pour la sécurité des installations KNX. Si un attaquant parvient à accéder aux fichiers du magasin de projets, il peut les déchiffrer sans connaître le mot de passe du projet. Les informations qu'ils contiennent permettent d'écouter, d'usurper et de reconfigurer les dispositifs KNX. Cela est particulièrement problématique car l'ETS5 donne aux utilisateurs l'impression que le mot de passe du projet serait utilisé pour chiffrer les informations du projet, et pas seulement pour les projets exportés. Par conséquent, il est probable que de nombreux utilisateurs et intégrateurs système n'aient pas pris de mesures supplémentaires pour garantir la confidentialité du magasin de projets. Si l'ETS5 implémentait correctement le chiffrement et qu'un mot de passe de projet fort était choisi, cela représenterait un défi bien plus grand pour un attaquant, même s'il parvenait à obtenir un accès distant à l'ordinateur.
Les informations confidentielles suivantes sont mal chiffrées :
L'outil de récupération de mot de passe ETS5 est une preuve de concept qui démontre le problème en déchiffrant et en affichant les informations sensibles. Il a été développé dans le cadre de la divulgation coordonnée des vulnérabilités et est publié avec l'autorisation de la KNX Association. La publication de l'outil sert les objectifs suivants :
ATTENTION : N'utilisez cet outil que si vous êtes légalement autorisé à visualiser les informations du projet. Contourner des mesures de sécurité, même inefficaces, pour accéder à des informations que vous n'êtes pas autorisé à voir, peut être un délit dans votre juridiction.
L'exécutable peut être téléchargé depuis la section des versions. Il ne nécessite pas d'installation et peut être placé dans n'importe quel répertoire de votre choix.
Alternativement, si vous ne souhaitez pas exécuter un binaire non fiable sur votre système, vous pouvez déchiffrer des attributs individuels à partir des fichiers XML du projet sur le site CyberChef.
Le logiciel dépend de .NET Framework 4.6 ou ultérieur. Windows 10 inclut déjà une version .NET appropriée par défaut. Les utilisateurs de versions antérieures de Windows devront installer une version récente du .NET Framework pour exécuter le logiciel.
Contrairement à ce que suggère l'interface utilisateur, l'ETS5 ne chiffre pas vos fichiers de projet stockés localement dans C:\ProgramData\KNX\ETS5\ProjectStore avec le mot de passe du projet. Au lieu de cela, il utilise le mot de passe codé en dur ETS5Password et le sel Ivan Medvedev pour obscurcir des attributs spécifiques dans les fichiers XML du projet. Les secrets cryptographiques codés en dur vont à l'encontre des bonnes pratiques, comme expliqué dans CWE-798 et CWE-321.
Le processus de désobfuscation est le suivant :
Ivan Medvedev sous forme de chaîne encodée en ASCII ou UTF-8.ETS5Password comme mot de passe et la représentation octet de Ivan Medvedev comme sel. Les 32 premiers octets de la sortie de la dérivation de clé seront utilisés comme clé et les 16 octets suivants comme IV.Une implémentation de la désobfuscation se trouve dans le fichier Deobfuscator.cs. Étant donné que le mot de passe et le sel sont constants, il serait possible de précalculer la clé et l'IV pour éviter la dérivation de clé. Cela n'est pas fait dans l'implémentation de ce logiciel, car il est destiné à montrer toutes les étapes de la désobfuscation. Cependant, si vous avez besoin de la clé et de l'IV, ils sont listés ci-dessous.