Sem 7

Magnet AXIOM Artifacts

Deck 7: Magnet AXIOM core artifacts. Owner and account info, iOS and Android contacts and call logs (ZCALLRECORD), iMessage/SMS, gallery and media (100APPLE, Mutations, Recently Deleted, attachments, Android DCIM, camera history), Safari and Chrome, third-party apps, permissions, keychain, Biome, KnowledgeC, PowerLog and iOS location databases.

Magnet AXIOM sorts parsed data into artifact categories (Communication, Media, Web Related, Operating System, Location & Travel, Encryption & Credentials, Application Usage). This deck lists the core artifacts, where each comes from on iOS and Android, and what it shows. The backup structure behind these paths is in L04.

Core ArtifactsSearch on YouTube

  • iOS owner information: from Info.plist, and OS info in the artifacts.
  • Android Device Information artifact: in the APPLICATION USAGE category.
  • Accounts Information: the OPERATING SYSTEM category pulls it using Dumpsys, which extracts data about system services running on the device. It is saved in account.txt under the Live Data\Dumpsys Data path in the Quick Image.
  • Many packages do not store a unique username (for example, Messenger).
  • Third-party apps may not be part of the backup. Knowing which apps are installed still helps: it supports a cloud service search warrant.

Communication ArtifactsSearch on YouTube

iOS ContactsSearch on YouTube

  • iOS-style backups store the device's contacts in AddressBook.sqlitedb.
  • Location: HomeDomain/Library/AddressBook.

iOS Call LogsSearch on YouTube

  • Stored in the SQLite database CallHistory.storedata under HomeDomain-Library/CallHistoryDB/.
  • Most forensically relevant data is in the table ZCALLRECORD.
ColumnPurpose
Z_PKPrimary key for the table
ZANSWEREDBoolean (1 or 0): was the call answered
ZCALLTYPEType of call
ZORIGINATEDBoolean (1 or 0): did the call originate from the local device (outgoing)
ZREADBoolean (1 or 0): was the call read
ZDATEMac Absolute time in seconds (with a decimal part)
ZDURATIONCall duration in seconds
ZLOCATIONStored location where the phone number was registered (from the Home Location Register of the number)
ZSERVICE_PROVIDERBundle ID of the service that fed this entry into the call log
ZADDRESSNumber of the other participant (unless it is a group FaceTime call)

Mac Absolute time counts seconds since 1 January 2001 00:00:00 UTC. Unix time counts from 1 January 1970. So:

Unix time=Mac Absolute time+978307200\text{Unix time} = \text{Mac Absolute time} + 978307200

Step 1. In the lab, record 20 of ZCALLRECORD had ZDATE = 683762616.018626.

Step 2. Add 978307200 to get Unix time 1662069816.

Step 3. That is 1 September 2022, 22:03:36 UTC. AXIOM shows it after right-clicking the column and choosing Date/Time → Apple time.

Android Call LogsSearch on YouTube

  • Recovered from a file called com.android.calllogbackup.data in adbdata.tar\apps\com.android.calllogbackup\k\.
  • Or from a database called calllog.db stored in the Live Data of the Quick Image.

AXIOM's call log artifact shows these fields:

FieldMeaning
PartnerThe other party of the call
Partner NameListed name of the partner. Not always from contacts; the carrier may pass it (for example "Scam Likely")
DirectionalityDirection of the call
Call StatusMissed Call, Answered or Unanswered
Call Date/TimeWhen the call was placed
Call Duration (Seconds)Call length in seconds
ICCIDRecovered ICCID of the SIM responsible for the call

iOS iMessage, SMS and MMSSearch on YouTube

  • Stored in sms.db in /HomeDomain/Library/SMS.
  • Practical: explore iOS messages in AXIOM (tables such as message, chat, handle, attachment).
  • iOS is restrictive about where saved media goes. Android lets the user store media on an SD card (if present).
  • iOS has two user-accessible storage locations: the Camera Roll and the Files app.
  • The Camera Roll is Apple's main store for photos taken with the camera, saved from attachments, or saved from the web. Its location:
    • Filesystem/DCIM/100APPLE/ when acquired with the Apple File Conduit
    • CameraRollDomain/Media/DCIM/100APPLE when acquired by the backup process

