Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
POC-CVE-2025-24104-Py | Kitploit
Tools/GitHubGitHub/missaels235/poc-cve-2025-24104-py
iOS SecurityVulnerability AnalysisExploitationData ExfiltrationMobile SecurityPapers & ResearchLearning & Education
GitHubmissaels235/poc-cve-2025-24104-py

POC-CVE-2025-24104-Py

View Repository
31 year agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

PoC: File Exfiltration in iOS via Backup Manipulation

VERY IMPORTANT WARNING: THIS SOFTWARE IS A PROOF OF CONCEPT (PoC) FOR EDUCATIONAL AND SECURITY RESEARCH PURPOSES ONLY.

  • DO NOT use this script on devices for which you do not have explicit written consent from the owner. Unauthorized access to computer systems is illegal in most jurisdictions.
  • This script involves RESTORING an iOS device from a backup, which will result in TOTAL LOSS OF CURRENT DATA on the device. Proceed with extreme caution and only on dedicated test devices.
  • The author/provider of this script is not responsible for any misuse or any damage or data loss caused by the use of this software. USE AT YOUR OWN RISK.

Overview

This Python script demonstrates a vulnerability (hypothetical or based on past vulnerabilities, referenced here illustratively as "prior to iOS 18.3" per the original PoC) that allows exfiltration of arbitrary files from an iOS device. The method relies on manipulating a device backup, creating a malicious symlink within that backup, and then restoring this modified backup to the device. Finally, it interacts with a system service (com.apple.mobile.MCInstall) so that it unknowingly reads the file pointed to by the symlink.

This script has been "enhanced" from a security researcher's perspective to include:

  • Detailed logging.
  • Parameterization via command-line arguments.
  • Dependency and iOS version checks (conceptual).
  • Extensive comments on inner workings and possible mitigations.
  • Increased robustness and error handling.

Vulnerability Explained (Conceptual)

The exploited vulnerability leverages the following chain of weaknesses (present in older iOS versions):

  1. Symlink Creation in Backups: The ability to create a backup file where an expected system file (e.g., CloudConfigurationDetails.plist) is replaced by a symlink pointing to a sensitive file on the device's filesystem (e.g., /private/etc/passwd).
  2. Symlink Restoration: The iOS restore process, in vulnerable versions, restored these symlinks to the device without proper validation or sanitization.
  3. Reading by Privileged Service: A system service (com.apple.mobile.MCInstall in this PoC) that has permissions to read the original configuration file (CloudConfigurationDetails.plist) can be invoked. When attempting to read the file, the operating system follows the symlink and instead reads the contents of the sensitive file the symlink points to.
  4. Data Exfiltration: The service returns the contents of the read file (i.e., the sensitive file) to the requesting client.

Note on iOS Version: The original PoC mentions "iOS < 18.3". This numbering is atypical. Apple has patched vulnerabilities related to symlink handling in backups and configuration profiles in significantly earlier iOS versions (generally before iOS 15/16 for the most direct vectors of this type). This version reference is retained for consistency with the script's origin, but should be understood as illustrative of "an unpatched vulnerable version".

Enhanced Script Features

  • Detailed Logging: Timestamps and clear messages for each step of the process.
  • Command-Line Arguments: Flexible configuration of directories, target file, UDID, etc.
  • Modularity: Ability to skip phases (backup/restore or exploitation) for analysis.
  • Dependency Check: Verifies the existence of idevicebackup2.
  • Device Information: Attempts to obtain iOS version and UDID.
  • Vulnerability Check (Conceptual): Warns if the detected iOS version is likely patched.
  • Improved Error Handling: Catches and reports errors more clearly.
  • Educational Comments: Detailed explanations in the code about the process and mitigations.

Prerequisites

  • Python 3.7+
  • libimobiledevice: A set of tools for interacting with iOS devices. Specifically, idevicebackup2 must be in the system PATH.
    • On macOS: brew install libimobiledevice
    • On Linux: sudo apt-get install libimobiledevice-utils (package name may vary)
  • Python packages:
    root@kitploit:~
    pip install usbmux-python python-lockdown packaging
    

Installation

  1. Clone this repository:
    root@kitploit:~
    git clone <repository-url>
    cd <directory-name>
    
  2. Ensure libimobiledevice is installed and idevicebackup2 is accessible.
  3. Install Python dependencies:
    root@kitploit:~
    pip install -r requirements.txt # (If you create a requirements.txt with usbmux-python, python-lockdown, packaging)
    # or manually:
    # pip install usbmux-python python-lockdown packaging
    

Usage

root@kitploit:~
./exploit_ios_file_read.py [OPTIONS]
Download Tool