iLEAPP : analyseur de logs, événements et plists iOS
Ce projet transforme « iOS Logs, Events, And Plist Parser. On macOS and Linux, use the ileapp binary from the extracted archive instead of ileapp.exe. » en une solution open source exploitable, avec une chaîne d’outils réutilisable et des moyens d’intégration pour des cas d’usage concrets.
En bref
- De quoi s’agit-il ?
- Un outil forensique pour analyser les extractions iOS et iPadOS en générant rapports HTML, TSV, chronologie, KML et LAVA, supportant iOS 11 et versions ultérieures.
- À qui s’adresse-t-il ?
- iLEAPP fournit une analyse forensique complète des extractions iOS avec plusieurs formats de sortie et un système de plugins personnalisables. Pour l'évaluer, téléchargez l'exécutable précompilé depuis GitHub (pas de Python requis), testez-le sur une petite extraction d'exemple pour observer les rapports générés, puis vérifiez la compatibilité avec votre flux de travail forensique actuel.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
iOS Logs Events And Plist Parser pour l'analyse forensique
iLEAPP signifie iOS Logs, Events, And Plist Parser et est un outil forensique conçu pour analyser les données d'extractions d'appareils iOS et iPadOS. Selon les métadonnées du dépôt, le projet a été créé par Alexis Brignoni et est écrit en Python. Le README indique qu'il supporte les versions iOS et iPadOS 11 jusqu'aux versions actuelles. L'outil traite les extractions forensiques et génère des rapports dans plusieurs formats : HTML (pour navigation interactive), TSV (valeurs séparées par tabulations pour feuilles de calcul), chronologie, KML (pour données géospatiales), et LAVA (intégration avec la plateforme forensique LAVA). Le README ne spécifie pas si iLEAPP s'intègre à des suites forensiques commerciales spécifiques ou à des services cloud.
Types d'entrée : six formats d'extraction supportés
iLEAPP accepte six types d'entrée. Le type `fs` désigne un dossier de fichiers extraits avec chemins et noms normaux. Le type `zip` est une archive ZIP contenant des fichiers avec noms normaux. Le type `tar` est une archive TAR. Le type `gz` est une archive compressée GZIP. Le type `itunes` représente un dossier de sauvegarde iTunes ou Finder avec chemins et noms hashés. Le type `file` accepte un fichier unique. Les sauvegardes iTunes et Finder cryptées sont supportées ; l'interface graphique demande un mot de passe lorsqu'un cryptage est détecté, et la CLI l'accepte via l'argument --itunes_password. Le README énonce explicitement le support d'iOS et iPadOS 11 jusqu'aux versions actuelles. La source ne précise pas le support minimal/maximal pour les modèles d'appareil ni les outils d'extraction testés.
Installation précompilée sans Python ou compilation depuis sources
iLEAPP propose deux chemins d'installation. Le mode recommandé utilise des versions précompilées téléchargeables sans installation Python requise. Le README fournit un tableau de téléchargements spécifiques à la plateforme pour Windows (GUI et CLI sur x64), macOS (Apple Silicon et Intel) en .dmg pour GUI et .zip pour CLI, et Linux (x86-64) en AppImage pour GUI et CLI. Les liens se trouvent à leapps.org/releases et sur la page GitHub Releases. Depuis les sources, vous clonez le dépôt, créez un environnement virtuel Python 3.10+, installez les dépendances depuis requirements.txt, et lancez ileapp.py ou ileappGUI.py. Sous Linux, tkinter doit être installé séparément (sudo apt-get install python3-tk) pour l'interface graphique.
Interface graphique : sélection de paramètres et modules
L'interface graphique se lance en exécutant l'exécutable ileappGUI (ou python ileappGUI.py depuis les sources). L'utilisateur sélectionne un type d'entrée, un chemin source, un dossier de sortie et les modules à traiter via des boîtes de dialogue. Pour les sauvegardes iTunes cryptées, la GUI demande le mot de passe interactivement. L'interface ne nécessite pas de compréhension des arguments en ligne de commande, la rendant accessible aux utilisateurs moins techniques.
Interface en ligne de commande avec arguments et modes utilitaires
La CLI iLEAPP (ileapp.exe sous Windows, ileapp ailleurs) nécessite trois arguments obligatoires : -t pour le type d'entrée, -i pour le chemin d'entrée, -o pour le chemin de sortie (qui doit déjà exister). Les arguments optionnels incluent -w pour désactiver le retour à la ligne du texte, -m pour charger un fichier de profil (.ilprofile) limitant les modules, -d pour charger des données de cas (.lcasedata), --custom_output_folder pour un nom de sous-dossier personnalisé, --custom_artifacts_path pour charger des modules supplémentaires, et --itunes_password pour les sauvegardes cryptées. Deux modes utilitaires existent : -p écrit tous les chemins de recherche d'artefacts dans un fichier, et -c lance un assistant interactif pour créer des fichiers .ilprofile ou .lcasedata. Exemple CLI : ileapp -t zip -i /path/to/extraction.zip -o /path/to/output/
Modules d'artefacts personnalisés et intégration de profils
Les modules d'artefacts sont des fichiers Python stockés dans scripts/artifacts/ et chargés dynamiquement à l'exécution. Le README renvoie à un guide étape par étape pour écrire de nouveaux modules iLEAPP hébergé sur leapps.org. La documentation supplementaire couvre la structure du bloc d'informations, la mise à jour des modules pour la génération automatique de sortie, et les mises à jour avancées pour inclure la sortie LAVA. L'argument --custom_artifacts_path permet de charger des modules depuis un dossier supplémentaire (par exemple scripts/alternate_artifacts). Les profils (.ilprofile) peuvent être créés via le mode -c pour limiter les modules exécutés. Les fichiers de données de cas (.lcasedata) sont aussi créés via -c et permettent de persister des préférences.
Formats de sortie multiples et intégration LAVA
iLEAPP produit cinq formats de sortie. Les rapports HTML offrent une navigation interactive et des recherches. Le TSV exporte les données pour analyse dans des feuilles de calcul ou bases de données. La chronologie organise les événements par temps. Le KML permet la visualisation géospatiale (coordonnées GPS). La sortie LAVA permet l'intégration avec la plateforme d'analyse forensique LAVA ; le README documente la mise à jour des modules complexes pour inclure cet aspect. Le README ne fournit pas d'exemples du contenu des rapports ; les utilisateurs doivent inspecter la sortie après un test.
Licence MIT et communauté DFIR
iLEAPP est publié sous licence MIT, copyright Alexis Brignoni (2020). La licence accorde la permission d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre des copies du logiciel, à condition que l'avis de droit d'auteur et l'avis d'autorisation soient inclus. Le logiciel est fourni « en l'état » sans garantie d'aucune sorte. Le README remercie l'effort collaboratif de la communauté DFIR et crédite Derek Eiri pour le logo. La source n'établit aucun canal de support formel, aucun audit de sécurité ni aucune garantie de production ; les utilisateurs se fient à GitHub Issues pour le support communautaire.
Conclusion éditoriale
iLEAPP fournit une analyse forensique complète des extractions iOS avec plusieurs formats de sortie et un système de plugins personnalisables. Pour l'évaluer, téléchargez l'exécutable précompilé depuis GitHub (pas de Python requis), testez-le sur une petite extraction d'exemple pour observer les rapports générés, puis vérifiez la compatibilité avec votre flux de travail forensique actuel. Le README ne fournit pas de benchmarks de performance, d'audits de sécurité ou de critères de production ; les utilisateurs doivent tester sur des cas réels avant déploiement.
Notes de la communauté