GiGaRuN Solutions
Vos métiers, nos solutions Excellence IT - La Réunion
+262 692 31 11 91
← Retour à l'accueil des guides

🔍 Audit Mobile Forensique

Détecter un spyware, stalkerware ou accès non autorisé sur Android et iOS

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.

80%des compromissions mobiles passent inaperçues plus de 6 mois
3 vecteursApp malveillante, lien piégé, accès physique non autorisé
Profil MDMSignal le plus critique sur iOS — contrôle total de l'appareil
TerrainAudit réalisable sans root ni matériel spécialisé
Cadre légal : Un audit mobile ne peut être réalisé que sur un appareil dont vous êtes propriétaire ou avec le consentement écrit du propriétaire. Une décharge signée est obligatoire avant toute intervention.

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 Tools
📲

AvillaForensics

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 Windows
📦

AndroidQF — 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.

Android 12+ Gratuit
Android 16 : MVT 2.7.0 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 Source
🌐

mitmproxy

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
Limite Android 7+ : la plupart des apps refusent le certificat mitmproxy (Network Security Config). Seul le navigateur et les apps non protégées sont visibles.

⚡ Coupure d'urgence — à faire en 2 minutes avant tout

🚨
Tant que l'attaquant a accès au compte Google ou Apple ID, il peut voir la localisation en temps réel, lire les sauvegardes iCloud, et être alerté de votre intervention. Ces coupures priment sur tout le reste.

📱 Google Account

1

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”.

2

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.

3

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

1

Retirer les appareils inconnus

appleid.apple.comAppareils → pour chaque appareil inconnu : cliquer → “Supprimer de votre compte”. L'appareil perd immédiatement accès à iCloud et à Find My.

2

Couper le partage de localisation (Find My)

Sur l'iPhone : Réglages → [Nom] → LocalisationPartager ma position → désactiver OU vérifier la liste des personnes autorisées → supprimer toute entrée inconnue.

3

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.

4

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).

5

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.

Une fois ces coupures effectuées, l'attaquant est aveugle : plus de localisation, plus d'accès aux sauvegardes. Vous pouvez procéder à l'audit du téléphone sereinement.

Ordre d'intervention terrain

ARRIVÉE

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é
Priorité absolue : si le compte Google ou Apple ID est compromis, l'attaquant peut surveiller via Find My ou Google Account — couper ces accès avant même le scan du téléphone.

📧 Étape 1 — Audit du compte Google

1

Sessions actives

accounts.google.com → Sécurité → Vos appareils
Appareils inconnus, villes étrangères → action : « Déconnecter tous les autres appareils »

2

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.

3

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 ».

4

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

PermissionRisqueNiveau
AccessibilitéKeylogger, contrôle total de l'écranCRITIQUE
Administrateur de l'appareilImpossible à désinstaller normalementCRITIQUE
Superposition d'écranPhishing visuel, capture de mots de passeCRITIQUE
SMSInterception des codes 2FAELEVÉ
Microphone en arrière-planEspionnage audio permanentELEVÉ
Camera en arrière-planSurveillance vidéoELEVÉ
Localisation permanenteTracking GPS en temps réelELEVÉ
Contacts + AgendaExfiltration de réseau professionnelMODÉ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.

🚨
Si une app inconnue est administrateur : ne pas tenter de la désinstaller directement — elle est protégée. Désactiver d'abord ses droits admin dans ce menu, puis procéder à la désinstallation.

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.

1

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).

2

Lancement

Exécuter AvillaForensics.exe → sélectionner le device détecté → choisir l'application cible → lancer l'extraction.

3

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.

Compatible Android 12–15. Pas de root requis. Pas de traces sur l'appareil après restauration APK.

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

Limite Android 7+ : la plupart des apps refusent le certificat mitmproxy (Network Security Config). Seul le navigateur et les apps sans épinglage de certificat sont visibles. Utile si une app suspecte est moins protégée.
# 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)

🚨
RED FLAG absolu : un profil MDM inconnu donne un contrôle total sur l'appareil : installation d'apps, accès au trafic réseau, lecture des emails. C'est le vecteur utilisé par les spywares commerciaux (Pegasus via MDM).

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

SituationOutil 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
Si l'app est administrateur d'appareil : aller d'abord dans Paramètres → Sécurité → Administrateurs → désactiver l'app, puis procéder à la désinstallation.

Compromission profonde confirmée

1

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.

2

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).

3

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).

4

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

🛡
La prévention coûte 10x moins qu'une rémédiation. Ces règles réduisent drastiquement la surface d'attaque.

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