> For the complete documentation index, see [llms.txt](https://jorgelucas011.gitbook.io/manual-pentest-mobile/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jorgelucas011.gitbook.io/manual-pentest-mobile/passo-a-passo.md).

# Passo a Passo

Está sessão apresenta um passo a passo de pentest (teste de penetração ou intrusão) baseado em informações coletadas do Guia de teste de segurança móvel da OWASP (OWASP Mobile Security Testing Guide).

* Instalar **Virtual Box Oracle** (<https://www.virtualbox.org/>).
* Baixar a ISO do Sistema Operacional **Santoku** ((<https://santoku-linux.com/download/>).
* Instalação de alguns drivers que ajudarão o SO a se comportar bem (drivers presentes na sessão de Ferramentas).

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7ctokpqyQOMca5q%2F0.png?generation=1608571982614499\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7cut6tQStcEPzG5%2F1.png?generation=1608571983389452\&alt=media)

* Reiniciar, agora é possível utilizar o Full screen mode.
* Criar uma conta no site do **Genymotion**
* Instalar **Genymotion**(emulador Android)
* Criando uma imagem android

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7cvOS9IEoNATk1e%2F2.png?generation=1608571983262528\&alt=media)

* Configurar o modo de rede na configuração(dentro do Genymotion) para Bridge
* Conectar o **ADB**(Android Debug Bridge) entre o SO e o Emulador

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7cw-50AR5z_bCn_%2F3.png?generation=1608571983275184\&alt=media)

* **$ adb shell (entrando nos files do android)**
* **$ cd /data/app (apps do android)**
* Explorando mais o Emulador

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7cx8svypuSaKPyE%2F4.png?generation=1608571983367251\&alt=media)

* Ter qualquer apk e instalar dentro do genymotion: **$ adb install “apk.file.apk”**
* &#x20;**$ adb logcat** (ter acesso aos log das aplicações)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7cyt_tuGsV1av6v%2F5.png?generation=1608571983300126\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7czJBe8tuJIja2g%2F6.png?generation=1608571983303501\&alt=media)

* Do emulador para a ISO(imagem):

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d-6H7A4VdJhAms%2F7.png?generation=1608571983325807\&alt=media)

## 1. Android App

* **Classes.dex(file)**, analisar como o app funciona
* **AndroidManifest.xml (file)**, características do app, e também com **META-INF(folder)** podendo descobrir qual tipo de permissão do usuário, um código fonte completo, enquanto gerenciador de intenção de atividades.
* **res(folder), assests(folder) e lib(folder),** como componentes adicionais.

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d0pjbHJba__kLA%2F8.png?generation=1608571983383855\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d1hIVyD77N7hO_%2F9.png?generation=1608571983440956\&alt=media)

* **$ vim classes.dex**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d2CB8x-rk0GFLS%2F10.png?generation=1608571983396049\&alt=media)

* Não verá nada porque há a necessidade de descompilar.
* **Android-apktool,** ferramenta APK para reverter ou descompilar qualquer arquivo APK do android. (já instalado no Santoku (SO)
* **JaDX Decompiler,** reverter o aplicativo Android.

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d3yyQr0ayT_HFF%2F11.png?generation=1608571983359383\&alt=media)

* **$ apktool d app.apk, “d” de decompiler.**
* Descompilando:

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d4ODUMeVWNAXlI%2F12.png?generation=1608571983303656\&alt=media)

* Primeiro App sem permissões de usuario em “androidmanifest.xml”
* **$ vim AndroidManifest.xml**, para ver as permissões de usuário

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d5S7Sg0XhbY74E%2F13.png?generation=1608571983224495\&alt=media)

* **“smali”** é o diretório que contém nosso código-fonte, diretório que varia de acordo com o desenvolvimento da aplicação.

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d6rAuoNgJDsOWd%2F14.png?generation=1608571983371482\&alt=media)

* **$ cd smali**, conseguindo ter acesso ao código.

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d7NKhQmw4KWIFp%2F15.png?generation=1608571983319657\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d8I5B0ZJ7TW8fO%2F16.png?generation=1608571983312815\&alt=media)

* Outra maneira é pelo **Jadx**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d9Gb--uLbqK7UA%2F17.png?generation=1608571983276419\&alt=media)

* Link : <https://github.com/skylot/jadx/releases/download/v1.2.0/jadx-1.2.0.zip>

