Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-23700 — Preuve de concept pour CVE-2024-23700, élévation de privilèges silencieuse sous Android permettant de lire/écrire les contacts, SMS, calendrier, journal d'appels et messagerie vocale, passer des appels sortants ou répondre aux appels entrants, manipuler les paramètres d'appel, accéder et contrôler les notifications envoyées par d'autres applications, contrôler les appareils à proximité, enregistrer l'audio, accéder aux identifiants de l'appareil et contourner la restriction d'arrière-plan. | Kitploit
Outils/GitHubGitHub/vinh0212/cve-2024-23700
Sécurité AndroidEscalade de PrivilègesAnalyse des VulnérabilitésExploitationSécurité MobileApprentissage et ÉducationLabs et Pratique
GitHubvinh0212/cve-2024-23700

CVE-2024-23700

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Voir le dépôt
16il y a 4 moisPas encore vérifié

Preuve de concept pour CVE-2024-23700, élévation de privilèges silencieuse sous Android permettant de lire/écrire les contacts, SMS, calendrier, journal d'appels et messagerie vocale, passer des appels sortants ou répondre aux appels entrants, manipuler les paramètres d'appel, accéder et contrôler les notifications envoyées par d'autres applications, contrôler les appareils à proximité, enregistrer l'audio, accéder aux identifiants de l'appareil et contourner la restriction d'arrière-plan.

Partager

CVE-2024-23700 - PoC d'élévation de privilèges Android Companion Device

Ce projet illustre CVE-2024-23700, une vulnérabilité d'élévation de privilèges liée au mécanisme Companion Device sous Android. La preuve de concept montre qu'une application peut exploiter le flux d'association d'appareil compagnon pour obtenir certaines autorisations sensibles sans passer par l'interaction d'autorisation habituelle dans les environnements vulnérables.

La documentation et le code source de ce dépôt sont uniquement destinés à des fins d'apprentissage, d'analyse de sécurité et de tests dans un environnement autorisé. Ne pas les utiliser sur des appareils, comptes ou données ne faisant pas partie d'un test légitime.

Informations sur le projet

Matière du projet: Sécurité sur les appareils mobiles

Équipe de réalisation: Projet réalisé par une équipe de 4 membres.

N°Nom et prénomCode étudiant
1Đặng Quang VinhD54.B10.AT.024
2Nguyễn Khắc Hoàng AnhD54.B10.AT.05
3Trần Văn TiếnD54.B10.AT.020
4Nguyễn Xuân TùngD54.B10.AT.023

Au cours de la recherche et de la finalisation de ce projet, l'équipe a effectué les tâches suivantes:

  • Comprendre le mécanisme de Companion Device Manager et les groupes d'autorisations accordés via le profil d'appareil.
  • Analyser la preuve de concept CVE-2024-23700 et les conditions rendant l'appareil potentiellement vulnérable.
  • Reconstruire une application Android exemple pour simuler l'attribution d'autorisations, lire les données sensibles et enregistrer les résultats dans un environnement de laboratoire.
  • Ajouter une interface d'application de notes, un écouteur de notifications (Notification Listener) et envoyer les données collectées à un serveur de test interne pour observer les données obtenues.

Aperçu général

Le projet déploie une application Android se faisant passer pour une simple application de notes (My Notes). Au démarrage, l'application appelle CompanionDeviceManager.associate() avec un profil d'appareil compagnon pour simuler le processus de prise de contrôle via CVE-2024-23700. Si l'appareil ou le ROM répond aux conditions de vulnérabilité, l'application peut obtenir des autorisations sensibles supplémentaires et accéder à des données telles que les contacts, SMS, journal d'appels, calendrier, notifications et certaines informations sur l'appareil.

Flux de fonctionnement principal de la preuve de concept:

  1. Initialisation de l'application de notes : Affiche une interface de saisie et de sauvegarde de notes pour dissimuler le comportement de test.
  2. Appel au Companion Device Manager : Crée une demande d'association d'appareil compagnon avec un profil de montre.
  3. Traitement de l'activité d'association : Le composant CompanionAssociationActivity simule la réponse d'approbation de l'association.
  4. Vérification des autorisations et collecte de données : Si les autorisations sont accordées, l'application lit les données de test à partir des fournisseurs de contenu correspondants.
  5. Enregistrement des résultats : Les données sont emballées en JSON et envoyées à un point de terminaison de laboratoire pour analyse.

Informations sur la CVE

Code de la vulnérabilité : CVE-2024-23700
Gravité Android : Critique
Composant concerné : Android Companion Device Manager
Correctif de référence : Android Wear Security Bulletin 2024-05-01
Commit de correctif de référence : AOSP frameworks/base patch

Selon le README original de la preuve de concept, la plupart des appareils Android classiques ne sont pas affectés, à l'exception de certains cas tels que :

  • Appareils WearOS avec un correctif de sécurité antérieur au 2024-05-01.
  • ROM qui a supprimé ou endommagé le composant com.android.companiondevicemanager.
  • Appareils dont le mécanisme de vérification de signature est désactivé ou modifié par un module tiers.

Si l'APK de la preuve de concept ne peut pas être installé sur l'appareil, cela peut être un signe que l'appareil ne remplit pas les conditions de vulnérabilité de cette faille.

