
Testes dinâmicos são realizados para identificar vulnerabilidades durante a operação do aplicativo. Neste artigo, quero compartilhar várias maneiras de testar o aplicativo para Android. Também mostrarei como configurar e configurar o equipamento. Quem se importa, bem-vindo ao gato.
O teste dinâmico envolve a análise de logs de aplicativos, a análise do tráfego de aplicativos, a detecção de erros durante a operação etc. Para testar, você precisa configurar a máquina virtual no Genimotion, conforme descrito
aqui .
Quais ferramentas são usadas para análise dinâmica:
- BurpSuite;
- Inspakage;
- Pidcat ou outro aplicativo com permissões de leitura para logs.
Como testar com o BurpSuitePrimeiro, você precisa configurar o proxy e importar o certificado. O BurpSuite mostra as vulnerabilidades do aplicativo à fixação de SSL e pode encontrar vulnerabilidades existentes no servidor com o qual o aplicativo está em contato.
1. Instalando um Proxy
Primeiro, você precisa visualizar informações sobre as interfaces para as configurações de proxy corretas.
Fig. 1. Informações sobre as interfaces.Configure proxies no BurpSuite.
Fig. 2. Configurações de proxy no BurpSuite.Instalamos proxies no dispositivo em que realizaremos os testes.
Fig. 3. Configurações de proxy no dispositivo.Digite http [:] // burp / no navegador - isso é necessário para baixar o certificado. E faça o download do certificado para funcionar. Em seguida, você precisa abrir a pasta "Downloads", existe um certificado baixado. Uma pressão longa no certificado exibe um menu no qual selecionamos “Renomear” e alteramos a extensão para .cer e importamos o certificado.
Fig. 4. Baixe o certificado /2. certificado de importação
Vamos às configurações do dispositivo, localizamos o item "Segurança" e, em seguida, selecionamos "Instalar a partir do SD". Na pasta "Downloads", selecione o certificado que foi baixado e renomeado. Depois que você precisar dar um nome ao certificado.
Fig. 5. certificado de importação.
Fig. 6. certificado de importação.3. Verificando a instalação do certificado e visualizando o tráfego através do BurpSuite.
Fig. 7. Testando a correção da importação de certificados.
Fig. 8. Examinamos as solicitações que vêm do dispositivo.Agora você pode testar a interação com a API.
A partir do Android 7, esse método de adicionar um certificado Burp a confiável não funcionará para a maioria dos aplicativos - por padrão, os certificados de usuário não são mais confiáveis. Portanto, você terá que fazer o root, atribuir ao certificado o nome correto e colocá-lo no diretório do sistema. (Comentado por y4ppieflu)
Como testar no InspakageO Inspekage é uma ferramenta que permite testes dinâmicos de aplicativos Android e ajuda a entender o que o aplicativo está fazendo em tempo de execução. O Inspekage mostra a operação do aplicativo com:
- arquivos
- bases de dados
- criptografia
- pedidos de http
- cordas
- logs e outros
Fig. 9. Iniciando o aplicativo para teste.
Fig. 10. Iniciando o aplicativo para teste.Após iniciar o aplicativo, no navegador, digite https [:] // 192 [.] 168 [.] 100 [.] 198 [:] 8008 e vá para o console do aplicativo (Fig. 11).
Fig. 11. Executando o console em um navegador.Em seguida, navegue pelas guias no console:
- Preferências compartilhadas - Fig. 12 - demonstra a interação do aplicativo com os recursos locais.
- Serialização - Fig. 13
- Criptografia - Fig. 14 - demonstra trabalho com criptografia (SSL / TLS não está incluído aqui)
- Hash - Fig. 14
- SQLite - Figura 15
- HTTP - foto 16 - no BurpSuite essa guia é melhor divulgada
- Sistemas de arquivos - Fig. 17 - trabalho de aplicação com arquivos
- IPC - Fig. 18 etc.
Fig. 12. Preferências compartilhadas.
Fig. 13. Serialização.
Fig. 14. Criptografia.
Fig. 15. Hash.
Fig. 16. SQLite.
Fig. 17. HTTP.
Fig. 18. sistema de arquivos.
Fig. 19. IPC.Testando com PidcatPidcat é um aplicativo que lê os logs de operação do aplicativo. Ao testar, você precisa executar as funções do aplicativo e ver quais dados caem nos logs de trabalho. Basicamente, as informações de serviço são exibidas lá, acontece que você pode obter algumas informações críticas, por exemplo, uma cópia de backup de uma chave privada. Se o dispositivo contiver malware, essas informações poderão cair nas mãos de um invasor.
Fig. 20. Backup da chave privada.
Fig. 21. Informações Confidenciais.ConclusãoNa prática, são mostrados os métodos de teste dinâmico básico de aplicativos Android que usamos no
ByteCode para funcionar. Há também um módulo para testes automatizados na estrutura MobSF, mas isso requer um artigo separado.