Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2024-23700 — PoC para CVE-2024-23700, escalonamento de privilégio silencioso no Android que permite ler/escrever contatos, SMS, calendário, registro de chamadas e correio de voz, fazer chamadas de saída ou atender chamadas de entrada, manipular configurações de chamadas, acessar e controlar notificações enviadas por outros aplicativos, controlar dispositivos próximos, gravar áudio, acessar identificadores de dispositivo e contornar restrição de segundo plano | Kitploit
Ferramentas/GitHubGitHub/vinh0212/cve-2024-23700
Segurança AndroidEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoSegurança MóvelAprendizado e EducaçãoLabs e Prática
GitHubvinh0212/cve-2024-23700

CVE-2024-23700

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

Ver Repositório
16há 4 mesesAinda não revisado

PoC para CVE-2024-23700, escalonamento de privilégio silencioso no Android que permite ler/escrever contatos, SMS, calendário, registro de chamadas e correio de voz, fazer chamadas de saída ou atender chamadas de entrada, manipular configurações de chamadas, acessar e controlar notificações enviadas por outros aplicativos, controlar dispositivos próximos, gravar áudio, acessar identificadores de dispositivo e contornar restrição de segundo plano

Compartilhar

CVE-2024-23700 - PoC de escalada de privilégios do Android Companion Device

Projeto que ilustra o CVE-2024-23700, uma vulnerabilidade de escalada de privilégios relacionada ao mecanismo Companion Device no Android. O PoC demonstra que um aplicativo pode explorar o fluxo de associação de dispositivo companheiro para obter permissões sensíveis sem passar pela interação de concessão de permissões usual em ambientes vulneráveis.

A documentação e o código-fonte neste repositório têm fins exclusivamente educacionais, de análise de segurança e de teste em ambientes autorizados. Não utilize em dispositivos, contas ou dados que não estejam no escopo de testes legítimos.

Informações sobre o projeto

Disciplina: Segurança em Dispositivos Móveis

Equipe: Projeto realizado por uma equipe de 4 membros.

NºNome completoCódigo do aluno
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 a pesquisa e conclusão deste projeto, a equipe realizou as seguintes tarefas:

  • Compreender o mecanismo do Companion Device Manager e os grupos de permissões concedidos por meio do perfil de dispositivo.
  • Analisar o PoC CVE-2024-23700 e as condições que tornam o dispositivo vulnerável.
  • Reconstruir o aplicativo Android de exemplo para simular o comportamento de concessão de permissões, ler dados sensíveis e registrar resultados em ambiente de laboratório.
  • Adicionar interface de aplicativo de notas, Notification Listener e envio de dados coletados para servidor de testes interno para observação dos dados obtidos.

Visão geral

O projeto implementa um aplicativo Android disfarçado de aplicativo simples de anotações (My Notes). Ao ser iniciado, o aplicativo chama CompanionDeviceManager.associate() com o perfil de dispositivo companheiro para simular o processo de obtenção de privilégios por meio do CVE-2024-23700. Se o dispositivo ou ROM atender às condições de exploração, o aplicativo pode obter permissões sensíveis e acessar dados como contatos, SMS, registro de chamadas, calendário, notificações e algumas informações do dispositivo.

Fluxo principal de operação do PoC:

  1. Inicializar aplicativo de notas: Exibir interface de entrada e salvamento de anotações para ocultar o comportamento de teste.
  2. Chamar Companion Device Manager: Criar solicitação de associação de dispositivo companheiro com o perfil de relógio.
  3. Processar activity de associação: O componente CompanionAssociationActivity simula a resposta de aprovação da associação do dispositivo.
  4. Verificar permissões e coletar dados: Se as permissões forem concedidas, o aplicativo lê dados de teste dos provedores de conteúdo correspondentes.
  5. Registrar resultados: Os dados são empacotados em JSON e enviados para o endpoint do laboratório para análise.

Informações do CVE

Código da vulnerabilidade: CVE-2024-23700
Severidade Android: Crítica
Componente relacionado: Android Companion Device Manager
Patch de referência: Android Wear Security Bulletin 2024-05-01
Commit do patch de referência: AOSP frameworks/base patch

De acordo com o README original do PoC, a maioria dos dispositivos Android comuns não é afetada, exceto alguns casos como:

  • Dispositivos WearOS com patch de segurança anterior a 2024-05-01.
  • ROMs que removeram ou corromperam o componente com.android.companiondevicemanager.
  • Dispositivos com verificação de assinatura desabilitada ou alterada por módulo de terceiros.

Se o APK do PoC não puder ser instalado no dispositivo, isso pode ser um sinal de que o dispositivo não atende às condições de vulnerabilidade para esta falha.

Estrutura de diretórios

