Blog: SANS Digital Forensics and Incident Response Blog

Blog: SANS Digital Forensics and Incident Response Blog

Firefox 3.X Forensics: Using F3e


In my current role as a corporate investigator, I tend to review web browser histories in most of my cases. Due to that, I am always looking for additional tools to review web browser histories and I think Mr. Chris Cohen has written a nice one for Firefox 3.X.

A little background on Firefox....


Firefox 3.X uses a SQLite databases to store:
  • Internet browsing history
  • Bookmarks
  • Settings
  • Downloads
  • Cookies
  • Form History
  • and more.

As you can see it can be a treasure trove of data in the various SQLite files such as downloads.sqlite, formhistory.sqlite, places.sqlite, and etc. Sometimes finding a good tool to extract the data can be challenging.


Mr. Chris Cohen has written a freeware tool called Firefox 3 Extractor or f3e for short. F3e can extract data from the Firefox SQLite databases into a various formats that the investigator can review. One of the nice things is that it can extract the data out a CSV file so that can be imported into a spreadsheet program for sorting. Plus it even offers a Internet Usage report in HTML that could be given to HR. The program is simple to use and fairly quick.

Main Menu


After starting the program you are asked to enter in some details surrounding the case. Mr. Cohen was kind enough to offer the US date format for us Yankees. Plus we have an option to put in the UTC offset to make our time line generation easier. The file names for each reports looks like: {Case Reference} — {Case Name} — {data contents}.{csv/html}

Below is an example run with the Main Menu:

Firefox 3 Extractor (f3e.exe) 0.8.9 by Chris COHEN <admin@firefoxforensics.com>
http://www.firefoxforensics.com/

English or American date format? [E/A] A
UTC offset in minutes decimal, i.e. 0, 360, -90: 0
Case Reference: Test Run
Case Name: Test
Investigator: K Murphy

Select the task you wish to perform:
A - Extract RAW data from Firefox 3 SQLite databases to CSV.
B - Extract data from Firefox 3 SQLite databases to CSV and decode dates and times.
C - Create Firefox CSV Internet History Usage Report.
D - Create Firefox HTML Internet History Usage Report.
E - Decode PRtime.

**EXPERIMENTAL**
F - Extract RAW data from Google Chrome SQLite databases to CSV.
G - Extract data from Google Chrome SQLite databases to CSV and decode dates and times.
R - Reset settings (case name etc.)
H - Help
X - Exit


Sample Output from Downloads


Below is some sample output from the downloads.sqlite CSV file from f3e. I had to break it up into several lines so that it would fit on the page. I did not include all of the columns from the CSV file. However I including some interesting ones.



id



name



source



1



calc.pdf



http://www.planetpdf.com/codecuts/pdfs/tutorial/calc.pdf



2



f3e_0.8.9.1.zip



http://www.firefoxforensics.com/download/f3e_0.8.9.1.zip



Obviously the above gives us some file names to search the file system for as well as where the file was downloaded from.


target



startTime



endTime



file:///mnt/sys/calc.pdf



02/24/09 04:11 PM



02/24/09 04:12 PM



file:///appl/firefox_3_forensics/f3e_0.8.9.1.zip



03/09/09 03:57 PM



03/09/09 03:57 PM



The above is a continuation from the first table. Here we have where the file was saved to and the times for when the file was downloaded.


currBytes



maxBytes



mimeType



60858



60858



application/pdf



339313



339313



application/zip



I thought the above fields from the table was interesting in regards to the file size (see currBytes and maxBytes) and the file type (mimeType). Both would come in handy when data carving out files from unallocated space on the hard drive. In addition, it might even make it possible to know whether we have the whole file or not.

Remember It's A Database...


Keep in mind when you review the output from F3e that the data is from a database. You will see fields that correlate to other tables. Take your time to review the data and use schema table that Mr. Cohen has provided to trace your way through the files.

For example (from places.sqlite moz_historyvisits.csv file):



id



from_visit



place_id



visit_date



visit_type



session



1



0



15637



02/23/09 06:40 PM



1



168653348



The place_id should correlate to the data listed in the places.sqlite moz_places.csv file.


id



url



title



15637



http://blogs.sans.org/computer-forensics/



SANS Computer Forensics, Investigation, and Response



Don't be afraid to use tools like grep to search the files for record keys. For example, if I searched (grep 168653348 *) for 168653348 in the directory with my CSV files, I found several files that had data on that key. From there it is just a matter of loading the files into a spreadsheet program to review. In this example, I would review the Internet Usage.csv file to piece together the Internet Usage.csv and places.sqlite moz_historyvisits.csv files.

Mr. Cohen does have a schema table that can be found at: http://www.firefoxforensics.com/research/firefox_places_schema.shtml

Locations for the Firefox database


Linux/Solaris


{User dir - See /etc/passwd for the location}/.mozilla/firefox/{profile folder}/

Windows XP


C:\Documents and Settings\{user id}\Application Data\Mozilla\Firefox\Profiles\{profile folder}\

Windows Vista


C:\Documents and Settings\{user id}\AppData\Roaming\Mozilla\Firefox\Profiles\{profile folder}\

OS Notes:
  1. The {profile folder} will have some random characters and ends with a .default.

Running Under Linux


'Firefox 3 Extractor' (f3e) can be ran under Wine. Simply copy the binary and dll to your work directory with the Firefox SQLite databases and run "wine f3e.exe".

Where to Download


'Firefox 3 Extractor' (f3e) can be download at: http://www.firefoxforensics.com/

1 Comments

Posted February 22, 2012 at 7:22 PM | Permalink | Reply

knight

Can you upload the program? (a new download link)
firefoxforensics.com no longer works :(
Gracias!

Post a Comment






* Indicates a required field.