Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-23700 — PoC para CVE-2024-23700, escalada silenciosa de privilegios en Android que permite leer/escribir contactos, SMS, calendario, registro de llamadas y buzón de voz, realizar llamadas salientes o responder llamadas entrantes, manipular la configuración de llamadas, acceder y controlar las notificaciones enviadas por otras aplicaciones, controlar dispositivos cercanos, grabar audio, acceder a los identificadores del dispositivo y eludir las restricciones de segundo plano. | Kitploit
Herramientas/GitHubGitHub/vinh0212/cve-2024-23700
Seguridad AndroidEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónSeguridad MóvilAprendizaje y EducaciónLabs y Práctica
GitHubvinh0212/cve-2024-23700

CVE-2024-23700

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Ver Repositorio
16hace 4 mesesAún no revisado

PoC para CVE-2024-23700, escalada silenciosa de privilegios en Android que permite leer/escribir contactos, SMS, calendario, registro de llamadas y buzón de voz, realizar llamadas salientes o responder llamadas entrantes, manipular la configuración de llamadas, acceder y controlar las notificaciones enviadas por otras aplicaciones, controlar dispositivos cercanos, grabar audio, acceder a los identificadores del dispositivo y eludir las restricciones de segundo plano.

Compartir

CVE-2024-23700 - PoC de escalada de privilegios en Android Companion Device

Proyecto que ilustra CVE-2024-23700, una vulnerabilidad de escalada de privilegios relacionada con el mecanismo Companion Device en Android. El PoC demuestra que una aplicación puede aprovechar el flujo de vinculación de dispositivos complementarios para obtener ciertos permisos sensibles sin pasar por la interacción de concesión de permisos habitual en entornos vulnerables.

La documentación y el código fuente de este repositorio tienen únicamente fines educativos, de análisis de seguridad y de pruebas en entornos autorizados. No lo utilice en dispositivos, cuentas o datos que no estén dentro del ámbito de pruebas legales.

Información del proyecto

Proyecto perteneciente a la asignatura: Seguridad en dispositivos móviles

Equipo responsable: Proyecto realizado por un equipo de 4 miembros.

N.ºNombre y apellidosCódigo de estudiante
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

Durante la investigación y finalización de este proyecto, el equipo realizó las siguientes tareas:

  • Estudiar el mecanismo de Companion Device Manager y el grupo de permisos concedidos a través del device profile.
  • Analizar el PoC de CVE-2024-23700 y las condiciones que hacen que un dispositivo pueda verse afectado.
  • Reconstruir la aplicación Android de muestra para simular el comportamiento de concesión de permisos, la lectura de datos sensibles y el registro de resultados en un entorno de laboratorio.
  • Añadir una interfaz de aplicación de notas, un Notification Listener y el envío de los datos recopilados a un servidor de pruebas interno para observar los datos obtenidos.

Visión general

El proyecto implementa una aplicación Android que se hace pasar por una aplicación simple de notas (My Notes). Al iniciarse, la aplicación llama a CompanionDeviceManager.associate() con un perfil de dispositivo complementario para simular el proceso de toma de control mediante CVE-2024-23700. Si el dispositivo o la ROM cumplen las condiciones de explotabilidad, la aplicación puede obtener permisos sensibles adicionales y acceder a datos como contactos, SMS, registro de llamadas, calendario, notificaciones y cierta información del dispositivo.

Flujo de funcionamiento principal del PoC:

  1. Inicializar la aplicación de notas: Muestra la interfaz de ingreso y guardado de notas para ocultar el comportamiento de prueba.
  2. Llamar a Companion Device Manager: Crea una solicitud de vinculación de dispositivo complementario con el perfil de reloj.
  3. Gestionar la association activity: El componente CompanionAssociationActivity simula la respuesta de aprobación de la vinculación del dispositivo.
  4. Verificar permisos y recopilar datos: Si los permisos son concedidos, la aplicación lee los datos de prueba de los content providers correspondientes.
  5. Registrar los resultados: Los datos se empaquetan en JSON y se envían al endpoint del laboratorio para su análisis.

Información de la CVE

Código de la vulnerabilidad: CVE-2024-23700
Nivel de gravedad en Android: Critical
Componente relacionado: Android Companion Device Manager
Parche de referencia: Android Wear Security Bulletin 2024-05-01
Commit del parche de referencia: AOSP frameworks/base patch

Según el README original del PoC, la mayoría de dispositivos Android comunes no se ven afectados, salvo algunos casos como:

  • Dispositivos WearOS con parche de seguridad anterior al 2024-05-01.
  • ROMs que hayan eliminado o dañado el componente com.android.companiondevicemanager.
  • Dispositivos con el mecanismo de verificación de firmas deshabilitado o alterado por un módulo de terceros.

Si el APK del PoC no se puede instalar en el dispositivo, puede ser una señal de que el dispositivo no cumple las condiciones de explotabilidad de esta vulnerabilidad.

Estructura de directorios

