Pentest

Pentest de Aplicacoes Mobile Android: Frida, MobSF e Lab com Genymotion

Por Equipe Basilisk ·

Setup completo para analise dinamica de APKs proprios com Frida, MobSF e Genymotion, incluindo hooks praticos e checklist tecnico.

Um APK e um arquivo zip disfarcado, e e exatamente isso que torna o pentest mobile Android tao divertido quanto cirurgico. Na Basilisk OffSec, montamos labs onde so testamos binarios de aplicacoes proprias ou com autorizacao escrita do dono do produto, porque engenharia reversa em app de terceiros sem consentimento e crime federal em quase todo lugar. Antes de qualquer hook com Frida, definimos escopo, contrato e modelo de ameaca, no mesmo espirito de Threat Modeling com STRIDE em Sprints: Exemplo Completo de Microservico. Sem isso, voce nao esta fazendo pesquisa, esta colecionando processos.

O stack base que recomendamos para 2026 e simples: Genymotion Personal para emulacao x86_64 com Google Apps opcionais, MobSF rodando em Docker para analise estatica e dinamica automatizada, Frida 16.x com frida-tools no host, objection para acelerar workflows e jadx-gui para leitura de smali decompilado. Genymotion ganha do AVD por velocidade de IO e ja vem com ADB exposto na porta 5555. Levante uma maquina Android 13 root, instale magisk via setup-frida, e suba o frida-server-arm64 dentro de /data/local/tmp com permissao 755. Em menos de quinze minutos voce tem ambiente reproducivel, isolado da sua rede de producao, o que casa com a filosofia de Analise de Malware em Lab Isolado: Setup Seguro com FlareVM e Remnux.

MobSF e seu primeiro pivo. Suba ele via docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest, jogue o APK na interface e ele extrai AndroidManifest, permissoes perigosas, hardcoded secrets, chamadas Janus, uso de WebView com setJavaScriptEnabled e ate domains expostos em network_security_config. O scan estatico costuma achar tokens AWS esquecidos, chaves Firebase com regras publicas e endpoints de staging que ninguem deveria ver. Use esse mapa de superficie para guiar suas hipoteses dinamicas, e nao caia na armadilha de tratar score numerico do MobSF como verdade absoluta. Como qualquer SAST, ele gera ruido, igual discutimos em AppSec Shift-Left: SAST, SCA e Secrets Scanning sem Travar o Time.

Com a superficie mapeada, abra o Frida. Um exemplo classico e bypass de SSL pinning para inspecionar trafego TLS no Burp ou no mitmproxy. Carregue o script com frida -U -f com.empresa.app -l ssl-bypass.js --no-pause; o hook reescreve checkServerTrusted da TrustManagerImpl e neutraliza okhttp3 CertificatePinner. Sem pinning ativo, voce vira proxy man-in-the-middle dentro do proprio emulador, captura JSONs autenticados e consegue testar a API por tras como faria em pentest web tradicional, com burp configurado igual em Pentest Web do Zero: Montando um Lab Seguro com DVWA, Juice Shop e Burp Suite. Lembre: pinning bypass so e legitimo no app que voce tem direito de auditar.

Depois do trafego limpo, comece a brincar com a API. Os mesmos vetores classicos voltam: parametros mass assignment, IDOR em endpoints /v2/users/{id}, JWT com algoritmo none, GraphQL com introspeccao aberta. Aplique a metodologia de Pentest de APIs REST e GraphQL: Checklist Tecnico para Bug Bounty Legal e, para injecao em backend, valide candidatos com payloads parametrizados como ensinamos em SQL Injection na Pratica: Explorando, Detectando e Mitigando em Lab Controlado. Outro alvo subestimado e o WebView interno: se o app carrega HTML remoto sem allowlist, voce pode encadear XSS em contexto privilegiado usando addJavascriptInterface, expondo metodos Java para o JS, ataque coberto em profundidade em XSS Moderno: DOM, Stored e Reflected com Exemplos Reais em Ambiente de Teste.

Hooks personalizados sao onde o pentester realmente diferencia. Tres scripts Frida que valem ouro: dump de chaves AES passadas para Cipher.init capturando o primeiro argumento de javax.crypto.SecretKeySpec; instrumentacao de SharedPreferences.Editor.putString para flagrar tokens salvos em claro; e hook em java.io.File para listar tudo gravado em /data/data/com.empresa.app durante o login. Combine com adb shell run-as com.empresa.app para puxar databases sqlite e inspecionar com sqlitebrowser. Encontramos, em auditoria recente, refresh_token persistido sem keystore, problema que vira facilmente takeover de conta.

Nao termine sem revisar runtime defenses. Cheque deteccao de root via RootBeer, deteccao de Frida por scan de portas locais (27042), deteccao de emulador via Build.FINGERPRINT e integridade via Play Integrity API. Documente como cada protecao foi contornada e proponha defesa em profundidade, nao bala de prata. Para o lado server, garanta hardening de SSH no bastion da API conforme Hardening de SSH 2026: Algoritmos, Certificados e Bastion Hosts e higienize artefatos antes de mandar relatorio, como em Higiene de Metadados: Limpando EXIF, PDF e Office antes de Publicar. Takeaway pratico: rode Genymotion, MobSF e Frida em maquina virtual dedicada, com snapshot limpo por engagement, e nunca acoplada a sua identidade pessoal.

Nenhum comentário ainda

Seja o primeiro a comentar.

Deixe seu comentário

Entre com sua conta Canverly para comentar. Você pode usar a mesma conta em qualquer site da rede.

Entrar com Canverly