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
android-hardware-attestation-demo — An Android HW Attestation demo | Kitploit
Ferramentas/GitHubGitHub/quarkslab/android-hardware-attestation-demo
Android SecurityAuthentication & AuthorizationMobile App PentestingMobile SecurityHardware SecurityLearning & Education
GitHubquarkslab/android-hardware-attestation-demo

android-hardware-attestation-demo

An Android HW Attestation demo

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
Ver Repositório
395há 16 diasAinda não revisado

Bypass de atestação de hardware Android — demo

Este repositório acompanha um artigo da Quarkslab sobre atestação de chave de hardware do Android e existe para ilustrá-lo.

É uma prova de conceito pequena e de ponta a ponta que mostra um bypass simples: um analista em um telefone com root contorna a verificação de atestação de hardware de um backend ao retransmitir a atestação para um segundo dispositivo limpo. Nada é forjado. Uma cadeia de atestação genuína, produzida por um dispositivo não modificado e vinculada ao nonce do próprio backend, é encaminhada no lugar da cadeia rejeitada do dispositivo com root.

Escopo e ética. Este é um material educacional para pesquisa em segurança. Ele usa HTTP simples e desativa verificações de segurança de propósito (marcadores "demo only" em todo o material). Execute-o contra seus próprios dispositivos e seu próprio backend, em uma rede local de confiança.

Como o bypass funciona

A atestação do Keystore de um dispositivo com root informa um bootloader desbloqueado, então o backend a rejeita. Em vez de atacar a criptografia, o analista intercepta a chamada de atestação do próprio aplicativo e insere, no lugar, uma cadeia obtida ao vivo de um dispositivo limpo para o mesmo desafio.

O hook substitui KeystoreAttestation.generateAttestedKey(challenge) no aplicativo demo e nunca chama o Keystore local, portanto a cadeia do dispositivo com root nunca é gerada. A cadeia retransmitida é genuína e passa nas verificações de boot verificado e com respaldo de hardware do backend.

Componentes

Cada componente tem seu próprio README com todos os detalhes; este arquivo os reúne.

Pré-requisitos

  • Dois dispositivos físicos. A atestação exige hardware real; emuladores retornam uma cadeia suportada por software que o backend rejeita.
    • Um dispositivo de "análise" com root executando frida-server 17.16.4, com o aplicativo demo instalado.
    • Um dispositivo limpo e não modificado com o aplicativo servidor de atestação instalado (bootloader bloqueado, StrongBox ou TEE).
  • Uma máquina na mesma rede para o backend (Python 3, dependências em backend/requirements.txt).
  • Um JDK 17-21 para compilar os dois aplicativos Android, seja pelo Android Studio ou pela linha de comando com o wrapper do Gradle (./gradlew assembleDebug).
  • Node 20 ou 22 LTS na estação de trabalho somente se você recompilar o agente Frida. O agente compilado (instrumentation/_agent.js) está versionado, portanto uma recompilação é opcional.
  • Todos os três (dispositivos e backend) devem conseguir se comunicar entre si pela rede.

Execução de ponta a ponta

Coloque os componentes em funcionamento nesta ordem.

  1. Backend. Em uma máquina alcançável por ambos os dispositivos:

    root@kitploit:~
    cd backend
    pip install -r requirements.txt
    python3 attestation_backend.py      # listens on 0.0.0.0:8080
    
  2. Dispositivo limpo. Compile e instale o aplicativo servidor de atestação, abra-o, toque em START SERVER e anote a URL que ele exibe, ex.: http://192.168.1.42:8080.

  3. Dispositivo com root. Inicie o frida-server, compile e instale o aplicativo demo, abra-o e insira o endereço do backend (host:port).

    Ambos os aplicativos são compilados pelo Android Studio ou pela linha de comando com o wrapper do Gradle (./gradlew assembleDebug, JDK 17-21); consulte o README de cada aplicativo para os detalhes.

  4. Retransmissão. Na estação de trabalho:

    root@kitploit:~
    cd instrumentation
    python3 control.py --host <clean-device-ip> --port 8080
    

    O controlador inicia o aplicativo demo, instala o hook e então o retoma.

  5. Disparo. Toque em RUN ATTESTATION no aplicativo demo. O backend retorna valid: a cadeia retransmitida informa um bootloader bloqueado.

  6. Controle negativo. Pare o control.py e toque em novamente. O aplicativo demo agora envia a própria cadeia do dispositivo com root e o backend a rejeita. Esta é a verificação que a retransmissão contorna.

Recompilando o agente (somente se você alterar o agent/agent.ts):

root@kitploit:~
cd instrumentation
nvm use          # Node 22 from .nvmrc
npm install
npm run build    # regenerates _agent.js

Estrutura do repositório

root@kitploit:~
apps/
  QuarkslabAttestationDemo/     target client app (Android Studio project)
  QuarkslabAttestationServer/   clean-device attestation oracle (Android Studio project)
instrumentation/                Frida agent + relay controller
backend/                        Python attestation validator
LICENSE                         MIT

Licença e atribuição

Copyright 2026 Quarkslab. Licenciado sob a Licença MIT. Consulte LICENSE.

Este repositório ilustra um artigo da Quarkslab.

Baixar ferramenta
ComponenteCaminhoFunçãoExecuta em
Cliente demoapps/QuarkslabAttestationDemo/Aplicativo alvo. Solicita um nonce, atesta e envia a cadeia ao backend. Recebe hook via Frida.Dispositivo de análise com root
Servidor de atestaçãoapps/QuarkslabAttestationServer/Oráculo de atestação. Produz uma cadeia genuína para um determinado nonce. Não valida nada.Dispositivo limpo e não modificado
Instrumentaçãoinstrumentation/Agente Frida (o hook) mais o controlador que retransmite o nonce ao dispositivo limpo.Estação de trabalho do analista + dispositivo com root
Backendbackend/Parte confiante. Emite nonces e valida cadeias de atestação.Qualquer máquina alcançável pelos dispositivos
RUN ATTESTATION