root@kitploit:~
CVE-2024-23700/
├── app/
│   ├── build.gradle - Configuración del módulo de aplicación Android
│   ├── proguard-rules.pro - Reglas de ProGuard para el módulo app
│   └── src/main/
│       ├── AndroidManifest.xml - Declaración de permisos, activities y notification listener
│       ├── java/
│       │   ├── com/android/companiondevicemanager/
│       │   │   └── CompanionAssociationActivity.java - Activity que gestiona el flujo de asociación
│       │   └── com/vsoft/mynotes/
│       │       ├── MainActivity.java - Lógica principal de la aplicación PoC
│       │       └── NotificationListener.java - Servicio de escucha de notificaciones
│       └── res/
│           ├── drawable/ - Recursos drawable de la aplicación
│           ├── drawable-v24/ - Recursos drawable para API 24+
│           ├── layout/main.xml - Interfaz de la aplicación de notas
│           ├── mipmap-*/ - Iconos de la aplicación según cada densidad de pantalla
│           └── values/ - Cadenas y tema de la aplicación
├── gradle/wrapper/ - Jar del Gradle wrapper y configuración del wrapper
├── .gitignore - Reglas de exclusión de archivos locales, salidas de compilación, logs y scripts auxiliares
├── build.gradle - Configuración de Gradle a nivel de proyecto
├── gradle.properties - Ajustes de Gradle del proyecto
├── gradlew - Script para ejecutar Gradle en Linux/macOS
├── gradlew.bat - Script para ejecutar Gradle en Windows
├── settings.gradle - Declaración del proyecto y los módulos
└── README.md

Componentes principales

Grupos de permisos probados

El manifest de la aplicación declara varios grupos de permisos para verificar el impacto de la vulnerabilidad en entornos vulnerables:

  • Companion profile: REQUEST_COMPANION_PROFILE_WATCH, REQUEST_COMPANION_PROFILE_GLASSES
  • Restricción de segundo plano: REQUEST_COMPANION_RUN_IN_BACKGROUND, REQUEST_COMPANION_USE_DATA_IN_BACKGROUND
  • Contactos: READ_CONTACTS, WRITE_CONTACTS, GET_ACCOUNTS
  • SMS: READ_SMS, SEND_SMS, RECEIVE_SMS, RECEIVE_MMS, RECEIVE_WAP_PUSH
  • Llamadas: READ_PHONE_STATE, , , ,

Formato de los datos observados

Los datos enviados al servidor del laboratorio se empaquetan en formato JSON. Los principales grupos de datos son:

  • device_info: información del dispositivo, versión de Android, nombre del dispositivo, Android ID, IP, aplicaciones instaladas, cuentas, SIM, Wi-Fi, batería, RAM y espacio libre.
  • c_cache: datos de contactos leídos en el entorno de pruebas.
  • l_cache: registro de llamadas.
  • s_cache: SMS.
  • cal_cache: eventos de calendario.
  • gps_cache: ubicación más reciente si el usuario concede el permiso de ubicación.
  • n_cache: notificaciones existentes o nuevas registradas por NotificationListener.
  • n_active: estado de actividad del notification listener.

Notas

  • Ejecute el PoC únicamente en dispositivos, cuentas y datos autorizados para pruebas.
  • Se recomienda usar datos falsos o un dispositivo de laboratorio propio para evitar la filtración de información personal.
  • El endpoint que recibe los datos en MainActivity.java debe reemplazarse por un endpoint interno controlado por el evaluador.
  • No se debe publicar el APK precompilado sin antes eliminar el endpoint, los logs y los datos de prueba sensibles.
  • En dispositivos ya parcheados, el flujo de asociación o la instalación del APK pueden fallar; este es el resultado esperado.
Descargar herramienta
ComponenteDescripciónRuta
MainActivityActivity principal, muestra la interfaz de notas, llama al flujo de asociación y recopila datos cuando tiene permisosapp/src/main/java/com/vsoft/mynotes/MainActivity.java
CompanionAssociationActivityActivity que simula la respuesta de asociación de Companion Device Managerapp/src/main/java/com/android/companiondevicemanager/CompanionAssociationActivity.java
NotificationListenerServicio que registra las notificaciones activas y las nuevas notificaciones generadasapp/src/main/java/com/vsoft/mynotes/NotificationListener.java
AndroidManifestDeclaración de permisos, features, activity aliases y el servicio notification listenerapp/src/main/AndroidManifest.xml
READ_CALL_LOG
WRITE_CALL_LOG
CALL_PHONE
ANSWER_PHONE_CALLS
  • Calendario: READ_CALENDAR, WRITE_CALENDAR
  • Notificaciones: POST_NOTIFICATIONS, RECEIVE_SENSITIVE_NOTIFICATIONS, NotificationListenerService
  • Dispositivos cercanos: BLUETOOTH_SCAN, BLUETOOTH_CONNECT, BLUETOOTH_ADVERTISE, NEARBY_WIFI_DEVICES
  • Otros: ubicación, micrófono, gestión de llamadas, identificadores de dispositivo y control de media routing