|
FireMasterLinuxLinux |
Author: Broseidon |
|
|
|
|
|
|
|
|
|
|
FireMasterLinux is
the Linux port of popular tool
FireMaster. FireMaster is the first ever built tool to
recover the lost master password of Firefox. |
|
In order to protect the
stored login passwords, Firefox uses master password. If the master
password is forgotten, then there is no way to recover the master
password and user will lose all the stored login passwords as well.
In this direction, FireMasterLinux helps in recovering lost
master password to get back all the stored passwords.
FireMasterLinux uses combination of techniques such as dictionary,
hybrid and brute force to recover the master password from the
Firefox key database file.
Often it takes long hours and some
times days together to completely recover the master password based
on its length and complexity. Hence one end up performing recovery
operation for days continuously. However Windows system often goes
slower as the day passes and performance is not optimal when it
comes to continuous processing.
In such a case where it
involves processing for long hours with consistent high-performance,
Linux becomes the ideal platform. To address this exact problem, we
have started the project, FireMasterLinux !!! |
|
|
|
Firefox comes with
built-in password manager tool which remembers username and passwords
for all the websites you visit. This sign-on information is stored in the encrypted
form in Firefox database files residing in user's profile directory.
However any body can just launch the password manager from the Firefox
browser and view the credentials. Also one can just copy these database
files to different machine and view it offline using the tools such as
FirePassword. |
|
Hence to protect from
such threats, Firefox uses master password to provide enhanced security. By
default Firefox does not set the master password. However once you have set the
master password, you need to provide it every time to view sign-on credentials. So if you
lose this master password that means you have lost all stored
credentials as well. |
|
So far there was no way to recover
these credentials once you have lost the master password. Now with FireMasterLinux you
can recover your master password and get back all the sign-on
passwords. |
|
|
|
FireMasterLinux supports
following password generation methods
|
In this mode,
FireMasterLinux uses dictionary file having each word on separate line to
perform the operation. You can find lot of online dictionary with
different sizes and pass it on to Firemaster. This method is more
quicker and can find out common passwords. |
|
This is advanced
dictionary method, in which each word in the dictionary file is prefixed
or suffixed with generated word from known character list. This can find
out password like pass123, 12test, test34 etc. From the specified
character list (such as 123), all combinations of strings are generated
and appended or prefixed to the dictionary word based on user settings. |
|
In this method, all
possible combinations of words from given character list is generated
and then subjected to cracking process. This may take long time
depending upon the number of characters and position count specified. |
|
|
|
|
First you need to copy
the key3.db file to temporary directory. Later you have to specify this directory path for FireMasterLinux as a last argument.
Here is the general usage information
|
|
FiremasterLinux [-q]
[-d -f <dict_file>]
[-h -f <dict_file> -n <length> -g "charlist" [ -s | -p ] ]
[-b -m <length> -l <length> -c "charlist" -p "pattern" ]
<Firefox_Profile_Path>
|
-d |
Perform dictionary crack |
-f |
Dictionary file with words on each line |
|
|
-h |
Perform hybrid crack operation using dictionary
passwords.
Hybrid crack can find passwords like pass123, 123pass etc |
-f |
Dictionary file with words on each line |
-g |
Group of characters used for generating the strings |
-n |
Maximum length of strings to be generated using above
character list
These strings are added to the dictionary word to form the
password |
-s |
Suffix the generated characters to the dictionary
word(pass123) |
-p |
Prefix the generated characters to the dictionary
word(123pass) |
|
|
-b |
Perform brute force crack |
-c |
Character list used for brute force cracking process |
-m |
[Optional] Specify the minimum length of password |
-l |
Specify the maximum length of password |
-p |
[Optional] Specify the pattern for the password |
|
|
|
|
|
Sample Usage Information |
|
FireMasterLinux.exe -d -f c:\dictfile.txt
Firefox_Profile_Path |
|
FireMasterLinux.exe -h -f c:\dictfile.txt -n 3 -g "123"
-s Firefox_Profile_Path |
|
FireMasterLinux.exe -q -b -m 3 -c "abyz126" -l 10 -p
"pa??f??123" Firefox_Profile_Path |
|
|
|
Note that some of the options mentioned above may not have fully
implemented in FireMasterLinux. Hopefully they will be present in future
version. |
|
Here Firefox_Profile_Path
refers to the directory where key3.db file is present. However you can also copy key3.db file from
any other machine and specify that path during recovering operation. |
|
Quiet mode ( -q option
) will disable printing each password while recovery is in progress.
This makes it much faster especially for brute force operation. However during brute force operation if
the password count exceeds 50000 passwords then it automatically enters
the
quiet mode. |
|
Hybrid method tries normal
dictionary password as well as password created by
appending/prefixing the generated strings to the dictionary word.
For example if the dictionary word is "test" and you have specified
character set as '123' (-c 123 -s) then the new passwords will be
test1, test12, test123, test32 etc. |
|
Character list (-g
for hybrid and -c
for brute force) specifies the characters to be used for generating
passwords. If you don't specify then the default character list is used.
For brute force -m indicates the minimum length of password to be
generated. This can reduce the generated passwords and hence the
time considerably when large number of character set is specified. Similarly
-l (small 'L') specifies the maximum length of password to be
generated. For example, if you specify -m 6 and -l 8 then only
passwords which are of length at least 6 and above but below 8 will
be generated.
Now you can reduce the password cracking time significantly using
pattern based password recovery mechanism. If you know that password
is of certain length and also remember few characters then you can
specify that pattern for brute force cracking. For example, assume
that you have set the master password of length 12 and it begins
with 'fire' and ends with '123' then command will look like below
|
|
FireMasterLinux.exe -b -c "abyz" -l 12 -p
"fire?????123" c:\testpath |
|
This will reduce the time to seconds which otherwise would have
taken days or hours to crack that password. You can even crack the
impossible looking passwords using the right pattern. |
|
|
|
FireMasterLinux is tested with latest Firefox version
3.5.6 and it can recover master password successfully from any
Firefox, starting with version 1.0 or more.
If the FireMasterLinux failed to work with your Firefox version then please send me the key3.db and cert8.db (required
for older versions) files which are present in your Firefox profile
directory. Note that sign-on
credentials are stored in the signons.txt file and key3.db just contains
the master password related information. So even if some one knows your
master password it will be useless unless he/she has access to
signons.txt file. |
|
|
|
FireMasterLinux is designed with good
intention to recover the lost master password so that every one keep
enjoying their experience with Firefox. Like any other tool its use
either good or bad, depends upon the user who uses it. However author is
not responsible for damages or impact caused due to misuse of FireMasterLinux.
|
|
|
|
Fixes minor problems parsing arguments for brute force |
|
Now Supports Hybrid Cracking. Last single-threaded version of
firemaster_linux. |
|
Added support for -m (minimum pass length) and -c (user defined
character set) for password recovery options. |
|
First public version of FireMasterLinux |
|
|
|
|
|
|
Note: You need to download the Gecko SDK from
Mozilla website, if you want to build the FireMasterLinux from the source code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|