## **2.** **Android Application Signing**

* Assinar um app antes de torná-lo publico, através de um certificado de autoridade ou uma auto-assinatura, através de diferentes algoritmos de criptografia, tendo as duas chaves a pública e privada, mantendo a segunda em segurança.
  * **Assinatura JAR (esquema v1)**

    É baseado em JAR assinado . As assinaturas v1 não protegem algumas partes do APK, como metadados ZIP. O verificador de APK precisa processar muitas estruturas de dados não confiáveis ​​(ainda não verificadas) e, em seguida, descartar os dados não cobertos pelas assinaturas. Isso oferece uma superfície de ataque considerável. Além disso, o verificador de APK deve descompactar todas as entradas compactadas, consumindo mais tempo e memória.&#x20;
  * **Esquema de assinatura APK v2 e v3 (esquema v2 +)**

    O esquema v2 foi atualizado para v3 no Android 9 para incluir informações adicionais no bloco de assinatura, mas de outra forma funciona da mesma forma. O conteúdo do APK é hash e assinado, então o APK Signing Block resultante é inserido no APK.&#x20;

    Durante a validação, o esquema v2 + trata o arquivo APK como um blob e executa a verificação de assinatura em todo o arquivo. Qualquer modificação no APK, incluindo modificações nos metadados ZIP, invalida a assinatura do APK. Essa forma de verificação de APK é substancialmente mais rápida e permite a detecção de mais classes de modificações não autorizadas.

## **3. Tráfego Android**

* **Passivo:** analisando o tráfego secretamente, capturando os dados para a análise posterior, farejando o pacote TCP.
* **Ativo:** interceptação de solicitação de usuário, por exemplo, utilizando algumas ferramentos proxy, como **BURPSUITE.**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dA3Cua9Fktkl43%2F18.png?generation=1608571983448886\&alt=media)

* Ferramenta já presente no Santoku SO.
* Primeiro: **Proxy < Options < Edit(Selecionando o primeiro) < All interfaces**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dBE0-m2BxXYWzy%2F19.png?generation=1608571983307487\&alt=media)

* Obs: Configure a Placa em modo Bridge no virtual Box : **Botão direito < Configuraçoes < Rede < Placa em modo Bridge**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dCT--V-B9suKqw%2F20.png?generation=1608571984071665\&alt=media)

* **$ Ifconfig** , para pegar o ip do SO

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dDCner_RUCaBuj%2F21.png?generation=1608571983315575\&alt=media)

## 4 . Configurações de Proxy com o IP do Santoku (SO)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dE971yWN3lQ1Lr%2F22.png?generation=1608571983271874\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dFf1RC6X6NvMWu%2F23.png?generation=1608571983331222\&alt=media)

* Digitando qualquer coisa no navegador

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dGNNbwQBb-1qXm%2F24.png?generation=1608571983279114\&alt=media)

* Interceptação

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dHWbhiRKQMEqNH%2F25.png?generation=1608571983364006\&alt=media)

* Instalar o certificado do **burp** no android: <http://burp>

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dIR86Vvh7r8snL%2F26.png?generation=1608571984122565\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dJzmvzgM3Fleij%2F27.png?generation=1608571983837537\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dKI8iNdoggx4fW%2F28.png?generation=1608571983322317\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dLnmug3LpnERhn%2F29.png?generation=1608571983991775\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dMKAjz_uom3iBr%2F30.png?generation=1608571983877121\&alt=media)

* **Configurações < Segurança < Instalar do cartao SD < certificado.crt**

## **5.** Aplicativo de Teste (**DIVA - Damn Insecure and Vulnerable Application)**

* Link : payatu.com/damn-insecure-and-vulnerable-app/
* Procure por “diva-beta.apk”

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dNEOCwiv5-Dn_d%2F31.png?generation=1608571983474589\&alt=media)

* Instalar o **010 Editor** para analisar arquivos.dex transformandos em arquivos java futuramente.
* Link : [www.sweetscape.com/download/010editor/](http://www.sweetscape.com/download/010editor/)
* Analisando os Logs de app
* Descobrindo que o processo é “21425” podemos através do comando $adb logcat | grep 21425

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dOqofXqxW0rRGw%2F32.png?generation=1608571984099870\&alt=media)

* Conseguimos armazenar o número do cartao de crédito através dos **Logs.**

## 6. Problemas de Codificação (HardcodeActivity)

