hacktricks/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md
2023-06-06 18:56:34 +00:00

1.8 KiB

Algumas aplicações não aceitam certificados baixados pelo usuário, então, para inspecionar o tráfego web de algumas aplicações, precisamos descompilar a aplicação, adicionar algumas coisas e recompilá-la.

Automático

A ferramenta https://github.com/shroudedcode/apk-mitm fará as alterações necessárias na aplicação para começar a capturar as solicitações e também desativará o certificate pinning (se houver).

Manual

Primeiro, descompilamos o aplicativo: apktool d *nome-do-arquivo*.apk

Em seguida, vamos para o arquivo Manifest.xml e rolamos até a tag <\application android> e vamos adicionar a seguinte linha se ela ainda não estiver lá:

android:networkSecurityConfig="@xml/network_security_config

Antes de adicionar:

Depois de adicionar:

Agora, vá para a pasta res/xml e crie/modifique um arquivo chamado network_security_config.xml com o seguinte conteúdo:

<network-security-config>  
      <base-config>  
            <trust-anchors>  
                <!-- Trust preinstalled CAs -->  
                <certificates src="system" />  
                <!-- Additionally trust user added CAs -->  
                <certificates src="user" />  
           </trust-anchors>  
      </base-config>  
 </network-security-config>

Em seguida, salve o arquivo e saia de todos os diretórios e reconstrua o apk com o seguinte comando: apktool b *nome-da-pasta/* -o *nome-do-arquivo-de-saida.apk*

Finalmente, você só precisa assinar o novo aplicativo. Leia esta seção da página Smali - Decompiling/[Modifying]/Compiling para aprender como assiná-lo.