Sécurité offensive mobile
Mobile Hacking
Le smartphone concentre identité, paiements, communications et capteurs. Comprendre sa surface d'attaque — côté iOS comme Android — est devenu incontournable, autant pour auditer que pour se défendre. Ce guide pose les bases : vecteurs, outillage et durcissement.
Cadre légal & éthique
Ce contenu est pédagogique. N'auditez que des appareils et applications qui vous appartiennent ou pour lesquels vous disposez d'une autorisation écrite. En France, l'accès ou le maintien frauduleux dans un système de traitement automatisé de données est réprimé (art. 323-1 et suivants du Code pénal). Travaillez sur vos propres équipements ou en environnement de test.
Surface d'attaque mobile
Un appareil mobile n'est pas une seule cible mais un empilement de couches, chacune avec ses failles. Cartographier ces couches est la première étape de tout audit.
📱Application
Stockage local non chiffré, secrets en dur, logique de sécurité côté client, dépendances tierces vulnérables.
🔗Communication (IPC)
Deep links, intents exportés, schémas URL, échanges inter-applications mal contrôlés.
🌐Réseau
Absence de certificate pinning, TLS mal configuré, API back-end exposées, interception man-in-the-middle.
⚙️Système
Failles noyau/OS, jailbreak/root, contournement de la sandbox, escalade de privilèges.
🔌Physique
Accès local, ports de debug (ADB, USB), extraction de données, attaques par déverrouillage.
👤Humain
Phishing, applications malveillantes hors store, ingénierie sociale, permissions abusives accordées par l'utilisateur.
iOS vs Android
Les deux plateformes reposent sur des modèles de sécurité proches (sandbox, signature, permissions) mais diffèrent sur l'ouverture, l'outillage et les points d'entrée d'un audit.
iOS
- Écosystème fermé, apps signées et distribuées via l'App Store.
- Binaires chiffrés (FairPlay) : déchiffrement nécessaire avant analyse.
- Instrumentation via jailbreak,
Frida,objection, Cycript. - Stockage : Keychain, fichiers
.plist, bases SQLite. - Cible d'audit : IPA, trafic réseau, protections anti-tamper.
🤖Android
- Écosystème ouvert, APK/AAB installables hors store (sideloading).
- Décompilation accessible :
apktool, jadx, dex2jar. - Instrumentation via root,
Frida, Xposed, émulateurs. - Stockage : SharedPreferences, SQLite, KeyStore, fichiers internes.
- Cible d'audit : composants exportés, intents, permissions du manifest.
Vecteurs d'exploitation
Les catégories récurrentes, largement inspirées de l'OWASP Mobile Top 10, qui servent de grille de lecture à un test d'intrusion applicatif.
Stockage non sécurisé
Identifiants, jetons ou données personnelles écrits en clair sur l'appareil.
Communication faible
Trafic interceptable, absence de pinning, validation de certificat contournable.
Authentification défaillante
Logique de session côté client, jetons prévisibles, biométrie contournable.
Rétro-ingénierie
Absence d'obfuscation permettant d'extraire secrets et logique métier.
Composants exposés
Activities, services ou providers exportés déclenchables par une app tierce.
Injection & entrées
Deep links, WebViews et paramètres non filtrés menant à des actions non prévues.
Outillage d'audit
La panoplie de base pour analyser une application mobile, du statique au dynamique.
MobSF
Framework tout-en-un : analyse statique et dynamique automatisée d'APK/IPA.
Frida
Instrumentation dynamique : hook de fonctions, contournement de pinning et de root/jailbreak detection en temps réel.
objection
Boîte à outils construite sur Frida : exploration runtime sans écrire de script.
apktool / jadx
Décompilation et lecture du code Android (smali, Java reconstruit).
Burp Suite
Proxy d'interception pour analyser et rejouer le trafic HTTP(S) de l'app.
adb
Pont de debug Android : logs, extraction de données, gestion des paquets.
Méthodologie d'un audit
Un test d'intrusion mobile suit une progression logique, du cadrage à la restitution.
Périmètre, autorisation écrite, environnement de test, comptes fournis et critères d'arrêt.
Récupération du binaire, cartographie des permissions, endpoints back-end et dépendances.
Décompilation, recherche de secrets, revue du manifest et des composants exportés.
Instrumentation runtime, interception réseau, tests d'authentification et de stockage.
Validation contrôlée des failles identifiées et démonstration de l'impact réel.
Rapport priorisé par risque, preuves reproductibles et plan de remédiation.
Durcissement & défense
L'offensive n'a de sens que si elle nourrit la défense. Les mesures qui réduisent le plus la surface d'attaque, côté développeur comme côté utilisateur.
Côté application
- Chiffrer le stockage sensible (Keychain / KeyStore).
- Certificate pinning et TLS strict.
- Obfuscation et détection de root/jailbreak.
- Aucun secret en dur dans le binaire.
- Réduire les composants exportés au strict nécessaire.
Côté utilisateur
- Installer uniquement depuis les stores officiels.
- Maintenir l'OS et les apps à jour.
- Revoir régulièrement les permissions accordées.
- Verrouillage fort + chiffrement de l'appareil.
- Se méfier des liens et profils de configuration non sollicités.
Pour aller plus loin