iOS Naming ConventionsSearch on YouTube

  • Devices start with a 100APPLE folder and increment from there.
  • Media items are named IMG_XXXX.HEIC/JPG/MOV.
  • After 10,000 media files, numbering restarts but the files go into different folders. So a user can have two IMG_0001 images:
    • IMG_0001.HEIC in 100APPLE
    • IMG_0001.HEIC in 110APPLE
  • Expect JPG, PNG or HEIC files depending on settings.
  • HEIC is the standard for pictures on iOS 11 and higher.
  • In AXIOM, HEIC images are viewable in Artifact Explorer because AXIOM Examine converts them to JPG.
  • Screenshots saved by users are traditionally stored in the Camera Roll as PNG files. Users can also save them through the Files app.

Camera Roll FoldersSearch on YouTube

FolderHolds
DCIMSaved files from the Camera Roll
MutationsEdited versions of files changed with the local Photos editor. An edited file is usually renamed FullSizeRender.jpg/heic
ThumbnailsEach Camera Roll file has a thumbnail folder with the same name. The thumbnail may survive for a short time after the file is deleted

End sem 2025 asked where to find evidence that iPhone photos were edited. Answer: the Mutations folder (FullSizeRender files next to the original in DCIM/100APPLE), the thumbnails, and Recently Deleted for originals.

Recently Deleted and Hidden FoldersSearch on YouTube

  • A deleted image or video is not immediately removed from the file system.
  • It moves to the Photos folder "Recently Deleted".
  • It stays there for 30 days.

iOS AttachmentsSearch on YouTube

  • The attachments table in sms.db tracks sent and received files. Sometimes the message is deleted but the attachment is still on the file system.
  • In iTunes-style backups attachments are not stored with the messages. They are in MediaDomain, not HomeDomain.
  • Full path: MediaDomain/Library/SMS/Attachments. Each file is in a folder named with a GUID, which appears in the attachment table of sms.db.

Android Media Files and LocationsSearch on YouTube

  • Camera photos and videos are usually in the DCIM directory, inside a Camera folder.
  • Apps may store media in their own directory.
  • Naming: 20200919_170850582.jpg = date YYYYMMDD, then time HHMMSS and milliseconds. (The slide reads this example as August 19, 2020, 5:07:50 PM UTC; the digits encode 2020-09-19, 17:08:50.582.)
  • Explore motion pictures in Media in AXIOM: check the naming and metadata. In the HEX view, search for the text string ftypmp42. This marks the start of the Motion Photo's video data inside the file.

Live Data: Camera HistorySearch on YouTube

  • Shows pattern of life or usage activity. May be missing if the device was powered off before imaging.
  • Shows when the device triggered a specific camera.
  • Stores the package name of the app that launched the camera and when it was used.
  • Connect and disconnect records show how long the camera or app was in use.
  • Pulled from the adb shell dumpsys command, acquired from live devices during the Quick Image.

Example from the slide:

10-07 10:47:02  CONNECT     Camera 0  com.dropbox.android               13877
10-07 10:47:05  DISCONNECT  Camera 0  com.dropbox.android               13877
10-07 19:57:21  CONNECT     Camera 1  com.instagram.android             27166
10-07 19:57:23  DISCONNECT  Camera 1  com.instagram.android             27166
10-09 11:15:37  CONNECT     Camera 0  com.google.android.GoogleCamera   11647
10-09 11:15:59  DISCONNECT  Camera 0  com.google.android.GoogleCamera   11647
10-12 08:54:49  CONNECT     Camera 1  com.snapchat.android              22730
10-12 08:54:50  DISCONNECT  Camera 1  com.snapchat.android              22730
  • Default browsers: Safari (iOS) and Chrome (Android).
  • Most mobile browser data is in an SQLite database.
  • Safari has a standard mode and a private browsing mode.
  • Most Safari data is in HomeDomain/Library/Safari. Some may be in the app storage folder AppDomain-com.apple.mobilesafari.

Safari History.dbSearch on YouTube

  • Safari keeps local history for 30 days in History.db in HomeDomain/Library/Safari.
  • A URL not visited within the last 30 days is purged.
  • History.db splits history across two tables: history_items and history_visits. Explore both in AXIOM.

Safari BrowserState.dbSearch on YouTube

  • Regardless of the 30-day window, Safari tracks all tabs currently open in BrowserState.db (tabs table).
  • This includes private browsing tabs.
