📱Mobile Android

Quando falamos de Pentest em Mobile no geral, o objetivo é encontrar vulnerabilidades utilizando-se de quatro importantes passos:

Análise do código-fonte e binário decompilado

Via de regra, em todo pentest de aplicativo mobile será disponibilizado um arquivo binário referente à aplicação, e nele é feita engenharia reversa, onde podemos ver um suposto código fonte, a depender da existência de ofuscação do código. Verifique na aba de ferramentas as ques são responsáveis para esta etapa:

Análise da segurança do armazenamento de dados do aplicativo no dispositivo

Antes da realização dessa etapa, é necessário verificar a existência de proteções Anti-Root e, caso existam, é preciso então realizar o Bypass, que sempre depende de como a aplicação foi feita.

Após a verificação, então é feita a análise de segurança, que se baseia em investigar se o dispositivo guarda indevidamente informações do aplicativo, como dados financeiros, dados pessoais, endereço e outras informações sensíveis.

Busca de vulnerabilidades nas requisições

Neste processo, a análise se baseia basicamente no tráfego de rede do aparelho e deverá ser feito testes de vulnerabilidades nas requisições do aplicativo, ou seja, basicamente um pentest em API. Um detalhe desta etapa é que, na maioria das vezes, é feita concomitante à análise do código-fonte, para comprovar o comportamento da aplicação.

Vale ressaltar que em aplicações de maturidade de segurança maior, há Certificate Pinning, impossibilitando a interceptação do tráfego de rede, e para isso será necessário realizar bypass.

Aqui segue um exemplo de um simples Bypass de SSL Pinning:

- Download Injection Script - https://codeshare.frida.re/@sowdust/universal-android-ssl-pinning-bypass-2/

- Download Frida-Server - compatível com a arquitetura do dispositivo - https://github.com/frida/frida/releases/ ( para saber a versão do dispositivo, roda o comando "adb shell getprop ro.product.cpu.abi" )

python3 -m pip install frida frida-tools objection
mv ~/Downloads/frida-server-15.1.22-android-x86_64.xz .
unxz frida-server-15.1.22-android-x86_64.xz
mv frida-server-15.1.22-android-x86_64 frida-server
adb push frida-server /data/local/tmp/
adb shell "chmod 755 /data/local/tmp/frida-server"
adb shell "/data/local/tmp/frida-server &"
frida -U -l universal-android-ssl-pinning-bypass.js --no-pause -f com.APLICATIVO.EMPRESA (veja em /data/data)

Análise da segurança do aplicativo no dispositivo

Nesta etapa o foco está principalmente na análise do AndroidManifest.xml, e para isso, este aqui é um ótimo guia sobre pontos a serem verificados na segurança do aparelho mobile numa análise de aplicativo:

Atualizado