====== 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