Explication de l'exportation du mot de passe Firefox de la pénétration

Cet article présentera les principes et les méthodes d'utilisation de l'exportation des mots de passe du navigateur Firefox, analysera les idées d'utilisation, permettra aux utilisateurs de mieux comprendre les méthodes de protection des mots de passe personnels et améliorera la protection de la confidentialité des informations.

L'objet de cet article

Comment enregistrer le mot de passe Présentation du
principe
Outils d'exportation courants
Idées d'utilisation

Méthode d'enregistrement du mot de passe

Lorsqu'un utilisateur normal visite un site Web, il peut choisir d'utiliser le navigateur Firefox pour enregistrer le mot de passe de l'utilisateur de connexion, afin que Firefox puisse automatiquement remplir le mot de passe de connexion lors de la prochaine connexion.
Vous pouvez l'afficher en sélectionnant Identifiants et mots de passe, comme indiqué ci-dessous :

Incluez les informations suivantes :
Adresse du site Web
Nom d'utilisateur
Mot de passe
Créé
Dernière modification
Dernière utilisation
Tous les enregistrements sont enregistrés dans le même fichier, l'emplacement spécifique est : %APPDATA%\Mozilla\Firefox\Profiles\xxxxxxxx.default\
Remarque : xxxxxxxx correspond à 8 lettres aléatoires et nombres La combinaison.
Différentes versions de Firefox ont des noms de fichiers différents pour la sauvegarde des enregistrements. Les différences spécifiques sont les suivantes :
· Version supérieure ou égale à 32.0, le fichier de sauvegarde des enregistrements est
logins.json le fichier pour enregistrer les enregistrements est signons.sqlite
Fichier plus détaillé Pour des instructions, veuillez vous référer à :
http://kb.mozillazine.org/Profile_folder_-_Firefox
L'emplacement du fichier logins.json peut être obtenu via la commande cmd, comme suit :

dir %APPDATA%\Mozilla\Firefox\Profiles|xlogins.json /s /b

Affichez le contenu du fichier logins.json, comme indiqué ci-dessous :

Parmi eux, le nom d'utilisateur crypté et le mot de passe crypté sont le contenu crypté. Le décryptage doit obtenir le fichier de clé (clé et iv) et effectuer le décryptage 3DES-CBC.
L'emplacement des différentes versions des fichiers de clé de Firefox est différent, les différences spécifiques sont les suivantes :
La version est inférieure à 58.0.2, le fichier de clé est key3.db
La version est supérieure ou égale à 58.0.2, le fichier de clé est key4 .db
Remarque : key3.db et key4. La différence de version de db provient de https://github.com/lclevy/firepwd/blob/master/firepwd.py#L236
J'ai installé Firefox 64 bits sous mon système de test (Win7x64 ), et les résultats des tests sont différents, le spécifique Comme suit :
Si la version de Firefox est inférieure à 58.0, le fichier clé est key3.db
Si la version de Firefox est supérieure, le fichier clé est key4.db
Par défaut, le l'autorisation de l'utilisateur actuel peut afficher tous les mots de passe enregistrés dans le navigateur Firefox. Pour améliorer la sécurité, le navigateur Firefox prend en charge l'ajout d'une protection supplémentaire aux mots de passe enregistrés : Définir le mot de passe principal.
L'emplacement spécifique est le suivant : 

Après avoir ajouté un mot de passe principal, vous devez entrer un mot de passe principal supplémentaire pour afficher les mots de passe enregistrés.
Processus de déchiffrement :
1. Lisez le fichier de clé (key4.db ou key3.db) pour obtenir la clé et iv
2. Lisez le contenu du fichier journal (logins.json ousigns.sqlite)
3. Si le mot de passe principal n'est pas définir, utiliser la clé et iv effectuer le décryptage 3DES-CBC sur le contenu crypté dans le fichier d'enregistrement. Si le mot de passe principal est défini, il est nécessaire d'obtenir le mot de passe principal en clair avant le décryptage.
0x03 Outil d'exportation
1.WebBrowserPassView.exe
adresse de téléchargement :
https://www.nirsoft .net/utils/web_browser_password.html
Remarque : Cette version ne prend pas en charge les opérations de ligne de commande.
La version en ligne de commande doit être téléchargée à une autre adresse :
https://www.nirsoft.net/password_recovery_tools.html
Comment utiliser la ligne de commande :

Le résultat est enregistré dans c:\test\passwords.html, et le contenu est le suivant :

Des informations complètes sont disponibles, y compris les catégories suivantes :
Adresse du site Web
Nom d'utilisateur
Mot de passe
Créé
Dernière modification
Dernière utilisation Le
déchiffrement avec le mot de passe principal n'est pas pris en charge.
Adresse 2.firepwd.py
 : https://github.com/lclevy/firepwd
doit installer les dépendances :

pip install pyasn1
pip install pycrypto

Certaines informations sont disponibles, notamment les catégories suivantes :
Adresse du site Web
Nom d'utilisateur
Mot de passe
Exemple de commande :

firepwd.py -d C: \Users \a \AppData , Roaming\Mozilla\Firefox\Profi les \ 5a4gs6zh. default- release\

