Pourquoi auditer un téléphone
Un smartphone compromis est souvent plus dangereux qu'un PC infecté : il transporte la vie professionnelle et personnelle, reste allumé en permanence, et accède au micro, à la caméra, aux messages chiffrés et aux codes 2FA.
Quand déclencher un audit
- 🔋 Batterie qui se vide anormalement vite (spyware actif en arrière-plan)
- 🌡 Téléphone chaud au repos
- 📶 Consommation data inexplicable
- 💬 La personne reçoit des infos qu'elle n'a partagé que par téléphone
- 🔎 Application inconnue visible ou invisible dans la liste des processus
- 📱 Appareil qui émet des sons ou s'allume seul
- 🔒 Compte Google / Apple ID connecté depuis un pays étranger
Stack d'outils recommandée
ADB — Android Debug Bridge
Interface de commande officielle Android. Accès aux packages installés, processus, propriétés système, logs. Socle de tout audit Android.
Android Gratuit Google Platform ToolsAvillaForensics
Extraction et déchiffrement des bases de messagerie (WhatsApp, Telegram, Signal, 400+ apps) sans root via downgrade APK temporaire. Lauréat SANS Forensics 4:Cast 2023.
Android 12–15 Gratuit WindowsAndroidQF — Android Quick Forensics
Acquisition forensique complète recommandée par le projet MVT. Remplace adb backup (déprécié Android 12+). Binaire unique, crée un dump horodaté analysable avec MVT.
check-adb ne fonctionne pas (bug “Device is busy”). Utiliser AndroidQF pour l'acquisition, puis mvt-android check-androidqf pour l'analyse.MVT — Mobile Verification Toolkit
Outil open-source développé par Amnesty International. Analyse les sauvegardes iOS et les dumps AndroidQF contre une base d'indicateurs de compromission (IOC) incluant Pegasus et autres spywares d'État.
iOS Android (via AndroidQF) Gratuit / Open Sourcemitmproxy
Proxy d'interception HTTPS. Permet de visualiser le trafic réseau de l'appareil en temps réel. Utile pour détecter des connexions vers des serveurs de commande (C2) ou des exfiltrations de données.
Android iOS Gratuit / Open Source⚡ Coupure d'urgence — à faire en 2 minutes avant tout
📱 Google Account
Déconnecter tous les appareils
myaccount.google.com → Sécurité → Gérer tous les appareils → cliquer sur chaque appareil inconnu → “Se déconnecter”. Si doute sur plusieurs appareils : “Se déconnecter de tous les appareils”.
Couper le partage de localisation
maps.google.com → menu → Partage de position → vérifier qu'aucun partage actif ne court vers un tiers inconnu → arrêter si nécessaire.
Changer le mot de passe immédiatement
myaccount.google.com → Sécurité → Mot de passe → nouveau MDP 16+ caractères aléatoires. Cette action invalide toutes les sessions existantes.
🍏 Apple ID
Retirer les appareils inconnus
appleid.apple.com → Appareils → pour chaque appareil inconnu : cliquer → “Supprimer de votre compte”. L'appareil perd immédiatement accès à iCloud et à Find My.
Couper le partage de localisation (Find My)
Sur l'iPhone : Réglages → [Nom] → Localisation → Partager ma position → désactiver OU vérifier la liste des personnes autorisées → supprimer toute entrée inconnue.
Déconnecter toutes les sessions web
appleid.apple.com → Sécurité → “Se déconnecter de tous les navigateurs web”. Coupe les sessions actives sur navigateur sans toucher aux appareils physiques déjà retirés à l'étape 1.
Vérifier les accès iCloud
Réglages → [Nom] → iCloud → passer en revue les apps avec accès actif. Désactiver les apps inconnues ou non utilisées (notamment Photos, Contacts, Sauvegardes).
Changer le mot de passe Apple ID
appleid.apple.com → Connexion et sécurité → Changer le mot de passe → 16+ caractères aléatoires. Active la déconnexion forcée de toutes les sessions.
Ordre d'intervention terrain
↓
1. Faire signer la décharge
↓
2. Audit compte Google / Apple (accès suspects → couper EN PREMIER)
↓
3. Changer MDP + activer 2FA
↓
4. Scan mobile (apps, permissions, outils selon OS)
↓
5. Analyse réseau mitmproxy si nécessaire
↓
6. Rémédiation selon résultats
↓
7. Remise du rapport signé
📧 Étape 1 — Audit du compte Google
Sessions actives
accounts.google.com → Sécurité → Vos appareils
Appareils inconnus, villes étrangères → action : « Déconnecter tous les autres appareils »
Règles de transfert Gmail (très courant)
Gmail → Paramètres → Transfert et POP/IMAP
Gmail → Paramètres → Filtres et adresses bloquées
Une adresse de transfert inconnue = tous les mails partent chez l'attaquant.
Accès tiers (critique)
accounts.google.com → Sécurité → Vos connexions à des applis tierces
Révoquer toute app inconnue avec accès « Lire/Envoyer emails », « Gérer contacts » ou « Drive ».
Sécurisation du compte
Changer le MDP : minimum 16 caractères aléatoires (Bitwarden recommandé)
2FA par ordre de préférence : Clé physique (YubiKey) > TOTP (Aegis / Google Auth) > SMS
📱 Étape 2A — Audit Android
2A.1 — Revue manuelle des applications
Paramètres → Applications → Voir toutes les applications
- Apps sans icône ou avec des noms génériques (“System Service”, “Phone Manager”...)
- Apps que l'utilisateur ne reconnaît pas
- Apps installées hors Play Store (vérifier la source)
- Apps avec une date d'installation récente et suspecte
2A.2 — Permissions critiques
Paramètres → Applications → [app suspecte] → Autorisations
| Permission | Risque | Niveau |
|---|---|---|
| Accessibilité | Keylogger, contrôle total de l'écran | CRITIQUE |
| Administrateur de l'appareil | Impossible à désinstaller normalement | CRITIQUE |
| Superposition d'écran | Phishing visuel, capture de mots de passe | CRITIQUE |
| SMS | Interception des codes 2FA | ELEVÉ |
| Microphone en arrière-plan | Espionnage audio permanent | ELEVÉ |
| Camera en arrière-plan | Surveillance vidéo | ELEVÉ |
| Localisation permanente | Tracking GPS en temps réel | ELEVÉ |
| Contacts + Agenda | Exfiltration de réseau professionnel | MODÉRÉ |
2A.3 — Administrateurs d'appareils
Paramètres → Sécurité → Applications d'administration de l'appareil
Seuls « Localiser mon appareil » (Google) et un MDM d'entreprise légitime doivent figurer ici. Tout autre élément est suspect.
2A.4 — AvillaForensics — Extraction messageries
AvillaForensics comble le manque de la stack ADB/MVT : il extrait et déchiffre les bases WhatsApp, Telegram, Signal et 400+ autres applications sans root, via un downgrade APK temporaire automatique.
Prérequis
Téléphone connecté en USB. Mode développeur actif (voir 2A.5). AvillaForensics téléchargé depuis GitHub Releases (binaire Windows, pas d'installation).
Lancement
Exécuter AvillaForensics.exe → sélectionner le device détecté → choisir l'application cible → lancer l'extraction.
Résultat
L'outil effectue le downgrade APK, extrait la base chiffrée, la déchiffre et restaure automatiquement la version d'origine. Export : messages, médias, historique complet.
2A.5 — AndroidQF — Acquisition forensique (Android 16+)
AndroidQF est recommandé par le projet MVT comme successeur de adb backup (déprécié depuis Android 12). C'est la seule méthode fiable sur Android 16 où MVT check-adb est défaillant.
# Téléphone connecté en USB avec débogage activé
./androidqf
# L'outil crée un dossier horodaté avec le dump complet (~5-10 min)
# Analyser avec MVT :
mvt-android check-androidqf \
--iocs indicators.stix2 \
--output ./rapport_mvt/ \
./androidqf_dump_YYYYMMDD/
# Lire les résultats
cat ./rapport_mvt/detected.json
Un fichier detected.json vide signifie aucun IOC connu détecté. Chaque entrée présente doit être analysée et documentée dans le rapport.
2A.6 — ADB — Analyse avancée
Activer le mode développeur : Paramètres → À propos du téléphone → Numéro de build → Taper 7 fois → Options développeur → Débogage USB → Activer
# Vérifier que le téléphone est détecté
adb devices
# Lister toutes les apps (y compris cachées)
adb shell pm list packages -f > apps_installees.txt
# Apps installées hors Play Store
adb shell pm list packages -i | grep -v "installer=com.android.vending"
# Apps avec droits admin
adb shell dpm list-owners
# Profils MDM actifs
adb shell dumpsys device_policy
# Propriétés système (mode, version, binaires root)
adb shell getprop | grep -E "ro.build|ro.debuggable|service.adb"
# Vérification SELinux
adb shell getenforce
# Export logs système
adb logcat -d > logcat_export.txt
# Récupérer un APK suspect pour analyse
adb shell pm path com.nom.app.suspecte
adb pull /data/app/com.nom.app.suspecte/base.apk ./suspect.apk
# Uploader sur virustotal.com
2A.7 — mitmproxy — Analyse réseau
# Lancement avec enregistrement du dump (recommandé)
mitmproxy --port 8080 -w capture_$(date +%Y%m%d).mitm
# Sur le téléphone :
# WiFi → appui long sur le réseau → Modifier → Options avancées
# → Proxy Manuel → IP laptop : 8080
# Installer le certificat : navigateur → http://mitm.it
# Laisser tourner 10 min, chercher :
# - Connexions vers IP/domaines inconnus
# - Domaines DGA (noms aléatoires)
# - POST requests vers serveurs inconnus
# Analyser le dump après intervention
mitmproxy -r capture_YYYYMMDD.mitm
# Export texte pour intégration au rapport
mitmdump -r capture_YYYYMMDD.mitm > capture_lisible.txt
Fin : Supprimer impérativement le certificat mitmproxy de l'appareil et retirer la configuration proxy.
🍏 Étape 2B — Audit iOS
2B.1 — Profils MDM (signal le plus critique)
Réglages → Général → VPN et gestion de l'appareil
Seul le profil MDM de l'entreprise (si applicable) doit être présent. Supprimer immédiatement tout profil inconnu.
2B.2 — Permissions suspectes
Réglages → Confidentialité et sécurité → vérifier chaque catégorie :
- Localisation — aucune app inconnue ne doit avoir accès « Toujours »
- Microphone — révoquer tout accès non justifié
- Caméra — même principe
- Contacts — applications de messagerie uniquement
- Messages — aucune app tierce ne doit avoir accès
2B.3 — VPN actif non identifié
Réglages → Général → VPN et gestion de l'appareil → VPN
Un VPN ou tunnel actif non demandé par l'utilisateur peut router tout le trafic vers un serveur tiers.
2B.4 — MVT — Mobile Verification Toolkit (iOS)
MVT est pleinement fonctionnel sur iOS via l'analyse de sauvegarde iTunes. C'est la méthode de référence pour détecter Pegasus et spywares d'État.
# Installer MVT
pip install mvt
# Télécharger les indicateurs de compromission (IOC)
wget https://raw.githubusercontent.com/mvt-project/mvt/main/indicators/indicators.stix2
# 1. Faire une sauvegarde iTunes NON CHIFFRÉE sur le laptop
# 2. Analyser la sauvegarde :
mvt-ios check-backup \
--iocs indicators.stix2 \
--output ./rapport_mvt_ios/ \
/chemin/vers/sauvegarde/
# Lire les résultats
cat ./rapport_mvt_ios/detected.json
detected.json vide = aucun indicateur connu détecté. Ce résultat ne garantit pas l'absence totale de compromission (IOC inconnus), mais écarte les menaces répertoriées.📋 Matrice de décision — quel outil pour quel cas
| Situation | Outil recommandé | Pourquoi |
|---|---|---|
| Android 12–15, messageries suspectes | AvillaForensics | Seul outil capable d'extraire et déchiffrer WhatsApp/Telegram/Signal sans root |
| Android 16 ou MVT check-adb échoue | AndroidQF + MVT check-androidqf | Contourne le bug “Device is busy” de MVT 2.7.0 |
| Android 12–15, analyse système | ADB (manuel) | Accès direct aux packages, processus, SELinux, propriétés système |
| iOS, suspicion spyware d'État | MVT check-backup | Référence Amnesty International, base IOC Pegasus incluse |
| App suspecte avec trafic réseau | mitmproxy | Visualisation en temps réel des connexions sortantes |
| APK suspect à analyser | ADB pull + VirusTotal / MobSF | Extraction de l'APK puis analyse statique multi-moteurs |
🛠 Étape 3 — Rémédiation
Aucune menace détectée
- Renforcement des paramètres de sécurité (fait étape 2)
- 2FA activé sur tous les comptes sensibles
- Installer Malwarebytes Mobile (gratuit, bon ratio signal/bruit)
- Sensibilisation au phishing mobile et aux demandes d'installation d'apps tierces
Application malveillante détectée (Android)
# Désinstallation forcée via ADB
adb shell pm uninstall --user 0 com.nom.app.malveillante
Compromission profonde confirmée
Accord écrit obligatoire
Réinitialisation usine uniquement après accord écrit du client (case prévue dans le rapport de remise). Ne jamais agir seul sur cette décision.
Sauvegarde sélective avant réinitialisation
Sauvegarder uniquement les photos, contacts et documents. Ne jamais sauvegarder les apps ou les paramètres système (ils contiendraient la compromission).
Réinitialisation & restauration sélective
Réinitialisation usine complète → reconfiguration from scratch → restaurer uniquement les données brutes (pas les sauvegardes système post-infection).
Réinitialisation des MDP & 2FA
Changer tous les mots de passe depuis un appareil sain. Révoquer et recréer les tokens 2FA (TOTP). Vérifier les clés de session actives sur chaque compte.
✅ Bonnes pratiques préventives
Niveau système
- 📱 Maintenir le système à jour — les spywares exploitent les vulnérabilités connues (Android et iOS)
- 🔒 Activer le chiffrement complet du stockage (activé par défaut sur les appareils modernes)
- 🔐 Utiliser un code PIN de 6+ chiffres ou une phrase de passe (pas les schémas)
- 📵 Désactiver l'installation d'apps hors store officiel
- 📴 Ne jamais laisser le débogage USB activé en dehors d'une intervention
Niveau applicatif
- 🧠 Auditer les permissions de chaque app installée (révoquer ce qui n'est pas nécessaire)
- 🚫 Refuser systématiquement les demandes d'accès à l'Accessibilité sauf usage légitime connu
- 📥 Ne jamais installer un APK reçu par email, SMS ou lien externe
- 📲 Utiliser des messageries chiffrées open source (Signal) pour les communications sensibles
Niveau compte & accès
- 🔑 MDP unique par service, géré par un gestionnaire (Bitwarden, Passbolt)
- 🛡 2FA activé sur Google, Apple ID et tous les comptes à enjeu
- 📋 Audit trimestriel des appareils connectés et accès tiers sur les comptes Google / Apple
- 📶 Ne jamais se connecter à un WiFi public sans VPN pour les usages professionnels