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.

iOSAndroidAnalyse d'appFrida / MobSFDurcissement

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.

1. Cadrage

Périmètre, autorisation écrite, environnement de test, comptes fournis et critères d'arrêt.

2. Reconnaissance

Récupération du binaire, cartographie des permissions, endpoints back-end et dépendances.

3. Analyse statique

Décompilation, recherche de secrets, revue du manifest et des composants exportés.

4. Analyse dynamique

Instrumentation runtime, interception réseau, tests d'authentification et de stockage.

5. Exploitation

Validation contrôlée des failles identifiées et démonstration de l'impact réel.

6. Restitution

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.