root@kitploit:~
CVE-2024-23700/
├── app/
│   ├── build.gradle - Configuração do módulo do aplicativo Android
│   ├── proguard-rules.pro - Regras ProGuard para o módulo app
│   └── src/main/
│       ├── AndroidManifest.xml - Declaração de permissões, activities e notification listener
│       ├── java/
│       │   ├── com/android/companiondevicemanager/
│       │   │   └── CompanionAssociationActivity.java - Activity que processa o fluxo de associação
│       │   └── com/vsoft/mynotes/
│       │       ├── MainActivity.java - Lógica principal do aplicativo PoC
│       │       └── NotificationListener.java - Serviço de escuta de notificações
│       └── res/
│           ├── drawable/ - Recursos drawable do aplicativo
│           ├── drawable-v24/ - Recursos drawable para API 24+
│           ├── layout/main.xml - Interface do aplicativo de notas
│           ├── mipmap-*/ - Ícones do aplicativo por densidade de tela
│           └── values/ - Strings e tema do aplicativo
├── gradle/wrapper/ - Gradle wrapper jar e configuração do wrapper
├── .gitignore - Regras de exclusão de arquivos locais, saída de build, logs e scripts auxiliares
├── build.gradle - Configuração do Gradle em nível de projeto
├── gradle.properties - Configurações do Gradle do projeto
├── gradlew - Script para executar Gradle no Linux/macOS
├── gradlew.bat - Script para executar Gradle no Windows
├── settings.gradle - Declaração de projeto e módulo
└── README.md

Componentes principais

Grupos de permissões testadas

O manifesto do aplicativo declara vários grupos de permissões para verificar o impacto da vulnerabilidade em ambientes vulneráveis:

  • Perfil de companheiro: REQUEST_COMPANION_PROFILE_WATCH, REQUEST_COMPANION_PROFILE_GLASSES
  • Restrição de segundo plano: REQUEST_COMPANION_RUN_IN_BACKGROUND, REQUEST_COMPANION_USE_DATA_IN_BACKGROUND
  • Contatos: READ_CONTACTS, WRITE_CONTACTS, GET_ACCOUNTS
  • SMS: READ_SMS, SEND_SMS, RECEIVE_SMS, RECEIVE_MMS, RECEIVE_WAP_PUSH
  • Chamadas: READ_PHONE_STATE, , , ,

Formato dos dados observados

Os dados enviados ao servidor do laboratório são empacotados em JSON. Os principais grupos de dados incluem:

  • device_info: informações do dispositivo, versão do Android, nome do dispositivo, Android ID, IP, aplicativos instalados, contas, SIM, Wi-Fi, bateria, RAM e espaço livre.
  • c_cache: dados de contatos lidos no ambiente de teste.
  • l_cache: registro de chamadas.
  • s_cache: SMS.
  • cal_cache: eventos do calendário.
  • gps_cache: última localização, se o usuário concedeu permissão de localização.
  • n_cache: notificações existentes ou novas registradas pelo NotificationListener.
  • n_active: status de atividade do notification listener.

Notas

  • Execute o PoC apenas em dispositivos, contas e dados autorizados para teste.
  • Use dados falsos ou dispositivos de laboratório separados para evitar vazamento de informações pessoais.
  • O endpoint de recebimento de dados em MainActivity.java deve ser substituído por um endpoint interno controlado pelo testador.
  • Não publique o APK compilado sem remover o endpoint, logs e dados de teste sensíveis.
  • Em dispositivos corrigidos, o fluxo de associação ou a instalação do APK pode falhar; isso é um resultado esperado.
Baixar ferramenta
ComponenteDescriçãoCaminho
MainActivityActivity principal, exibe interface de notas, inicia o fluxo de associação e coleta dados quando possui permissõesapp/src/main/java/com/vsoft/mynotes/MainActivity.java
CompanionAssociationActivityActivity que simula a resposta de associação do Companion Device Managerapp/src/main/java/com/android/companiondevicemanager/CompanionAssociationActivity.java
NotificationListenerServiço que registra notificações ativas e novas notificaçõesapp/src/main/java/com/vsoft/mynotes/NotificationListener.java
AndroidManifestDeclara permissões, features, activity alias e serviço de notification listenerapp/src/main/AndroidManifest.xml
READ_CALL_LOG
WRITE_CALL_LOG
CALL_PHONE
ANSWER_PHONE_CALLS
  • Calendário: READ_CALENDAR, WRITE_CALENDAR
  • Notificações: POST_NOTIFICATIONS, RECEIVE_SENSITIVE_NOTIFICATIONS, NotificationListenerService
  • Dispositivos próximos: BLUETOOTH_SCAN, BLUETOOTH_CONNECT, BLUETOOTH_ADVERTISE, NEARBY_WIFI_DEVICES
  • Outros: localização, microfone, gerenciamento de chamadas, identificadores de dispositivo e controle de roteamento de mídia