MISE à jour par les développeurs KEEPASS 2.53.1
CEtte mise à jour apporte la fonctionnalité d’exporter la base de donnée en réclamant obligatoire la saisie de la clef de chiffrement
A VOS PATCH
Contexte de la vulnérabilité contestée
Nous l’appelons ici une vulnérabilité car elle possède un identifiant de bogue officiel, émis par l’Institut national américain des normes et de la technologie.
Le bogue a été surnommé CVE-2023-24055 : L’ attaquant qui a un accès en écriture au fichier de configuration XML [peut] obtenir les mots de passe en clair en ajoutant un déclencheur d’exportation.
L’affirmation selon laquelle il est possible d’obtenir des mots de passe en clair est malheureusement vraie.
Si j’ai un accès en écriture à vos fichiers personnels, y compris votre soi-disant %APPDATA%
répertoire, je peux modifier sournoisement la section de configuration pour modifier tous les paramètres KeePass que vous avez déjà personnalisés, ou pour ajouter des personnalisations si vous n’avez sciemment rien changé…
… et je peux étonnamment facilement voler vos mots de passe en clair, soit en vrac, par exemple en vidant toute la base de données sous forme de fichier CSV non crypté, soit au fur et à mesure que vous les utilisez, par exemple en définissant un “crochet de programme” qui se déclenche chaque fois que vous accédez à un mot de passe de la base de données.
Notez que je n’ai pas besoin de privilèges d’ administrateur , car je n’ai pas besoin de jouer avec le répertoire d’installation réel où l’application KeePass est stockée, qui est généralement interdite aux utilisateurs réguliers.
Et je n’ai pas besoin d’accéder aux paramètres de configuration globaux verrouillés.
Fait intéressant, KeePass fait tout son possible pour empêcher que vos mots de passe ne soient reniflés lorsque vous les utilisez, notamment en utilisant des techniques de protection contre les falsifications pour arrêter diverses astuces d’enregistreur de frappe, même de la part d’utilisateurs disposant déjà de pouvoirs d’administrateur système.
Mais le logiciel KeePass rend également étonnamment facile la capture de données de mot de passe en clair, peut-être d’une manière que vous pourriez considérer comme «trop facile», même pour les non-administrateurs.
Démonstration du trigger
Il a fallu une minute de travail pour utiliser l’interface graphique KeePass pour créer un événement déclencheur à exécuter chaque fois que vous copiez un mot de passe dans le presse-papiers, et pour définir cet événement pour effectuer une recherche DNS qui incluait à la fois le nom d’utilisateur et le mot de passe en clair en question :
Nous pourrions ensuite copier le paramètre XML pas très évident pour cette option de notre propre fichier de configuration local dans le fichier de configuration d’un autre utilisateur du système, après quoi lui aussi trouverait ses mots de passe divulgués sur Internet via des recherches DNS.
Même si les données de configuration XML sont largement lisibles et informatives, KeePass utilise curieusement des chaînes de données aléatoires connues sous le nom de GUID (abréviation d’ identificateurs uniques au monde ) pour désigner les différents paramètres de déclenchement , de sorte que même un utilisateur bien informé aurait besoin d’une liste de références complète pour comprendre quels déclencheurs sont définis et comment.
Voici à quoi ressemble notre déclencheur de fuite DNS, bien que nous ayons supprimé certains détails afin que vous ne puissiez pas faire de mal immédiatement en copiant-collant directement ce texte :
Avec ce déclencheur actif, l’accès à un mot de passe KeePass provoque la fuite du texte en clair dans une recherche DNS discrète vers un domaine de mon choix, qui est blah.test
dans cet exemple.
Notez que les attaquants réels brouilleraient ou obscurciraient presque certainement le texte volé, ce qui non seulement rendrait plus difficile la détection des fuites DNS, mais prendrait également soin des mots de passe contenant des caractères non ASCII, tels que des lettres accentuées ou des emojis, qui ne peuvent pas être utilisés autrement dans les noms DNS :
Mais est-ce vraiment un bug ?
La question délicate, cependant, est : « Est-ce vraiment un bogue, ou est-ce juste une fonctionnalité puissante qui pourrait être abusée par quelqu’un qui aurait déjà besoin d’au moins autant de contrôle sur vos fichiers privés que vous-même ?
En termes simples, est-ce une vulnérabilité si quelqu’un qui a déjà le contrôle de votre compte peut jouer avec des fichiers auxquels votre compte est censé pouvoir accéder de toute façon ?
Même si vous pouvez espérer qu’un gestionnaire de mots de passe inclura de nombreuses couches supplémentaires de protection contre les falsifications pour rendre plus difficile l’abus de bogues/fonctionnalités de ce type, CVE-2023-24055 devrait-il vraiment être une vulnérabilité répertoriée CVE ?
Si tel est le cas, les commandes telles que DEL
(supprimer un fichier) et FORMAT
doivent-elles également être des “bogues” ?
Et l’existence même de PowerShell, qui rend les comportements potentiellement dangereux beaucoup plus faciles à provoquer (essayez powerhsell get-clipboard
, par exemple), ne serait-elle pas une vulnérabilité en soi ?
Keepass expose vos mot de passe dans le clipboard avant de l’effacer, un programme malveillant pourrait aussi scruté tous les copiés-coller non ?
C’est la position de KeePass, reconnue par le texte suivant qui a été ajouté au détail du “bogue” sur le site Web du NIST :
** CONTESTÉ ** […] REMARQUE : la position du fournisseur est que la base de données de mots de passe n’est pas destinée à être sécurisée contre un attaquant disposant de ce niveau d’accès au PC local.
Ce qu’il faut faire?
Si vous êtes un utilisateur autonome de KeePass, vous pouvez vérifier les déclencheurs escrocs comme le “DNS Stealer” que nous avons créé ci-dessus en ouvrant l’application KeePass et en parcourant la fenêtre Outils > Déclencheurs… :
Notez que vous pouvez désactiver l’ensemble du système de déclenchement à partir de cette fenêtre, simplement en désélectionnant l’ [ ] Enable trigger system
option…
… mais ce n’est pas un paramètre global, il peut donc être réactivé via votre fichier de configuration local, et ne vous protège donc que des erreurs, plutôt que d’un attaquant ayant accès à votre compte.
Vous pouvez forcer la désactivation de l’option pour tout le monde sur l’ordinateur, sans possibilité pour eux de la réactiver eux-mêmes, en modifiant le fichier global “lockdown” KeePass.config.enforced.XML
, trouvé dans le répertoire où le programme lui-même est installé.
Les déclencheurs seront désactivés pour tout le monde si votre fichier d’application XML global ressemble à ceci :
<?xml version="1.0" encoding="utf-8" ?> <Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Demande> <Système de déclenchement> <Activé>faux</Activé> </TriggerSystem> </Application> </Configuration>
(Au cas où vous vous poseriez la question, un attaquant qui a un accès en écriture au répertoire de l’application pour annuler ce changement aurait presque certainement assez de puissance au niveau du système pour modifier le fichier exécutable KeePass lui-même, ou pour installer et activer un enregistreur de frappe autonome de toute façon.)
Si vous êtes un administrateur réseau chargé de verrouiller KeePass sur les ordinateurs de vos utilisateurs afin qu’il soit toujours suffisamment flexible pour les aider, mais pas assez flexible pour qu’ils aident les cybercriminels par erreur, nous vous recommandons de lire la page Problèmes de sécurité KeePass, le la page Déclencheurs et la page Configuration appliquée.
KEEPASS XC est-il concerné ?
KeePassXC n’est pas affecté semble t’il, car il ne prend pas en charge les déclencheurs
Commentaires récents