Le résultat est le suivant :

Prend en charge le décryptage à l'aide du mot de passe principal.
Remarque : Dans mon propre environnement de test, firepwd.py ne prend en charge que le décryptage du mot de passe principal de key3.db, et il existe un bogue dans le décryptage du mot de passe principal de key4.db.
Exemple de commande :
utilisez le fichier de test mozilla_db (key3.db), le mot de passe principal est MISC*, la commande est la suivante :

python firepwd.py -p 'MISC*' -d mozilla_db/

Le résultat est normal, comme indiqué ci-dessous :

Dans mon environnement de test (key4.db), le mot de passe principal est 12345678 et la commande est la suivante :

firepwd.py -d C: \Users\a\AppData Roaming Mozilla\F irefox\Profiles \5a4gs6zh. default-release\ -p "12345678" 

Il y a un bogue dans le décryptage, indiquant que le mot de passe échoue, comme le montre la figure ci-dessous :
3. Adresse Lazagne
: https://github.com/AlessandroZ/LaZagne/
Le code d'exportation du navigateur Firefox provient de https:// github.com/lclevy/firepwd
Le résultat est le même que ci-dessus, comme suit :

4. Adresse firefox_decrypt.py
: https://github.com/unode/firefox_decrypt
utilise NSS (Network Security Services) pour le déchiffrement et prend en charge le déchiffrement du mot de passe principal de key3.db et key4.db.
Certaines informations peuvent être obtenues, notamment les catégories suivantes :
Adresse du site Web
Nom d'utilisateur
Mot de passe
Les résultats des tests sont les suivants : 

Dans un système 64 bits, les versions de Python et de Firefox doivent être identiques (32 bits ou 64 bits), sinon le message ERREUR - Problèmes d'ouverture de 'nss3.dll' requis pour le décryptage du mot de passe
5. Navigateur Firefox configure
en exportant la mise en œuvre du fichier.
Vous devez obtenir le fichier journal (logins.json ou signons.sqlite) et le fichier clé (key4.db ou key3.db), enregistrez-le dans le dossier local C:\test\data1
Démarrez Firefox avec le paramètre -profile : 

firefox.exe -profile C:\test\data1

Entrez le mot de passe principal correct pour obtenir avec succès les informations enregistrées par le navigateur Firefox.
Idées d'application 0x04
Si Firefox a défini un mot de passe principal, lorsque vous utilisez les outils ci-dessus pour essayer d'exporter le mot de passe, le résultat sera affiché comme 0 résultats, vous devez donc lire le fichier d'enregistrement pour confirmer s'il existe un enregistrement.
Vous pouvez obtenir la version de Firefox en interrogeant le registre. Vous pouvez vous référer au code open source précédent ici : https://github.com/3gstudent/ListInstalledPrograms/blob/master/ListInstalledPrograms.ps1
Les fichiers d'enregistrement correspondant aux différentes versions de Firefox sont différents, les différences sont les suivantes :
· Version supérieure ou égale à 32.0, le fichier de sauvegarde des enregistrements est logins.json
· Version supérieure ou égale à 3.5, inférieure à 32.0, le fichier de sauvegarde des enregistrements est signons.sqlite
La commande pour localiser le fichier logins.json est la suivante :

dir %APPDATA%\Mozilla\Firefox\Profiles \*Logins. json /s /b

La commande pour localiser le fichier signons.sqlite est la suivante :

dir %APPDATA%\Mozilla\Firefox\Prof iles \ *signons.sqlite /s/b

Si l'enregistrement existe, l'outil peut alors être utilisé pour tenter l'exportation.
Lors de l'exportation hors ligne, faites attention aux problèmes suivants :
1. Si le mot de passe principal n'est pas défini
, seuls le fichier journal (logins.json ou signons.sqlite) et le fichier clé (key4.db ou key3.db) doivent être obtenu.
Utilisez firepwd.py ou le navigateur Firefox pour importer le fichier de configuration.
2. Définir le mot de passe principal
(1) Obtenez uniquement le fichier d'enregistrement (logins.json ou signons.sqlite) et le fichier de clé (key4.db ou key3.db)
Utilisez le navigateur Firefox pour importer le fichier de configuration localement, entrez le mot de passe principal
(2) Obligatoire Pour obtenir le profil complet, vous
devez inclure les fichiers suivants :
%APPDATA%\Mozilla\Firefox\profiles.ini Fichiers
dans %APPDATA%\Mozilla\Firefox\Profiles\xxxxxxxx.default\
Utilisation de firefox_decrypt.py, exemple de commande :

firefox_ decrypt.py C: \ test\datal

résumé

Cet article présente le principe et la méthode d'utilisation de l'exportation du mot de passe du navigateur Firefox et analyse les détails auxquels il faut prêter attention lors de l'utilisation du mot de passe principal pour déchiffrer.
Pour les utilisateurs ordinaires, afin d'augmenter la sécurité du mot de passe, il est recommandé de définir le mot de passe principal

Je suppose que tu aimes

Origine blog.csdn.net/yyfloveqcw/article/details/124253076
conseillé
Classement