Structure des répertoires

root@kitploit:~
CVE-2024-23700/
├── app/
│   ├── build.gradle - Configuration du module d'application Android
│   ├── proguard-rules.pro - Règles ProGuard pour le module app
│   └── src/main/
│       ├── AndroidManifest.xml - Déclaration des autorisations, activités et écouteur de notifications
│       ├── java/
│       │   ├── com/android/companiondevicemanager/
│       │   │   └── CompanionAssociationActivity.java - Activité gérant le flux d'association
│       │   └── com/vsoft/mynotes/
│       │       ├── MainActivity.java - Logique principale de l'application de preuve de concept
│       │       └── NotificationListener.java - Service d'écoute des notifications
│       └── res/
│           ├── drawable/ - Ressources drawable de l'application
│           ├── drawable-v24/ - Ressources drawable pour API 24+
│           ├── layout/main.xml - Interface de l'application de notes
│           ├── mipmap-*/ - Icônes de l'application selon la densité d'écran
│           └── values/ - Chaînes et thème de l'application
├── gradle/wrapper/ - Jar du wrapper Gradle et configuration du wrapper
├── .gitignore - Règles d'exclusion des fichiers locaux, sorties de build, logs et scripts auxiliaires
├── build.gradle - Configuration Gradle au niveau du projet
├── gradle.properties - Paramètres Gradle du projet
├── gradlew - Script pour exécuter Gradle sur Linux/macOS
├── gradlew.bat - Script pour exécuter Gradle sur Windows
├── settings.gradle - Déclaration du projet et des modules
└── README.md

Composants principaux

Groupes d'autorisations testés

Le manifeste de l'application déclare plusieurs groupes d'autorisations pour vérifier l'impact de la vulnérabilité dans un environnement vulnérable :

  • Profil compagnon: REQUEST_COMPANION_PROFILE_WATCH, REQUEST_COMPANION_PROFILE_GLASSES
  • Restriction d'arrière-plan: REQUEST_COMPANION_RUN_IN_BACKGROUND, REQUEST_COMPANION_USE_DATA_IN_BACKGROUND
  • Contacts: READ_CONTACTS, WRITE_CONTACTS, GET_ACCOUNTS
  • SMS: READ_SMS, SEND_SMS, RECEIVE_SMS, RECEIVE_MMS, RECEIVE_WAP_PUSH
  • Appels: READ_PHONE_STATE, , , ,

Format des données observées

Les données envoyées au serveur de laboratoire sont emballées au format JSON. Les principaux groupes de données sont les suivants :

  • device_info: informations sur l'appareil, version Android, nom de l'appareil, Android ID, IP, applications installées, comptes, SIM, Wi-Fi, batterie, RAM et espace libre.
  • c_cache: données de contacts lues dans l'environnement de test.
  • l_cache: journal des appels.
  • s_cache: SMS.
  • cal_cache: événements du calendrier.
  • gps_cache: dernière position si l'utilisateur accorde l'autorisation de localisation.
  • n_cache: notifications existantes ou nouvelles notifications enregistrées par NotificationListener.
  • n_active: état d'activité de l'écouteur de notifications.

Remarques

  1. Exécutez la preuve de concept uniquement sur des appareils, comptes et données autorisés pour les tests.
  2. Utilisez de préférence des données fictives ou un appareil de laboratoire dédié pour éviter les fuites d'informations personnelles.
  3. Le point de terminaison de réception des données dans MainActivity.java doit être remplacé par un point de terminaison interne contrôlé par le testeur.
  4. Ne rendez pas public l'APK pré-construit si vous n'avez pas supprimé le point de terminaison, les journaux et les données de test sensibles.
  5. Sur un appareil déjà corrigé, le flux d'association ou l'installation de l'APK peut échouer ; c'est le résultat attendu.
Télécharger l’outil
ComposantDescriptionChemin
MainActivityActivité principale, affichant l'interface de notes, appelant le flux d'association et collectant les données lorsqu'autoriséapp/src/main/java/com/vsoft/mynotes/MainActivity.java
CompanionAssociationActivityActivité simulant la réponse d'association du Companion Device Managerapp/src/main/java/com/android/companiondevicemanager/CompanionAssociationActivity.java
NotificationListenerService enregistrant les notifications actives et les nouvelles notificationsapp/src/main/java/com/vsoft/mynotes/NotificationListener.java
AndroidManifestDéclaration des autorisations, fonctionnalités, alias d'activité et service d'écoute de notificationsapp/src/main/AndroidManifest.xml
READ_CALL_LOG
WRITE_CALL_LOG
CALL_PHONE
ANSWER_PHONE_CALLS
  • Calendrier: READ_CALENDAR, WRITE_CALENDAR
  • Notifications: POST_NOTIFICATIONS, RECEIVE_SENSITIVE_NOTIFICATIONS, NotificationListenerService
  • Périphériques à proximité: BLUETOOTH_SCAN, BLUETOOTH_CONNECT, BLUETOOTH_ADVERTISE, NEARBY_WIFI_DEVICES
  • Autres: localisation, microphone, gestion des appels, identifiants d'appareil et contrôle du routage multimédia