* Descobringo o codigo **“HardcodeActivity”** descobrimos uma key

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dPb0bPNgRWIYp4%2F33.jpeg?generation=1608571984130088\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dQMq6UrlsNOo1e%2F34.png?generation=1608571983507948\&alt=media)

* Com essa key, seria possível garantir algum acesso no app.

## **7.** **Armazenamento de Dados de Forma Insegura**

* Em um app que armazena login e senha temos:

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dR2BkAPxBYfiCm%2F35.png?generation=1608571983295381\&alt=media)

* Salvando um password : **admin, secretpassword**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dSRXlI3ui3bjT3%2F36.png?generation=1608571983273258\&alt=media)

* Assim como em hardcore inssues, analisamos através do **“jd-gui”** as classes.dex que foram transformadas em codigos .jar através do comando **$ d2j-dex2jar classes.dex**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dT0YdAq0bZDMrQ%2F37.png?generation=1608571983248225\&alt=media)

* Através do comando **$ jd-gui “classes .dex** transformadas em **“.jar”** para alise do código fonte, sendo possivelmente as atividades inseguras do logon

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dUOfEG7UweT_xi%2F38.jpeg?generation=1608571983336348\&alt=media)

* Ao abrir código podem ver um metodo que salva as credencias de user e password, em seguida voltamos ao Santoku e ao emulador atraves do **$ adb shell**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dVrY3bO_W0l2Za%2F39.jpeg?generation=1608571984138121\&alt=media)

* Entramos em seguida **$ data/data**,
* **$ cd jakhar.assem.diva**
* **$ cd $shared\_prefs**
* e vemos que existem um arquivo chamado **“jakhar.assem.diva\_preferences.xml”**
* usando **$ cat jakhar.assem.diva\_preferences.xml**, podemos ter acesso ao nosso login e senha salvos.

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dWjR-SVF5952nn%2F40.jpeg?generation=1608571984090913\&alt=media)

## **8. Banco de Dados Inseguro**

* Salvando um login como demo, e password como secretpassword em outra partição, vamos tentar descobrir aonde estão esses dados.

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dXFZ9dw9alTJRe%2F41.png?generation=1608571984163735\&alt=media)

* Usando a mesma técnica anterior, analisamos novamente a codificação e vemos sua estrutura e como está armazenado e vamos ver se está ou não criptografado

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dYCU40jGWgQNZL%2F42.jpeg?generation=1608571984079639\&alt=media)

* No android usamos o comando **$ sqlite3 ids**, pelo fato desse banco é o mais comum nos androids. Depois um **.tables**, e faremos um **select** para visualizar

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dZlPWQYGuWGc3W%2F43.jpeg?generation=1608571984099196\&alt=media)

## **9. Arquivos Temporários Inseguros**

* Usando demo como login e demodemodemo como senha

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7d_1DTWSmoAHDtV%2F44.png?generation=1608571983401876\&alt=media)

* Abrimos novamente o **jd-gui,** e as classes.2jat para analisar o código temporários

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dacuCNlAbeLPpV%2F45.jpeg?generation=1608571983444662\&alt=media)

* Seguindo o mesmo processo dos tópicos anteriores conseguimos visualizar os arquivos temporários

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dbJMZxBThdGE19%2F46.png?generation=1608571983394342\&alt=media)

* Utilizando novamente o **$ cat uinfo-1634723552tmp**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dcTyotBpXnutHi%2F47.png?generation=1608571983395024\&alt=media)

* obtendo assim, os dados do arquivo temporário.

## **10. Dados do Cartão SD**

* Utilizando dessa vez “lucas” como login e “senhamuitosecreta” como password

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7ddIV_fw9eIMtrA%2F48.png?generation=1608571983409658\&alt=media)

* Analisaremos novamente o código fonte atraves do **“jd-gui”**, conseguimos observar como o método funciona e como e salvo o arquivos

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7deLdb4rIf6-8Ln%2F49.jpeg?generation=1608571983508073\&alt=media)

* Procurando agora no **SDCARD** pelo arquivo, utilizaremos o comando $ ls -a, para encontrar os arquivos ocultos

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dfriODs48bzatj%2F50.png?generation=1608571983415197\&alt=media)

* **Encontramos** o **“uinfo.txt”** abrindo novamente com o comando **“cat”** e tendo assim acesso as credenciais ocultas

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dgjkQnUQ0n5Wiq%2F51.png?generation=1608571983676307\&alt=media)

