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
apk-mitm — 🤖 Uma aplicação CLI que prepara automaticamente arquivos APK Android para inspeção HTTPS | Kitploit
Ferramentas/GitHubGitHub/niklashigi/apk-mitm
Segurança AndroidEngenharia ReversaSegurança WebTestes de PenetraçãoSegurança Móvel
GitHubniklashigi/apk-mitm

apk-mitm

🤖 Uma aplicação CLI que prepara automaticamente arquivos APK Android para inspeção HTTPS

Ver Repositório
5.1k431há 2 anosRevisado pelo Kitploit

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
Site

apk-mitm

Uma aplicação CLI que prepara automaticamente ficheiros APK Android para inspeção HTTPS

Inspecionar o tráfego HTTPS de uma aplicação móvel usando um proxy é provavelmente a forma mais fácil de perceber como funciona. No entanto, com a Network Security Configuration introduzida no Android 7 e com os programadores de aplicações a tentar prevenir ataques MITM usando certificate pinning, tornar uma aplicação compatível com um proxy HTTPS tornou-se bastante tedioso.

O apk-mitm automatiza todo o processo. Tudo o que tens de fazer é fornecer um ficheiro APK e o apk-mitm vai:

  • descodificar o ficheiro APK usando Apktool
  • substituir a Network Security Configuration da aplicação para permitir certificados adicionados pelo utilizador
  • modificar o código fonte para desativar várias implementações de certificate pinning
  • codificar o ficheiro APK modificado usando Apktool
  • assinar o ficheiro APK modificado usando uber-apk-signer

Também podes usar o apk-mitm para modificar aplicações usando Android App Bundle e não é necessário ter o telefone com root.

⚠️ Limitações e alternativas

Modificar o comportamento normal de uma aplicação para contornar funcionalidades de segurança como o certificate pinning requer ou modificar o código fonte da aplicação antes de a executar ou "enganchar" (hooking) a aplicação enquanto está a ser executada para intercetar chamadas de funções.

O apk-mitm atualmente adota a primeira abordagem de modificar o código da aplicação, primeiro "desassemblando" a aplicação usando Apktool, fazendo alterações a vários ficheiros e depois montando-a novamente (usando novamente o Apktool).

Esta abordagem tem a vantagem de não necessitar de um dispositivo com root, mas também tem várias desvantagens. O maior problema é que as aplicações não foram realmente feitas para serem desassembladas. O Apktool tenta fazer isso de qualquer forma, mas, especialmente com aplicações grandes e complexas, encontra frequentemente problemas.

Outro problema com esta abordagem é que alguns métodos de certificate pinning, como verificações realizadas dentro de binários nativos (como é o caso de frameworks como Flutter), são muito difíceis ou impossíveis de contornar. Por este motivo, pode ser benéfico experimentar outras abordagens para aplicações mais complicadas.

Especificamente, gostaria de destacar o projeto android-unpinner do mitmproxy e os scripts frida-interception-and-unpinning subjacentes da HTTP Toolkit. A abordagem deles aplica correções em tempo de execução usando Frida, o que é muito mais poderoso, mas também significa que ou não pode ser usado ou é mais difícil de usar sem um dispositivo com root.

Instalação

Se tiveres uma versão atualizada do Node.js (14+) e Java (8+), podes instalar o apk-mitm executando:

root@kitploit:~
npm install -g apk-mitm

Uso

Depois de instalado, podes executar este comando para modificar uma aplicação:

root@kitploit:~
apk-mitm <caminho-para-apk>

Modificar um ficheiro APK chamado example.apk pode ser assim:

root@kitploit:~
$ apk-mitm example.apk

  ✔ A descodificar ficheiro APK
  ✔ A modificar manifesto da aplicação
  ✔ A substituir configuração de segurança de rede
  ✔ A desativar certificate pinning
  ✔ A codificar ficheiro APK modificado
  ✔ A assinar ficheiro APK modificado

   Concluído!  APK modificado: ./example-patched.apk

Agora podes instalar o ficheiro example-patched.apk no teu dispositivo Android e usar um proxy como Charles ou mitmproxy para ver o tráfego da aplicação.

Modificar App Bundles

Também podes modificar aplicações usando Android App Bundle com o apk-mitm fornecendo-lhe um ficheiro *.xapk (por exemplo do APKPure) ou um ficheiro *.apks (que podes exportar tu próprio usando SAI). Se estiveres a fazer isto no Linux, certifica-te de que tanto o zip como o unzip estão instalados.

Fazer alterações manuais

Por vezes precisarás de fazer alterações manuais a uma aplicação para a fazer funcionar. Nestes casos, a opção --wait é o que precisas. Ativá-la fará com que o apk-mitm espere antes de recodificar a aplicação, permitindo-te fazer alterações aos ficheiros no diretório temporário.

Se quiseres experimentar diferentes alterações a um APK, usar --wait provavelmente não é a opção mais conveniente, pois força-te a começar do zero sempre que a usas. Neste caso, podes querer dar uma olhada no APKLab. É uma bancada de trabalho de engenharia reversa Android construída sobre o VS Code que vem com suporte para apk-mitm e deve permitir-te iterar muito mais rapidamente.

Permitir certificados específicos

Em alguns dispositivos (como Android TVs) podes não conseguir adicionar um novo certificado aos certificados de raiz do sistema. Nesses casos, ainda podes adicionar o certificado do teu proxy diretamente à Network Security Config da aplicação, pois isso funcionará em qualquer dispositivo. Podes fazer isso executando o apk-mitm com a opção --certificate definida para o caminho do certificado (ficheiro .pem ou .der) usado pelo teu proxy.

Ressalvas

  • Se a aplicação usa o Google Maps e o mapa estiver quebrado após a modificação, então a chave de API da aplicação está provavelmente restrita ao certificado do programador. Terás de criar a tua própria chave de API sem restrições e executar o apk-mitm com a opção --wait para conseguir substituir o valor com.google.android.geo.API_KEY no ficheiro AndroidManifest.xml da aplicação.

  • Se o apk-mitm falhar durante a descodificação ou codificação, o problema está provavelmente relacionado com o Apktool. Verifica os problemas deles no GitHub para encontrar possíveis soluções alternativas. Se encontrares uma versão do Apktool que não seja afetada pelo problema, podes instruir o apk-mitm a usá-la especificando o caminho do seu ficheiro JAR através da opção --apktool.

Agradecimentos

  • Connor Tumbleson por fazer um incrível descompilador de APK
  • Patrick Favre-Bulle por fazer uma ferramenta muito simples para assinar APKs
  • Ryan Welton por inspirar a maior parte do código de remoção de certificate pinning

Licença

MIT © Niklas Higi

Baixar ferramenta