Understanding macOS App Preference Files, (MRU) Files Shared File Lists and Account Artifacts for Digital Forensics
- 1 day ago
- 4 min read

When analyzing applications on macOS, understanding where configuration files, databases, and caches are stored is crucial. These files can provide insights into user activity, preferences, and even location data.
Application Configuration Files
Application configuration files store essential settings, preferences, and permissions. These are typically found in .plist files, which use the reverse DNS format (e.g., net.whatsapp.WhatsApp.plist).
Location for Configuration Files: (~ Means user directory)
macOS:
~/Library/Preferences/
~/Library/Containers/.../<bundle_id>/.../Preferences/
These files store user-defined settings for applications, making them an essential resource in forensic investigations.
------------------------------------------------------------------------------------------------------------
App Databases and Other Files
Many applications store user-generated data, logs, and proprietary files in SQLite databases or other structured file formats.
Locations for App Databases:
macOS:
~/Library/
~/Library/Application Support/
~/Library/Containers/...


These databases often contain crucial data such as messages, login details, and activity logs, depending on the application.
------------------------------------------------------------------------------------------------------------
Application Cache Files
Caches store temporary data to improve app performance. Although they are less persistent, they can sometimes hold valuable forensic evidence.
Locations for Cache Files:
macOS:
~/Library/Caches/
~/Library/Containers/.../<bundle_id>/.../Cache/

------------------------------------------------------------------------------------------------------------
Some applications use caches to store location-related data. A good example is the Cache.db file in the Spotlight app. .


-------------------------------------------------------------------------------------------------------------
Application Transparency, Consent, and Control (TCC)
Applications on macOS require user permission to access system resources like the camera, microphone, and location. These permissions are stored in the TCC.db SQLite database.
TCC Database Locations:
macOS:
User-Level: ~/Library/Application Support/com.apple.TCC/TCC.db
System-Level: /Library/Application Support/com.apple.TCC/TCC.db
MacOS Privacy Settings: TCC.db Analysis
For macOS versions 11 and later, the auth_value column replaces the older allowed column:
0 = Unallowed
2 = Allowed
You can find records of applications that have been granted access to system files.
Location Services Authorization (clients.plist)
Location permissions for applications are stored in clients.plist. On macOS, this file is found at:
/private/var/db/locationd/clients.plist
This file tracks which apps have requested location access, making it useful in forensic investigations involving location data.
-------------------------------------------------------------------------------------------------------------
Most Recently Used (MRU) Files
When investigating macOS forensics, understanding the Most Recently Used (MRU) files and Shared File Lists (SFL) is essential. These artifacts provide valuable insights into user activity, such as recently opened documents, accessed folders, and used applications.
1. Microsoft Office 365 MRU Storage
Microsoft Office 365 applications maintain their own MRU lists in a specific location:
Location:
~/Library/Containers/com.microsoft.<app>/Data/Library/Preferences/com.microsoft.<app>.securebookmarks.plist
Structure: Each Office application has a separate plist file containing MRUs.
Data Stored:
Document paths
Bookmark data (BLOBs)
Unique identifiers (UUIDs)
Last accessed timestamps
Unlike native macOS MRUs that typically retain only the last 10 items, Microsoft Office applications store significantly more historical data.
2. macOS Finder Recent Folders
Finder keeps track of recently accessed folders within a specific plist file:
Location: ~/Library/Preferences/com.apple.finder.plist
Key: FXRecentFolders
Structure:
The plist contains folder names and bookmark BLOBs.
The first entry (Item 0) is the most recent, while Item 9 is the oldest.
The GUI order may differ from the plist contents, making direct plist analysis more accurate.

3. Application-Specific Recent Documents
macOS applications store recent document lists using the Shared File List (SFL) format.
Location:
~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/
File Format: <bundle_id>.sfl2
Data Stored: Recently accessed documents per application
Example:
com.apple.LSSharedFileList.RecentApplications.sfl2
com.apple.LSSharedFileList.RecentDocuments.sfl2
com.apple.LSSharedFileList.RecentHosts.sfl2
com.apple.LSSharedFileList.RecentServers.sfl2
*.sfl2
5. Understanding NSKeyedArchiver Binary Plist Files
Shared File List (SFL) files use the NSKeyedArchiver format, which is a binary plist structure. These files store serialized data, making them slightly more complex to parse.
Key Characteristics:
File Extension: .sfl or .sfl2 (since macOS High Sierra 10.13)
Stored Data:
$version
$objects
$archiver (value: NSKeyedArchiver)
$top (root of the plist structure)
Parsing Binary Plists:
Forensic analysts can use the plutil command:
plutil -p <file>
This converts the binary plist into a more readable JSON-style output.
6. Extracting Bookmark Data
Bookmarks in macOS serve as references to files or directories, similar to Windows LNK files.
The bookmark data starts with the book (0x626F6F6B) header and contains:
File path information
Volume name (e.g., Macintosh HD)
Volume GUID (Globally Unique Identifier)
MacMRU Python Script (To Run on Live System/Mounted Image)
-------------------------------------------------------------------------------------------------------
Account Artifacts
Where macOS Store Account Information
macOS account configurations in SQLite databases and plist (property list) files. These files store details about email, calendar, and other connected services.
Account Databases
macOS 10.11: ~/Library/Accounts/Accounts3.sqlite
macOS 10.12+: ~/Library/Accounts/Accounts4.sqlite
Quick Triage with Plist Files
For a quick analysis, investigators can check the com.apple.accounts.exists.plist file located at:
/preferences/SystemConfiguration/ (accessible via backups, file system extractions, or physical images).

This plist file provides an overview of the types of accounts configured on a device. It contains two key values:
Exists: Indicates whether an account type (e.g., Google, Exchange, iCloud) is present.
Count: Shows the number of accounts for a particular type.

-------------------------------------------------------------------------------------------------------------
Exploring Accounts3.sqlite & Accounts4.sqlite Databases
These SQLite databases track user-configured accounts and store credentials, descriptions, and identifiers. Investigators can extract useful information from the following tables:
1. ZACCOUNTTYPE Table
This table contains the types of accounts configured on the device. Important fields include:
Z_PK: Primary key (identification number for each account type)
ZACCOUNTTYPEDESCRIPTION: Description of the account type (e.g., Google, Exchange, iCloud)

2. ZACCOUNT Table
This table stores details for individual user accounts. Key fields include:
Z_PK: Primary Key
ZUSERNAME: Account username
ZACCOUNTDESCRIPTION: More specific account description
ZPARENTACCOUNT: Parent account type (if applicable)
ZDATE: Timestamp of account creation (Mac Epoch format)
ZIDENTIFIER: Globally unique identifier (GUID) for the account
ZKEY & ZVALUE: Configuration key-value pairs (e.g., email servers, ports, authentication settings)


-------------------------------------------------------------------------------------------------------------
Forensic Tools for Analyzing macOS
On a macOS Analysis Host
For analyzing extracted artifacts, forensic examiners can use:
sqlite3 / SQLite Viewer – Database inspection
Xcode – Viewing plist files
Virtual Machines – Controlled analysis environments
-------------------------------------------------------------------------------------------------------------
Conclusion
Understanding how macOS data is crucial for digital forensic investigations. By analyzing SQLite databases and plist files, investigators can uncover valuable details about user accounts, authentication methods, and linked services.
With the right tools and techniques, forensic professionals can extract and interpret this information effectively, aiding in cybercrime investigations and incident response.
----------------------------------------------Dean--------------------------------------------------
Commentaires