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.txtunder theLive Data\Dumpsys Datapath 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.storedataunderHomeDomain-Library/CallHistoryDB/. - Most forensically relevant data is in the table
ZCALLRECORD.
| Column | Purpose |
|---|---|
Z_PK | Primary key for the table |
ZANSWERED | Boolean (1 or 0): was the call answered |
ZCALLTYPE | Type of call |
ZORIGINATED | Boolean (1 or 0): did the call originate from the local device (outgoing) |
ZREAD | Boolean (1 or 0): was the call read |
ZDATE | Mac Absolute time in seconds (with a decimal part) |
ZDURATION | Call duration in seconds |
ZLOCATION | Stored location where the phone number was registered (from the Home Location Register of the number) |
ZSERVICE_PROVIDER | Bundle ID of the service that fed this entry into the call log |
ZADDRESS | Number 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:
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.datainadbdata.tar\apps\com.android.calllogbackup\k\. - Or from a database called
calllog.dbstored in the Live Data of the Quick Image.
AXIOM's call log artifact shows these fields:
| Field | Meaning |
|---|---|
| Partner | The other party of the call |
| Partner Name | Listed name of the partner. Not always from contacts; the carrier may pass it (for example "Scam Likely") |
| Directionality | Direction of the call |
| Call Status | Missed Call, Answered or Unanswered |
| Call Date/Time | When the call was placed |
| Call Duration (Seconds) | Call length in seconds |
| ICCID | Recovered ICCID of the SIM responsible for the call |
iOS iMessage, SMS and MMSSearch on YouTube
- Stored in
sms.dbin/HomeDomain/Library/SMS. - Practical: explore iOS messages in AXIOM (tables such as message, chat, handle, attachment).
Gallery and Media FilesSearch on YouTube
- 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 ConduitCameraRollDomain/Media/DCIM/100APPLEwhen acquired by the backup process
iOS Naming ConventionsSearch on YouTube
- Devices start with a
100APPLEfolder 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_0001images:IMG_0001.HEICin100APPLEIMG_0001.HEICin110APPLE
- 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
| Folder | Holds |
|---|---|
| DCIM | Saved files from the Camera Roll |
| Mutations | Edited versions of files changed with the local Photos editor. An edited file is usually renamed FullSizeRender.jpg/heic |
| Thumbnails | Each 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.dbtracks 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 ofsms.db.
Android Media Files and LocationsSearch on YouTube
- Camera photos and videos are usually in the
DCIMdirectory, inside aCamerafolder. - Apps may store media in their own directory.
- Naming:
20200919_170850582.jpg= dateYYYYMMDD, then timeHHMMSSand 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 dumpsyscommand, 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 22730Web Related InformationSearch on YouTube
- 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 folderAppDomain-com.apple.mobilesafari.
Safari History.dbSearch on YouTube
- Safari keeps local history for 30 days in
History.dbinHomeDomain/Library/Safari. - A URL not visited within the last 30 days is purged.
History.dbsplits history across two tables:history_itemsandhistory_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(tabstable). - This includes private browsing tabs.
| Column | Purpose |
|---|---|
id | Primary key; tracks each open tab |
uuid | UUID generated for each tab |
title | Title of the URL open in the tab |
URL | URL open in that tab |
order_index | Order of the tabs in the browser window |
last_viewed_time | Mac Absolute time of the last view |
opened_from_link | Boolean: tab opened from a link |
private_browsing | Boolean: 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/Preferencesdirectory. 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
appsdirectory 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.
spfolder: the shared_prefs.xmlfiles with the app's preference data.kfolder: 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:
| Category | Contents |
|---|---|
| Apple Keychain Generic Passwords | Login info for accounts and Wi-Fi networks. Most values are not plain text. Wi-Fi passwords are usually plain text. |
| Apple Keychain Internet Passwords | Credentials 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/Libraryand/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.PLSQLat/private/var/mobile/Library/BatteryLife. - Used to build pattern of life.
Location Data (iOS)Search on YouTube
| Artifact | Database and path | Collected how | Retention / availability |
|---|---|---|---|
| iOS Cached Locations | Cache.sqlite at /private/var/mobile/Library/Caches | Historical 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 Locations | cache_encryptedB.db at /private/var/root/Library/Caches/location | Location of every Wi-Fi network the device has seen; it need not connect | Full file system only; about seven days |
| iOS Cell Tower Locations | cache_encryptedB.db | Cell towers the phone connected to. General area of the tower plus Range (metres) from the tower | About 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.txtin Live Data); iOS owner info fromInfo.plist. - iOS contacts:
AddressBook.sqlitedb; calls:CallHistory.storedata(ZCALLRECORD, ZDATE in Mac Absolute time); messages:sms.db; attachments inMediaDomain/Library/SMS/Attachments. - Android calls:
com.android.calllogbackup.datainadbdata.tarorcalllog.dbin 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_HHMMSSnames,ftypmp42marks 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) andBrowserState.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.