## **11. SQL INJECTION**

* Colocando algo malicioso na entrada de dados onde o app não valida ou higieniza os dados de inserção, podendo resultar no despejo de todo o banco de dados.
* Em uma caixa de busca, supostamente colocamos algo malicioso e assim que é pressionado o botao de “search” tentaremos recuperar todos os dados.
* Verificando o código fonte novamente para analisar a estrutura e olhando o select

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dh4omonDqRigKC%2F52.jpeg?generation=1608571983468239\&alt=media)

* Obtemos: **“SELECT \* FROM sqliuser WHERE user = “+ localEditText.getText().toString+””**
* Inserindo algo malicioso no código como uma condição para mostrar os dados com o código **“SELECT \* FROM sqliuser WHERE user = ‘ 1’ or ‘ 1’=’1 ”**, podemos simplesmente depois na própria barra de pesquisa digitá-lo para ter acesso a database:

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7diRotgnCMq6JNK%2F53.png?generation=1608571983343936\&alt=media)

## **12. Vasculhando o WEBVIEW**

**O que é?**

* Pequeno navegador no nosso app para mostrar o conteúdo da WEB

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7djaAZLzGJHw-Dd%2F54.png?generation=1608571983413543\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dkpDLjVJ_Pm_-m%2F55.png?generation=1608571983424331\&alt=media)

* Verificar algum acesso interino relacionado, no caso acima existe o **demo.txt** e assim conseguimos dados

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dl4EY99rRSCSFb%2F56.jpeg?generation=1608571983410042\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dmmO45I-HS7q7R%2F57.jpeg?generation=1608571983414357\&alt=media)

## **13. Lendo o AndroidManifest.xml e Obtendo Credenciais**

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dnN_3ZmT1XTknJ%2F58.jpeg?generation=1608571983929901\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7do3L9oCIZD2xyR%2F59.jpeg?generation=1608571983460352\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dp1uyXWZC7xyHU%2F60.jpeg?generation=1608571983318150\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dqDYSADu9iUt97%2F61.jpeg?generation=1608571983387948\&alt=media)

## **14.** Provedor de Conteúdos (**Content Provider)**

* Criando um PIN com 1234

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7drtYzvD9crkc61%2F62.png?generation=1608571983479759\&alt=media)

* Depois acessando o mesmo com o próprio PIN

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dsspiI4mGdFeSa%2F63.png?generation=1608571983443070\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dtRRA-7bpqwGCl%2F64.png?generation=1608571983764620\&alt=media)

* Encontrar os dados sem usar o PIN:
* 1 – Encontrar o Provedor URI e encontrar os dados particular os dados do mesmo
* Analisando novamente o AndroidManifest.xml

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7du4040bQ6H4W25%2F65.jpeg?generation=1608571983375989\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dvnsoZBnw5P7xk%2F66.png?generation=1608571983462331\&alt=media)

* Analisaremos esse arquivo através do **$ vim AcessControl3Activity.java**
* Vimos que há um NotesProvider e também, o analisaremos

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dwtjxZKDnMfXhs%2F67.jpeg?generation=1608571983439225\&alt=media)

* Vimos que temos um uri content : //jakhar.aseem.diva.provider.notesprovider/notes
* Usaremos o comando

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dxp-kTUDcZteqI%2F68.png?generation=1608571983386692\&alt=media)

* Obetendo o acesso de TODOS OS DADOS

## **15. Drozer “Engenharia Reversa”**

**Link :** labs.mrinfosecurity.com/tools/drozer

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dyutofmsxCoj9j%2F69.png?generation=1608571983529082\&alt=media)

Instalar o Drozer e o drozer apk

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7dz-ptIzW-nbNTa%2F70.png?generation=1608571983547454\&alt=media)

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7e-gpoVOJymfepy%2F71.png?generation=1608571983458691\&alt=media)

**$ adb forward tcp:31415 tcp: 31415**

**$ drozer console connect**

**$ ls**

**$ run “modulo”**

**$ run app.package.list (listar todos os app)**

tendo acessos a vários modulos que podem usados para testar apps androids

![](https://4188995347-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fmanual-pentest-mobile%2F-MP4Ok5oTFL6B5Jk8Ljy%2F-MP5M7e0SLZ7Z7q2fryu%2F72.png?generation=1608571983449854\&alt=media)
