====== Lettura delle password salvate in Firefox ====== Ricetta sperimentata con **Firefox 68.5** su Debian GNU/Linux. Pacchetti Debian necessari: apt-get install libnss3-tools jq Come tutti sanno, con Firefox è possibile salvare le password utilizzate nelle varie pagine web per non doverle digitare nuovamente quando si visita la stessa pagina. Dal menu //Preferences// => //Privacy & Security// => //Saved Logins...// è possibile vedere in chiaro tali password, semplicemnte cercando la password e cliccando su //Show Passwords//. È possibile anche **recuperare tutte le password** leggendo il **file in cui vengono salvate**. Il file interessato è **$HOME/.mozilla/firefox/xxxxxxxx.default/logins.json** dove //xxxxxxxx// è una stringa casuale diversa per ogni installazione di Firefox. Il file è in effetti in formato JSON, per estrarre comodamente il contenuto si usa il comando **jq**: jq -r -S '.logins[] | .hostname, .encryptedUsername, .encryptedPassword' logins.json Per ogni password salvata vengono stampate tre righe del tipo: http://www.site.org MDIEEPgAAAAAAAAAAAAAAAAAAAOWI3ZmRlNDE1OGRjYjAgzNDRiOTEyZDFiZjNjZ+bumyw== MDoEEPgAAAAAAAAAAAAAAAAAAAOWI3ZmRlNDE1OGRjYjA3NzMzNzcyYTliY2RmYTZlYWJkOD+i4t/DlC Per decifrare il contenuto si usa il comando **pwdecrypt**. Il programma ottiene le chiavi per decifrare leggendo i file **cert9.db** e **key4.db**, pertanto è necessario indicare in quale directory si trovano tali file con il parametro **-d**: jq -r -S '.logins[] | .hostname, .encryptedUsername, .encryptedPassword' logins.json \ | pwdecrypt -d . Se il database delle password è protetto da una **master password**, la si deve specificare con il parametro **-p**: pwdecrypt -d . -p MasterPassword