dfirhub

Thunderbird

Author: Matt Dawson

description

Mozilla Thunderbird Email Client

paths

11 paths
AppsMozilla Thunderbird Install Date
C:\Users\%user%\AppData\Roaming\Thunderbird\Crash Reports\InstallTime*

Holds install time in Unix Seconds timestamp

AppsMozilla Thunderbird Profiles.ini
C:\Users\%user%\AppData\Roaming\Thunderbird\profiles.ini

Profiles list - can hold references to other profiles held elsewhere on the device

AppsMozilla Thunderbird prefs.js
C:\Users\%user%\AppData\Roaming\Thunderbird\Profiles\*\prefs.js

User Preferences for that profile

AppsMozilla Thunderbird Global Messages Database
C:\Users\%user%\AppData\Roaming\Thunderbird\Profiles\*\global-messages-db.sqlite

Holds list of contacts, emails, and other potentially useful artifacts

AppsMozilla Thunderbird logins.json
C:\Users\%user%\AppData\Roaming\Thunderbird\Profiles\*\logins.json

Holds last time online login used, last time password changed, hostname, HTTP(s) URL and more

AppsMozilla Thunderbird places.sqlite
C:\Users\%user%\AppData\Roaming\Thunderbird\Profiles\*\places.sqlite

Holds history for Thunderbird - as it contains portions of Firefox embedded, it can be used to visit websites too

AppsMozilla Thunderbird ImapMail INBOX
C:\Users\%user%\AppData\Roaming\Thunderbird\Profiles\*\ImapMail\INBOX

Holds all email files with headers, content etc

AppsMozilla Thunderbird Mail INBOX
C:\Users\%user%\AppData\Roaming\Thunderbird\Profiles\*\Mail\INBOX

Holds all email files with headers, content etc

AppsMozilla Thunderbird Calendar Data
C:\Users\%user%\AppData\Roaming\Thunderbird\Profiles\*\calendar-data\local.sqlite

Holds local calendar data

AppsMozilla Thunderbird Attachments
C:\Users\%user%\AppData\Roaming\Thunderbird\Profiles\*\Attachments\

Holds attachments

AppsMozilla Thunderbird Address Book
C:\Users\%user%\AppData\Roaming\Thunderbird\Profiles\*\abook.sqlite

Holds local address book

paths use Windows environment syntax

collection commands

# PowerShell Artifact Collection Script
# Target: Thunderbird
# Run as Administrator

#Requires -RunAsAdministrator

$ErrorActionPreference = "SilentlyContinue"
$DestBase = "D:\Evidence"

# Function to handle directory creation and copying
function Collect-Artifact {
    param (
        [string]$SourcePath,
        [string]$FolderName
    )
    $FullDest = Join-Path -Path $DestBase -ChildPath $FolderName
    if (-not (Test-Path -Path $FullDest)) {
        New-Item -ItemType Directory -Path $FullDest -Force | Out-Null
    }
    Copy-Item -Path $SourcePath -Destination $FullDest -Recurse -Force
}

# 1. Mozilla Thunderbird Install Date
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Crash Reports\"
Collect-Artifact -SourcePath "$UserPath\InstallTime*" -FolderName "Mozilla_Thunderbird_Install_Date"

# 2. Mozilla Thunderbird Profiles.ini
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\"
Collect-Artifact -SourcePath "$UserPath\profiles.ini" -FolderName "Mozilla_Thunderbird_Profiles_ini"

# 3. Mozilla Thunderbird prefs.js
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Profiles\*\"
Collect-Artifact -SourcePath "$UserPath\prefs.js" -FolderName "Mozilla_Thunderbird_prefs_js"

# 4. Mozilla Thunderbird Global Messages Database
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Profiles\*\"
Collect-Artifact -SourcePath "$UserPath\global-messages-db.sqlite" -FolderName "Mozilla_Thunderbird_Global_Messages_Database"

# 5. Mozilla Thunderbird logins.json
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Profiles\*\"
Collect-Artifact -SourcePath "$UserPath\logins.json" -FolderName "Mozilla_Thunderbird_logins_json"

# 6. Mozilla Thunderbird places.sqlite
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Profiles\*\"
Collect-Artifact -SourcePath "$UserPath\places.sqlite" -FolderName "Mozilla_Thunderbird_places_sqlite"

# 7. Mozilla Thunderbird ImapMail INBOX
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Profiles\*\ImapMail\"
Collect-Artifact -SourcePath "$UserPath\INBOX" -FolderName "Mozilla_Thunderbird_ImapMail_INBOX"

# 8. Mozilla Thunderbird Mail INBOX
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Profiles\*\Mail\"
Collect-Artifact -SourcePath "$UserPath\INBOX" -FolderName "Mozilla_Thunderbird_Mail_INBOX"

# 9. Mozilla Thunderbird Calendar Data
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Profiles\*\calendar-data\"
Collect-Artifact -SourcePath "$UserPath\local.sqlite" -FolderName "Mozilla_Thunderbird_Calendar_Data"

# 10. Mozilla Thunderbird Attachments
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Profiles\*\Attachments\"
Collect-Artifact -SourcePath "$UserPath\*" -FolderName "Mozilla_Thunderbird_Attachments"

# 11. Mozilla Thunderbird Address Book
$UserPath = Join-Path $env:USERPROFILE "AppData\Roaming\Thunderbird\Profiles\*\"
Collect-Artifact -SourcePath "$UserPath\abook.sqlite" -FolderName "Mozilla_Thunderbird_Address_Book"

Write-Host "Collection complete!" -ForegroundColor Green

Save as .ps1 and run as Administrator. Use: powershell -ExecutionPolicy Bypass -File script.ps1

references