Mac and Ios Forensic Analysis and Incident Response-1
Mac and Ios Forensic Analysis and Incident Response-1
com.apple.mobilemail com.apple.mobilecal com.apple.mobilenotes DHCP Settings pickups by the user following a notification. Interpretation
Description Location • It shows files shared using AirDrop, email, Messages, and other
Description Description Description This is the last known network settings for those interfaces using DHCP. macOS 10.15+:
applications.
This is a default email application that can be configured to use a This is the native calendar application on macOS and iOS with which Notes of various types can be created on macOS, iOS, and on iCloud.com. • Spotlight database can be searched for these attributes to look for
• /var/folders/<darwin_user_dir>/0/com.apple.ScreenTimeAgent/
number of email clients. items can be synced from a variety of accounts. It can include both These can also be synced to all devices associated with the same iCloud Location RMAdminStore-Cloud.sqlite
evidence of file sharing.
personal and shared calendars. account. • [/private/var]/db/dhcpclient/leases/ • Be aware that a device name can be changed by the user.
• /var/folders/<darwin_user_dir>/0/com.apple.ScreenTimeAgent/
Location RMAdminStore-Local.sqlite
Location Location Interpretation
macOS:
• Mailboxes: ~/Library/Mail/V#/<GUID>/*.mbox macOS: macOS: • E
ach file within this directory includes lease information, router
iOS 13+:
• /private/var/mobile/Library/Application Support/com.apple.
AirDrop Activity – Unified Logs
• ~/Library/Calendars/<GUID>.calendar • ~/Library/Group Containers/group.com.apple.notes/NoteStore.sqlite MAC address, IP address, and SSID, for a specified interface.
• Mailbox organization: ~/Library/Mail/V#/<GUID>/.mboxCache.plist remotemanagementd/RMAdminStore-Cloud.sqlite Description
• ~/Library/Containers/com.apple.mail/ • ~/Library/Calendars/<GUID>.caldav • Attachments: ~/Library/Group Containers/group.com.apple.notes/* • /private/var/mobile/Library/Application Support/com.apple. Files sent and received via AirDrop are tracked in Unified Logs. This
• Envelope Index: ~/Library/Mail/V#/MailData/Envelope Index • ~/Library/Calendars/Calendar Cache • legacy: ~/Library/Containers/com.apple.Notes/notes.sqlite Wireless Network Connections remotemanagementd/RMAdminStore-Local.sqlite includes a unique identifier for the transaction (AirDrop ID), the
type of file being sent, whether the connection was accepted, and
Downloaded email attachments may be stored in: iOS: iOS Full Filesystem:
Description Interpretation potentially where the received file ended up.
• ~/Library/Mail Downloads/ • [/private/var]/mobile/Library/Calendar/Calendar.sqlite • /
private/var/mobile/Containers/Shared/AppGroup/<GUID>/ • Data is organized by hour and category.
NoteStore.sqlite This lists connections to access points, including wireless settings. It
• ~/Library/Containers/com.apple.mail/Data/Library/Mail Interpretation includes access points added using the WiFi menu and those synced • Data retention is ~three weeks on iOS, and ~five weeks on macOS. Location
Downloads/ ttachments: /private/var/mobile/Containers/Shared/
• A from another device. macOS 10.12+, iOS 10+:
• Each calendar directory contains an Events folder, which contains ICS AppGroup/<GUID>/*
• ~/Downloads/
• Extended Attributes (find using ls -l@)
calendar files and an Info.plist file.
• CalDAV Info.plist and ICS files may contain more information than
• legacy: /private/var/mobile/Library/Notes/notes.sqlite Location Recent Application Activity • Unified Logs
Description
(e.g., local, iCloud). Photos is the native photo gallery application, including photos and
videos taken using the camera, screenshots, and synced media files.
Description
Known networks are those that the system has previously established
• /private/var/mobile/Library/CoreDuet/knowedgeC.db [macOS] Shared Folders
This is a native instant messaging application, which can be used with
• Every object in the database has a different Z_ENT value, which a connection with and have been remembered. Each network is stored Interpretation Description
changes for different versions of the database. Location in its own key, which includes the SSID and last connection time. • It stores approximately four weeks of data.
various different protocols. Information and metadata for shared folders on the system
- OBJECT_TYPE shows which type each Z_ENT refers to. macOS: • Use APOLLO† knowledge_app_inFocus module to extract
Location
Location • ~/Pictures/Photos Library.photosLibrary/* macOS 10.15-:
application usage times. Location
macOS:
• ~/Library/Messages/chat.db
Contacts – com.apple.AddressBook • ~/Pictures/Photos Library.photosLibrary/database/photos.db • / Library/Preferences/SystemConfiguration/com.apple.airport.
• Use APOLLO† knowledge_app_intents module to extract
application usage context.
• /private/var/db/com.apple.xpc.launchd/disabled.plist
• /private/var/db/launchd.db/com.apple.launchd/overrides.plist
• Original photos: ~/Pictures/Photos Library.photosLibrary/originals/* preferences.plist
• Use APOLLO† knowledge_audio_media_nowplaying module to
iOS: Description iOS: iOS 13-: • /private/var/db/dslocal/nodes/Default/sharepoints/*.plist
extract details of media playback.
• [/private/var]/mobile/Library/SMS/sms.db Otherwise known as the Address Book, the Contacts application hold • [/private/var]/preferences/SystemConfiguration/com.apple.wifi.plist - List of shared folders and their metadata
• [/private/var]/mobile/Media/PhotoData/* †
https://github.com/mac4n6/APOLLO
• [/private/var]/mobile/Library/SMS/Attachments/* user contact information. It can be populated by the user or by other
applications. • [/private/var]/mobile/Media/PhotoData/Photos.sqlite Interpretation Interpretation
Interpretation
• SMS can only be used on iOS. Location
• [/private/var]/mobile/Media/DCIM/*
• [/private/var]/mobile/Media/PhotoStreamsData/*
• D
ata only appears to be purged for this plist via user action.
• C
aptiveNetwork set to “YES” refers to the pop-up screens you get
Application Usage – disabled.plist/overrides.plist:
• By default, none of these settings are enabled.
• Databases are sqlite and include messages and metadata. macOS:
• ~
/Library/Application Support/AddressBook/AddressBook-v22.
• [/private/var]/mobile/Media/PhotoCloudSharingData/* in hotels and restaurants. CurrentPowerlog • Look for com.apple.smbd and/or com.apple.AppleFileServer as
the bundle IDs for shared folders.
- T imestamps are in Unix Epoch format in local time. Interpretation
abcddb Description
Network Usage – Unified Logs
sharepoints/*.plist:
- A pple Pay transactions are recorded in the attributedBody (BLOB) • Photos Library.photosLibrary on macOS is a package format directory.
and payload_data fields (embedded binary plist). • ~
/Library/Application Support/AddressBook/Sources/<GUID>/ This tracks application usage, as the status of the camera (front or • Each shared folder has its own plist file.
AddressBook-v22.abcddb • E
xtended attributes show a file was synced from iCloud, if back), and logging calls.
- filename field shows the path to an attachment. com.apple.quarantine contains cloudphotosd.
Description
- m ime_type shows the type of attachment.
• ~
/Library/Application Support/AddressBook/Sources/<GUID>/
Metadata/* • Photos application adds the com.apple.assetsd.* extended attribute.
Unified logs include entries for network connections made on the
system.
Location
macOS:
iCloud Documents
iOS: - T his includes the original filename, location, timezone, flags for Description
• /private/var/db/powerlog/Library/BatteryLife/CurrentPowerlog.
Call History – Phone and FaceTime • [/private/var]/mobile/Library/AddressBook/AddressBook.sqlite
• P
“hidden” and “favorite,” and quarantine information.
hotos taken with iOS 11+ use High Efficiency Image Container (HEIC)
Location
macOS 10.12+, iOS 10+:
PLSQL iCloud stores local copies of documents shared using various
• [/private/var]/mobile/Library/AddressBook/Sources/* • /private/var/db/powerlog/Library/BatteryLife/Archives/* applications.
Description format. • U
nified Logs
iOS physical:
Phone and FaceTime are the native calling applications on macOS and iOS. Interpretation • Database includes metadata for each media file. macOS 10.8+:
• /private/var/Containers/Shared/SystemGroup/<GUID>/Library/
Location
• Each source under the Sources folder could have its own associated - It includes extracted EXIF embedded metadata, annotations, • S
ystem log BatteryLife/CurrentPowerlog.PLSQL macOS:
Location database file and Metadata folder. location information, and detected faces and objects. • ~/Library/Mobile Documents/
macOS: Interpretation • /private/var/Containers/Shared/SystemGroup/<GUID>/Library/
iOS Full Filesystem:
- Metadata directories contain a binary plist file for each person • E
ach subfolder of DCIM can contain up to 999 files, which are BatteryLife/Archives/*
• S
earch for sender “IPConfiguration” and where the log message
• ~/Library/Application Support/CallHistoryDB/CallHistory.storedata (ending with p), subscription (s), or group (g). sequentially named from IMG_0001. contains “Lease” or “network changed”. • /private/var/mobile/Library/Mobile Documents/
iOS: - Rename Metadata files to .plist in order to open with XCode. ther photos may be stored by third-party applications – use TCC.db
• O Interpretation
• [/private/var]/mobile/Library/CallHistoryDB/CallHistory.storedata • When searching for a person of interest, search for their UID, not just to find those with Camera permissions.
- U
se log show –info –predicate 'senderImagePath contains[cd] • It stores approximately three days of data. Interpretation
"IPConfiguration" and (eventMessage contains[cd] "SSID"
their name. • B
e wary of timestamps in this log – some, but not all, have an offset. • Each subdirectory corresponds to an application and is named in
or eventMessage contains[cd] "Lease" or eventMessage
Interpretation • Use APOLLO† powerlog_app_usage module to extract application reverse DNS format but using tildes (~).
• Phone reverse DNS name is com.apple.mobilephone.
• Database timestamps are in Unix Epoch format in local time.
Maps – com.apple.Maps • S
contains[cd] "network changed")'
earch logs for “configd”, “SSID”, or “en0” for a more detailed view usage times. • Extended attributes for these documents include the iCloud
Person ID in com.apple.ubd.prsid.
• FaceTime reverse DNS name is com.apple.facetime. of wireless activity. • Use APOLLO† powerlog_incallservice module to extract call logs.
• Database is in sqlite format and includes calls made/received and Wallet and Apple Pay Description
This is a native mapping application. Map data can be synced between
• S
earch logs for “country code” to show the country codes • Use APOLLO† powerlog_camera_state module to extract camera
state information.
• Hidden *.icloud files correspond to files that have not been
downloaded to this device.
metadata. associated with wireless access point connections.
Description devices. - D
efault code is “X0” when one is not available.
†
https://github.com/mac4n6/APOLLO - These are binary plist files that contain the file’s name and size.
- Z
DATE timestamps are in Mac Epoch format in local time.
The Wallet application keeps track of tickets, cards, and passes. The user
- Z
ADDRESS is the phone number or email address. can add a credit card to the Apple Pay portion of the application to use Location
- Z
ANSWERED = 0 means No, 1 means Yes. for purchases. macOS:
- Z
CALLTYPE = 1 means normal telephony call, 8 means FaceTime, • ~/Library/Containers/com.apple.Maps/MapsSync.0.0.1
Location
Application Data
16 means FaceTime Voice call. iOS Full Filesystem:
- Z
ORIGINATED = 0 means incoming, 1 means outgoing with this user. macOS: • /
private/var/mobile/Containers/Data/Application/<GUID>/Library/
- Z
DURATION is the time in seconds for this call. • ~/Library/Passes/passes23.sqlite Maps/MapsSync.0.0.1
- Z
SERVICE_PROVIDER is the application used for the call. • ~/Library/Passes/Cards/*.pkpass iOS Backup:
• macOS database may store contact information in an encrypted BLOB. • iCloud synced data: ~/Library/Mobile Documents/ • /mobile/Applications/com.apple.Maps/MapsSync.0.0.1
• Some data may be synced across devices. com~apple~shoebox/UbiquitousCards/*.pkpass
Interpretation
Application Data Autorun Applications Third-Party Software Installation
iOS:
• Database timestamps are in Unix Epoch format in local time.
• /private/var/mobile/Library/Passes/passes23.sqlite • iOS backup folder for Maps may be empty. Description
This determines application information, including name and version.
Description
Autorun applications are those that automatically run when a user logs in.
and Updates
• /private/var/mobile/Library/Passes/Cards/*.pkpass • P
rior to macOS 11 and iOS 14, Maps data was scattered throughout
[iOS] Visual Voicemail • iCloud synced data: /private/var/mobile/Library/Mobile the filesystem as .mapsdata plist files that stored location data as
embedded protobufs.
Location Location
Description
This determines installed applications and updates, including timestamps,
Documents/com~apple~shoebox/UbiquitousCards/*.pkpass macOS: macOS 10.13+: package names, and software used to install an application.
Description - T
hese files are not included in iTunes backups.
• /Applications/<Bundle ID>/Info.plist • ~
/Library/Application Support/com.apple.
Some, but not all, cellular carriers provide visual voicemail functionality Interpretation MapsSync.0.0.1: backgroundtaskmanagementagent/backgrounditems.btm Location
on iOS devices, where voicemail audio files are downloaded to the device. • ~/Library/Containers/…/<bundle_id>/…/Preferences/*.plist
passes23.sqlite: • ZMAPITEMSTORAGE stores location data as an embedded protobuf. - NSKeyedArchiver plist file • macOS 10.14: ~/Library/Caches/com.apple.appstoreagent/updates.plist
• ~/Library/Containers/…/<bundle_id>/…/Cache/*
Location • Database timestamps are in Unix Epoch format. • ~/Library/Preferences/*.plist • /Applications/<Application>.app/Contents/Library/LoginItems/ • m
acOS 10.15+: ~/Library/Caches/com.apple.appstoreagent/storeSystem.db
• [/private/var]/mobile/Library/Voicemail/voicemail.db • UNIQUE_ID in the database will match the .pkpass filename.
• GROUP_ORDER shows the order of passes in the application, as
[iOS] Health • ~/Library/Caches/* macOS 10.4+:
• /System/Library/LaunchAgents/*.plist
•
•
/Library/Receipts/InstallHistory.plist
/var/log/install.log
• [/private/var]/mobile/Library/Voicemail/*.amr iOS physical:
shown to the user (0 will be at the top). Description • /Library/LaunchAgents/*.plist - Search the file for “Installed” to find app names and versions.
• [/private/var]/mobile/Library/Voicemail/*.transcript • / private/var/containers/Bundle/Application/<GUID>/iTunesMetadata.plist
• Transactions using saved cards exist in the database. Only Apple Health information about the user is stored in a database, if enabled. • /private/var/mobile/Containers/…/<bundle_id>/*.plist • ~/Library/LaunchAgents/*.plist • /var/db/receipts/
Interpretation Card transactions are synced across devices. This can include steps, distance, and heart rate, which can be collected • /private/var/mobile/Containers/…/<bundle_id>/Library/Caches/* • /System/Library/LaunchDaemons/ •p list file contains install timestamp, package name, and installer process.
• E ach voicemail audio file is stored as an AMR file and uses the • Transactions specific to Apple Cash are called “peer payments.” using the Apple Watch. • /private/var/mobile/Containers/Bundle/Application/<GUID>/* • /Library/LaunchDaemons/ • bom file contains list of files and metadata for application.
ROWID from the sqlite database as a filename. • Journeys using a stored transit card are recorded, including start and - C ontains application binary file iOS: • iOS 10+: /private/var/installd/Library/Logs/MobileInstallation/
• If a voicemail has an accompanying transcript, this will be stored as end stations. Location mobile_installation.log.#
• /private/var/mobile/Containers/Data/Application/<GUID>/* • /Library/LaunchAgents/*.plist
an NSKeyedArchiver plist. .pkpass files: • [/private/var]/mobile/Library/Health/healthdb_secure.sqlite - Search the file for “Installing” to find app names and versions, for
• /private/var/mobile/Containers/Shared/AppGroup/<GUID>/* • /System/Library/LaunchDaemons/
• Database timestamps are in Unix Epoch format in local time. • Each card is a .pkpass package format directory. approximately one month of app installs.
Interpretation - D ata shared amongst apps with the same developer • /System/Library/NanoLaunchDaemons/
• Search for “Make container live” for app installs.
- pass.json stores the actual pass or card data. • D
atabase is encrypted in iOS backups, but not in a Full Filesystem dump. • /private/var/mobile/Library/Cache/<bundle_id>/* • /Library/LaunchDaemons/
- Search for “Destroying container” for app uninstalls
• Use APOLLO† health_* modules to extract a user’s health data. • /private/var/mobile/Preferences/*.plist - Requires jailbroken device to acquire
- Search app bundle IDs for specific app activity.
†
https://github.com/mac4n6/APOLLO iOS backup: Interpretation • iOS: /private/var/mobile/Library/FrontBoard/applicationState.db
• /mobile/Applications/<bundle_id>/*.plist • Login items can be hidden from view of the user. - It contains an embedded plist.
• /mobile/Library/Preferences/*.plist • Launch Daemons are background system processes.
Sandboxed applications: Interpretation
• Launch Agents are background user processes.
• ~
/Library/[Group] Containers/<Bundle ID>/Data/Library/Application • InstallHistory.plist processName:
• plist files are named in reverse DNS format.
Physical Location
Mount volume: Mount volume: no accounts have been deleted. • C lues in device-uri such as dnssd or tcp.local indicate a network-
• ~/Library/Application Support/com.apple.sharedfilelist/*.sfl2 connected printer (as opposed to a cable).
sudo mount_apfs -o rdonly,noexec,noowners /dev/disk# /Volumes/ sudo mount_hfs -j -o rdonly,noexec,noowners /dev/disk# /Volumes/
apfs_mounted/ hfs_mounted/ Interpretation Location • Print job control files include which printer was used, the originating
• The list contains both native and third-party applications. • /
Library/Preferences/com.apple.preferences.accounts.plist user account, job name, and application used.
Mounting HFS+ Using xmount Unmounting a Mounted Image • Files are named in reverse DNS format.
Interpretation
Note: sudo is required for all commands in macOS 10.12+
Applications Requesting • Lists user’s name, UID, username, and deletion date for each account. [macOS] Screen Sharing and
Note: sudo is required in macOS 10.12+
Note: images on systems that use a 4096-byte sector size may cause Location Permissions • T
hree options for the user’s data are made available when an
account is deleted:
Remote Login Preferences
mounting issues. Use the “-blocksize 4096” option with hdiutil View mounted disks:
Description Description
Volumes and
diskutil list - S
ave the home folder to a DMG file, which is saved to
Create mount point directories: The system records a list of applications that have requested location /Users/Deleted Users/ These are settings for items that can be shared, including screen
sudo mkdir /Volumes/hfs_image/ Eject mounted disk: services. - Leave the home folder in place. sharing and remote access to the system.
Diskutil eject /dev/disk# Location
External Device/
sudo mkdir /Volumes/hfs_mounted/ - Remove the user’s home directory.
Location
macOS:
Create DMG file from E01 image: Find disk to unmount: Preferences:
sudo xmount --in ewf hfs.E01 --out dmg /Volumes/hfs_image/ mount
• ~/Library/Application Support/com.apple.TCC/TCC.db Time Zone • /private/var/db/com.apple.xpc.launchd/disabled.plist
USB Usage
• /Library/Application Support/com.apple.TCC/TCC.db
Description • /private/var/db/launchd.db/com.apple.launchd/overrides.plist
Attach the image: Unmount disk: • /private/var/db/location/clients.plist
iOS: This determines the current time zone of the system. • /Library/Preferences/com.apple.RemoteManagement.plist
hdiutil attach -nomount /Volumes/hfs_image/hfs.dmg sudo umount /Volumes/disk_image/
• [/private/var]/mobile/Library/TCC/TCC.db - It is created when screen sharing or remote management options
Mount volume: • [/private/var]/root/Library/Caches/locationd/clients.plist Location are enabled.
sudo mount_hfs -j -o rdonly,noexec,noowners /dev/disk# /Volumes/ • /etc/localtime • /Library/Preferences/com.apple.VNCSettings.txt
hfs_mounted/ [macOS] Finder – Mounted Volumes Interpretation • /Library/Preferences/.GlobalPreferences.plist - It contains the XOR’ed password to access the system via VNC.
TCC.db: Screen sharing events:
Description • S qlite database that gets its name from Transparency, Consent, Interpretation
The Finder application on macOS stores a list of volumes that have been • Unified Logs
and Control. The GlobalPreferences.plist file contains the time zone configuration