ColumnPurpose
idPrimary key; tracks each open tab
uuidUUID generated for each tab
titleTitle of the URL open in the tab
URLURL open in that tab
order_indexOrder of the tabs in the browser window
last_viewed_timeMac Absolute time of the last view
opened_from_linkBoolean: tab opened from a link
private_browsingBoolean: tab is a Private Browsing tab

Chrome on AndroidSearch on YouTube

  • Browser data is often kept out of ADB backups.
  • Examiners may not get web history unless a full file system is acquired.

Third-party ApplicationsSearch on YouTube

  • An iOS quick image (iTunes-style backup) or an Android Quick Image is not all the files of a third-party app. It holds only what the developers chose to back up.
  • No tool will parse every app and every version. Examiners must develop a methodology to handle unknown apps.

Application Permissions (iOS)Search on YouTube

  • The APPLICATION PERMISSIONS artifact (macOS, iOS) tracks the package name, the permission requested, whether it is allowed, and how many times the app requested it.
  • The "Service Name" column shows the permission.
  • App settings live in the AppDomain folder, Library/Preferences directory. A plist there stores configuration and sometimes username/password data. Last login or use time may be tracked, but what is stored is up to the developer.

Android ApplicationsSearch on YouTube

  • In the apps directory of the backup, data is stored by package name (extension.company.product), as on the device.
  • The amount of data is up to the developer, but the structure is the same from app to app.
  • sp folder: the shared_prefs .xml files with the app's preference data.
  • k folder: holds a file matching the app's bundle ID (the slide calls it a plist). It can contain user account information and SQLite databases.

KeychainSearch on YouTube

  • The password management system on iOS. Stores account passwords and tokens in a secure container.
  • In a logical acquisition, keychain data is available only if the backup was encrypted.
  • AXIOM splits it into two artifact categories:
CategoryContents
Apple Keychain Generic PasswordsLogin info for accounts and Wi-Fi networks. Most values are not plain text. Wi-Fi passwords are usually plain text.
Apple Keychain Internet PasswordsCredentials saved by Safari when the user chooses to store them. Mostly not plain text, but some accounts and passwords may be.

Pattern-of-Life Artifacts (iOS)Search on YouTube

Pattern of life means what the user is doing at specific times, and their behaviour patterns. It matters in many types of examination.

BiomeSearch on YouTube

  • The Biome subdirectory is in /private/var/mobile/Library and /private/var/db.
  • It stores records about the specific function the user is doing.
  • AXIOM parses these Biome artifacts: Application Focus, Application Install States, Application Intents, Application Launch, CarPlay Connections, Device Orientation States, Device Plugged-in States, Device Screen Backlight States, Do Not Disturb Status, Keybag Lock States, Safari History, Safari Page View, Siri Execution, Siri UI Usage, User Activity.

KnowledgeCSearch on YouTube

  • An SQLite database that tracks many activities on an iOS device.
  • Records: Application Usage, Application Intents, Device Lock States, Media History, Notifications, Backlight States, Contacts, and Interactions.
  • Used to find a true "pattern of life".
  • Retention is only a few months. Records are purged First In, First Out.
  • Explore in AXIOM (Homicide case).

PowerLogSearch on YouTube

  • Records battery usage: which apps use power and how much.
  • SQLite database CurrentPowerlog.PLSQL at /private/var/mobile/Library/BatteryLife.
  • Used to build pattern of life.

Location Data (iOS)Search on YouTube

ArtifactDatabase and pathCollected howRetention / availability
iOS Cached LocationsCache.sqlite at /private/var/mobile/Library/CachesHistorical device locations when Location Services is on. Locked and at rest: once per 15 to 60 minutes. In active use: up to once per second. Speed recorded if apps with location permission run (Maps, Snapchat, Weather, Camera)Full file system acquisition only
iOS WiFi Locationscache_encryptedB.db at /private/var/root/Library/Caches/locationLocation of every Wi-Fi network the device has seen; it need not connectFull file system only; about seven days
iOS Cell Tower Locationscache_encryptedB.dbCell towers the phone connected to. General area of the tower plus Range (metres) from the towerAbout seven days
iOS Significant Locations(not named on the slide)Locations an Apple algorithm decides are significant to the user

