Over the years, we’ve published numerous guides on installing the iOS Forensic Toolkit extraction agent and troubleshooting issues. As both the tool and its environment evolved, so did our documentation – often leading to outdated or scattered information. This article consolidates and updates everything in one place, detailing the correct installation and troubleshooting procedures.
The extraction agent is a lightweight, in-house developed iOS app that plays a key role in low-level forensic acquisition. The agent packs all known and iOS exploits into a single tool. Once sideloaded onto a compatible iOS or iPadOS device, the agent:
This method allows forensic experts to extract crucial evidence from iPhones and iPads at a low level, providing access to user data that would otherwise be impossible to retrieve.
Important: Prior to using the extraction agent, make sure that the version of iOS/iPadOS installed on the device is compatible with the agent. Do not assume! Many old versions of iOS are not compatible because all devices that are capable of running those old versions of the OS are supported via a different extraction method: the bootloader exploit.
If the device supports both bootloader-level extraction via checkm8 and the extraction agent, we recommend using bootloader-level extraction for its being more forensically sound and offering better compatibility.
Before initiating the installation process, ensure the following prerequisites are met:
To ensure smooth installation and subsequent operation of the extraction agent, ensure that the device you are installing it on has sufficient charge and is correctly configured.
To install the extraction agent, you will need to sign the IPA file with a digital certificate; otherwise, iOS will reject to launch the app. That digital certificate is tied to a particular Apple ID. That Apple ID is usually different than the Apple ID used on the device. For signing the extraction agent, you can use a regular Apple ID (e.g. a dedicated Apple ID or even throwaway one registered solely for this purpose), or an Apple ID enrolled into Apple Developer Program.
Checking pairing:
EIFT_cmd normal info
The command returns “Paired: YES/NO”.
Installing the agent:
EIFT_cmd agent install
Note: If you don’t do the reboot and the device panics, the pairing records or even the agent app itself may become corrupted due to unclean reboot. You may need to re-install the agent app if that happens.
Important: A paid developer account is required. If you enrol an Apple ID as a developer without paying the annual fee, you will be unable to use that account to sign the extraction agent.
Starting with iOS Forensic Toolkit 8.70, the extraction agent can be sideloaded and launched completely offline with any Apple Developer account – regardless of when it was created or enrolled in Apple’s Developer Program. In other words, if you are using an Apple ID enrolled into Apple Development Program, you will have the following benefits:
Note: If using a corporate developer account, make sure to enable additional permissions as shown on the following image:
Thanks to this improvement, we are once again recommending the use of Apple Developer accounts for sideloading the extraction agent. This change dramatically simplifies the preparation and installation steps, reduces operational risks, and improves the overall forensic workflow.
Depending on the type of the Apple ID account, you may need to validate the agent’s digital signature before the first launch; otherwise, you won’t be able to run it. This process occurs on the device being investigated and requires connecting the device to an Apple signing server, which in turn poses a set of known risks.
You can use any of your own Apple IDs to sign the agent, but it must be created on an Apple device. If you’re unsure, you may want to create a new one using an Apple device. Keep in mind that each Apple device can only be used to create up to three Apple IDs per year.
There have been cases where signing the agent failed, even though all other conditions were met. Creating a new Apple ID directly on an Apple device resolved the issue. We suspect the problem was caused by the original Apple ID having been created on a Windows PC.
Note: this chapter only applies if you need to have the agent’s digital signature validated when using a regular/non-developer Apple ID for agent signing. Apple developer accounts created before June 2021 waive this requirement.
Our solution works in all three editions of iOS Forensic Toolkit, covering Windows, macOS, and Linux PCs. Please note the following limitations and observations.
The following applies to regular Apple IDs only.
The following applies to developer Apple IDs only.
At this point, you can finally launch the extraction agent:
Notes and recommendations
Following these steps should ensure a smooth setup and operation of the low-level extraction agent, minimizing the risk of potential cloud, device, and application-related problems.
Note: This manual is based on specific user experiences and testing scenarios. Adjustments may be necessary based on individual device configurations or software versions.
Not following the above instructions may result in unexpected behavior. The symptoms may include the agent launching, successful exploit execution, smooth keychain retrieval, but encountering an unexpected disruption at the file system extraction stage.
Please also note that the latest release of iOS Forensic Toolkit changed the behavior of the “-o” parameter following the “keychain/tar” command. The “-o” option should now denote a folder name, not a file name. File names are automatically assigned based on the device’s UDID and date/time.
Finally, it’s worth noting that both the image and keychain can be further loaded for analysis into a third-party forensic tool.
In this tutorial, we will address common issues faced by users of the iOS Forensic Toolkit when installing and using the low-level extraction agent for accessing the file system and keychain on iOS devices. This troubleshooting guide is based on the valuable feedback and data received by our technical support team.
In this guide, we won’t dive into the inner workings of the extraction agent, which leverages known vulnerabilities to elevate privileges in Apple iOS. Instead, we’ll focus on what to do when you encounter a difficulty installing or using the extraction agent.
First, let us cover the two most common mistakes our users regularly make when using the extraction agent.
Before you start sideloading and using the extraction agent, make sure to perform all of the following checks.
The extraction agent supports a wide range of iOS releases. Before you begin, get the exact version of iOS installed on the device, and check it against the iOS Forensic Toolkit compatibility list. Make sure that the version of iOS Forensic Toolkit you are using supports the version of iOS installed on the device.
Important: We are continually working on expanding the list of supported iOS versions for the extraction agent. You may find that your installed version of iOS Forensic Toolkit does not support a given iOS build, while a newer version does. If this is the case, you will need to update iOS Forensic Toolkit to the latest version.
When launching the extraction agent, iOS checks if its digital signature is valid. If the device has been deeply discharged, its time and date settings may be way off, which will cause the verification to fail.
Solution: Set the correct date and time in the device’s settings. You may need to reinstall the extraction agent.
Ensure that the target device is correctly paired to the computer. To do that, run the following two commands:
EIFT_cmd normal unpair
EIFT_cmd normal pair
Please note: In some cases, the device may prompt for media access instead of pairing with the computer. This can happen if the Apple Devices or iTunes app (Windows) is not installed, or if it is installed but has never been launched.
Solution: Install the Apple Devices app from the Windows Store and make sure to open it at least once (then close it) before connecting the device to the computer.
Do not forget to disable internet sharing after signing the agent app.
If you forget to disable internet sharing from your computer after signing the agent on the target device, there’s a risk of data loss due to receiving a command for remote locking or remote device wipe during operation.
Signing the extraction may fail if the computer has an active VPN or proxy connection. Disable VPN and proxies when signing the extraction agent.
While checkm8 extraction usually requires a USB-A to Lightning cable, agent-based extraction works better with a certified USB Type-C to Lightning cable. We found that using Type-C to Lightning cables delivers extractions that are both faster and more reliable.
In this section, we’ll cover the common problems that may arise during the installation and usage of the extraction agent and iOS Forensic Toolkit.
If you receive the “Insufficient Permissions” error when running iOS Forensic toolkit or the firewall script, this can mean that the tool had not been correctly installed on the computer. These problems can be broken down into the following cases.
To fix this issue, follow these steps:
Solution: Move EIFT to a different location, such as the local Applications folder.
You must grant full access permissions to the OS shell.
Typically, the problem arises from selecting the wrong internet source. Sometimes, more than one iPhone/iPad connection may appear in the list.
Solution: You need to manually identify the correct connection, often through trial and error, using a designated test device.
You need enough free disk space to fit the file system image. If using an external drive, make sure to format it in a file system other than FAT32, which limits file sizes to 4GB.
Ensure that the extraction agent runs as a foreground app during the entire extraction.
First and foremost, the device must be placed into airplane mode during the extraction. However, depending on the last settings, the Wi-Fi and Bluetooth toggles may not be automatically disabled when the device enters airplane mode.
Solution: place the device into airplane mode first, then check and manually disable the Wi-Fi and Bluetooth toggles.
Cause: too long or too short a delay after booting or restarting the device.
Explanation: the exploits used by the extraction agent are time-sensitive. Some iOS versions require a delay of no more than 10 seconds after a reboot before launching the extraction agent, while iOS 16 requires a delay of approximately one minute to allow all kernel-level processes to stabilize. Providing an exact waiting time for each iOS version is challenging, so if you encounter issues with the exploit, try both shorter and longer delays, rebooting the device between attempts. In some cases, you may need to try up to five times.
Note: if the device has been running for a very long time (e.g. while sitting on a charger), the exploit will almost certainly fail. In this case, you will need to reboot the device.
Solution: reboot the device, wait 10 seconds to 1 minute.
If none of the above resolves the issue, try identifying the issue by following steps from the Troubleshooting Guide.
Important: for the troubleshooting guide, always use a designated test device! Do not perform troubleshooting steps using the target device unless specifically instructed.
Ensure that the Internet sharing is working properly by checking that the Internet is accessible on the test device while wireless network interfaces (such as WiFi and mobile data) are disabled, and the text device is connect to your Mac computer via a cable. If you encounter issues with Internet sharing, refer to the “Misconfigured Internet Sharing for USB devices” section for solutions.
If all previous steps were successful on the test device but signing the agent still fails on the target device, follow these steps:
By following these steps, you should be able to troubleshoot and resolve common sideloading and signing issues. If you encounter any persistent problems, do not hesitate to contact our support team for further assistance.
Finally, when you delete the extraction agent from the device, some traces will be left in the device file system (namely, some records in system logs). However, none of the records will contain information on which Apple ID was used to sideload the extraction agent.
Extract critical evidence from Apple iOS devices in real time. Gain access to phone secrets including passwords and encryption keys, and decrypt the file system image with or without the original passcode. Physical and logical acquisition options for all 64-bit devices running all versions of iOS.
Elcomsoft iOS Forensic Toolkit official web page & downloads »