Formation TI Android

Vous souhaitez développer vos compétences dans le domaine du test d'intrusion mobile Android ? Bénéficiez de l'expertise technique de notre équipe à travers une formation combinant théorie et exercices pratiques. Découvrez les vulnérabilités spécifiques aux applications de cette plateforme, maitrisez la méthodologie d'audit et appliquez immédiatement vos nouvelles compétences dans des scénarios du monde réel.

Professeur devant un tableau blanc

Détails de la formation

Objectifs

  • Connaitre la structure d'une application Android pour identifier la surface d'attaque et les fonctionnalités vulnérables
  • Maitriser l'utilisation des outils d'analyse dynamique
  • Etre capable de détecter des vulnérabilités de manière statique et dynamique

Pré-requis

  • Maitrise de l'utilisation d'un terminal de commandes Linux
  • Connaissances de base en sécurité
  • Notions de développement

Public visé

  • Consultants en cybersécurité
  • Développeurs

Ressources

  • Supports de cours au format PDF en français
  • Supports de TP en français
  • Correction des TP au format PDF en français

Prix et conditions

  • 2500€/personnes
  • 3 jours de formation (21h)
  • Planification de session à la demande
  • Entre 2 et 5 personnes

Jour 1

Formation théorique

Le système d'exploitation Android
  • Découvrir l'architecture et le fonctionnement
  • Etudier les mécanismes de défense en profondeur
  • Mettre en place un environnement de tests
    • Emulateur
    • Périphérique physique rooté et non rooté
    • Android Open Source Project (AOSP)
  • Intéragir avec un périphérique (adb, SSH)
Manipulation d'APK et fichiers
  • Connaître les formats de fichiers communs
  • Analyser le contenu d'un binaire APK
  • Savoir où sont stockés les fichiers internes d'une application (sandbox)
  • Récupérer le code source d'une application depuis l'APK
  • Modifier et signer un APK
Types d'applications et méthodologie de tests
  • Connaître les différents types d'applications (Hybrides, Cross-plateformes, Natives)
  • Découvrir et utiliser les outils d'instrumentation dynamique (Frida, Objection)
  • Connaître la méthodologie de tests et l'état de l'art (MSTG, MASVS)
Analyser les communications réseau
  • Améliorer son environnement de tests pour intercepter le trafic réseau
  • Mettre en place un proxy et connaître les limitations en fonction des versions d'Android
  • Comprendre le mécanisme de SSL Pinning et savoir le contourner

Travaux pratiques

Le système d'exploitation Android
  • Utiliser un émulateur Android (AVD)
  • Etre capable de naviguer dans le sytème de fichiers d'un périphérique Android pour retrouver différents types d'informations
    • Applications système/utilisateur installées
    • Noms de package
    • Permissions
    • Domaine SELinux
    • Magasin de certificat racine
    • etc.
Manipulation d'APK et fichiers
  • Lister les fichiers internes d'une application (sandbox)
  • Visualiser le code source d'une application avec JADX
  • Décompiler, signer et recompiler une application
Types d'applications et méthodologie de tests
  • Mettre en place Frida sur un périphérique de tests
  • Enumérer les classes chargées par une application
  • Installer et utiliser Objection pour lister les fichiers internes d'une application (sandbox)
Analyser les communications réseau
  • Installer le certificat Burp sur un périphérique rooté et non rooté
  • Intercepter le trafic d'une application
  • Contourner le SSL Pinning

Jour 2

Formation théorique

Présentation des catégories de vulnérabilités
  • Stockage local
  • Exposition de données sensibles
  • Authentification locale et gestion des sessions
  • Communication réseau
  • Faiblesses cryptographiques
  • Interaction avec la plateforme Android
  • Qualité du code et paramètres de compilation
  • Robustesse des mécanismes anti-rétroingéniérie
Stockage local
  • Etudier les mécanismes de stockage local et les vulnérabilités associées
    • Préférences partagées
    • Base de données
    • Fichiers (temporaires)
    • Stockage interne et externe
  • Comprendre le fonctionnement du KeyStore et les vulnérabilités associées
Structure d'une application
  • Connaître les composants intervenant dans le fonctionnement d'une application (Activités, Providers, Receivers, Services)
  • Manipuler le fichier AndroidManifest.xml
  • Etudier les permissions (builtin ou custom)
  • Maitriser le fonctionnement des Intents et leur cas d'utilisation (explicites, implicites, filtres)
  • Savoir reconnaitre l'utilisation des deeplinks et applinks

Travaux pratiques

Stockage local
  • Exploiter dynamiquement les faiblesses liées à des erreurs d'implémentation pour chaque technique de stockage
  • Retrouver de manière statique toutes ces vulnérabilités et proposer des recommandations pour les corriger
Structure d'une application
  • Analyser plusieurs fichiers AndroidManifest.xml pour comprendre la structure d'une application et récupérer les informations nécessaires à la réalisation d'un test d'intrusion
  • Mettre à l'épreuve ses acquis pour trouver le maximum de vulnérabilités dans un fichier AndroidManifest.xml spécifiquement conçu
Exposition de données sensibles
  • Connaître les fonctionnalités pouvant conduire à l'exposition involontaire de données sensibles
    • Mécanisme de sauvegarde
    • Logs et journalisation
    • Presse papier
    • etc.
  • Exploiter dynamiquement les faiblesses liées à des erreurs d'implémentation au sein de chaque fonctionnalité
  • Retrouver de manière statique toutes ces vulnérabilités et proposer des recommandations pour les corriger

Jour 3

Formation théorique

Interaction avec la plateforme Android
  • Communication inter-processus
  • Mécanismes d'IPC associés
  • Composants exportés
    • Contrôle d'accès
  • Mauvaise utilisation des Intents
    • Interception
    • Redirection (accès à des composants protégés)
    • Pending Intent
    • etc.
  • Deeplinks et applinks
    • Erreur de configuration d'un applink
    • Contrôle d'accès
    • Validation des entrées utilisateur
    • etc.
Webview
  • Utilisation du composant Webview et vulnérabilités associées

Travaux pratiques

Authentification locale
  • Contourner un mécanisme d'authentification locale à l'aide de Frida ou Objection
Interaction avec la plateforme Android
  • Accéder à une activité protégée par un code PIN
  • Exploiter un service d'enregistrement audio vulnérable pour enregistrer l'utilisateur à son insu
  • Exploiter un provider vulnérable pour récupérer le contenu d'une base de données
  • Intercepter un Intent pour récupérer son contenu
  • Exploiter un deeplink vulnérable pour accéder à des informations sensibles
Webview
  • Injection de code côté client (XSS)
  • Redirection malveillante
  • Récupération de fichiers locaux
  • Configuration trop permissive

Cette formation vous intéresse ?

Contactez-nous ou consultez nos autres formations