Keep Behaviour Patterns Logged: KnowledgeC, Biome, PowerLog, Locations. These four answer any iOS pattern-of-life question.

Mid sem 2026 Q2 and end sem 2025 Q7 ask for pattern-of-life artifacts on an iPhone. The 2026 answer key gives 1 mark each for KnowledgeC, Biome, Location and PowerLog: name each, its path, and what it shows.

Lab Assignment 2 (AXIOM). iOS backup questions: owner from Info.plist; most-called number and longest call from the call log artifact; record 20 of ZCALLRECORD converted from Mac Absolute time; contacts from AddressBook.sqlitedb; messages from sms.db (conversation view); camera roll in CameraRollDomain/Media/DCIM, thumbnails in PhotoData/Thumbnails/V2/DCIM/100APPLE, and finding the full-size image with Find Similar Pictures (CBIR); Live Photos; Safari suspended tabs older than 30 days (from BrowserState.db); keychain Wi-Fi passwords; Cached Locations speed, WiFi Locations and Significant Locations on the world map. Android (Samsung) questions: accounts, Snapchat username and install time, longest outgoing call.

Quick self-testSearch on YouTube

Where does AXIOM get Android account information, and in which file is it saved?

From Dumpsys (OPERATING SYSTEM category). It is saved in account.txt under Live Data\Dumpsys Data in the Quick Image.

Where are iOS call logs stored, and which table matters most?

CallHistory.storedata under HomeDomain-Library/CallHistoryDB/; table ZCALLRECORD (ZADDRESS, ZDATE, ZDURATION, ZORIGINATED, ZANSWERED, ZCALLTYPE, ZSERVICE_PROVIDER...).

What is Mac Absolute time?

Seconds since 1 January 2001 UTC. Add 978307200 to convert it to Unix time. ZDATE uses it.

Where are Android call logs found in a Quick Image?

In com.android.calllogbackup.data under adbdata.tar\apps\com.android.calllogbackup\k\, or in calllog.db in the Live Data.

An iPhone has two files named IMG_0001.HEIC. How is that possible?

After 10,000 media files the numbering restarts in a new folder, so one is in 100APPLE and the other in 110APPLE.

Where would you find the edited version of an iOS photo, and how is it named?

In the Mutations folder, usually renamed FullSizeRender.jpg/heic. The original stays in DCIM/100APPLE.

Where are iMessage attachments stored in an iTunes backup?

MediaDomain/Library/SMS/Attachments, in GUID-named folders that match the attachment table in sms.db.

Safari keeps history for 30 days. How can you still see older or private tabs?

BrowserState.db (tabs table) keeps all open tabs, including private browsing tabs, regardless of the 30-day window.

When is iOS keychain data available in a logical acquisition, and which values are usually plain text?

Only if the backup was encrypted. Wi-Fi passwords in Apple Keychain Generic Passwords are usually plain text.

Name the iOS databases for cached locations and Wi-Fi locations with their paths and retention.

Cached Locations: Cache.sqlite in /private/var/mobile/Library/Caches (full file system only). WiFi and Cell Tower Locations: cache_encryptedB.db in /private/var/root/Library/Caches/location, about seven days.

  • Accounts on Android come from dumpsys (account.txt in Live Data); iOS owner info from Info.plist.
  • iOS contacts: AddressBook.sqlitedb; calls: CallHistory.storedata (ZCALLRECORD, ZDATE in Mac Absolute time); messages: sms.db; attachments in MediaDomain/Library/SMS/Attachments.
  • Android calls: com.android.calllogbackup.data in adbdata.tar or calllog.db in Live Data.
  • iOS media: DCIM/100APPLE (IMG_XXXX, HEIC from iOS 11), Mutations (FullSizeRender), thumbnails, Recently Deleted for 30 days. Android media: DCIM/Camera, YYYYMMDD_HHMMSS names, ftypmp42 marks motion photo video.
  • Camera History from dumpsys shows which app used which camera and for how long.
  • Safari: History.db (30 days, history_items + history_visits) and BrowserState.db (all open tabs, including private). Chrome is mostly missing from ADB backups.
  • Keychain only in encrypted backups; Wi-Fi passwords are plain text.
  • Pattern of life: Biome, KnowledgeC (FIFO, months), PowerLog (CurrentPowerlog.PLSQL), Cached/WiFi/Cell Tower/Significant Locations.