Translated ['mobile-pentesting/android-app-pentesting/README.md'] to pt

This commit is contained in:
Translator 2024-05-06 12:40:07 +00:00
parent 261e19df6a
commit 5ef667bf31

View file

@ -10,7 +10,7 @@ Outras maneiras de apoiar o HackTricks:
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) no github.
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
@ -22,7 +22,7 @@ Junte-se ao servidor [**HackenProof Discord**](https://discord.com/invite/N3FrSb
Envolver-se com conteúdo que mergulha na emoção e desafios do hacking
**Notícias de Hacking em Tempo Real**\
Mantenha-se atualizado com o mundo acelerado do hacking por meio de notícias e percepções em tempo real
Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e percepções em tempo real
**Últimos Anúncios**\
Fique informado sobre os mais recentes programas de recompensas por bugs lançados e atualizações cruciais na plataforma
@ -47,7 +47,7 @@ Dê uma olhada na seguinte lista de [**Comandos ADB**](adb-commands.md) para apr
## Smali
Às vezes é interessante **modificar o código do aplicativo** para acessar **informações ocultas** (talvez senhas bem ofuscadas ou flags). Então, pode ser interessante descompilar o apk, modificar o código e recompilá-lo.\
[Neste tutorial](smali-changes.md) você pode **aprender como descompilar um APK, modificar o código Smali e recompilar o APK** com a nova funcionalidade. Isso pode ser muito útil como uma **alternativa para vários testes durante a análise dinâmica** que serão apresentados. Então, **mantenha sempre em mente essa possibilidade**.
[Neste tutorial](smali-changes.md) você pode **aprender como descompilar um APK, modificar o código Smali e recompilar o APK** com a nova funcionalidade. Isso pode ser muito útil como uma **alternativa para vários testes durante a análise dinâmica** que serão apresentados. Então, **sempre tenha em mente essa possibilidade**.
## Outros truques interessantes
@ -61,7 +61,16 @@ com.android.insecurebankv2
adb shell pm path com.android.insecurebankv2
package:/data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
adb pull /data/app/com.android.insecurebankv2- Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
adb pull /data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
```
* Junte todos os splits e apks base com o [APKEditor](https://github.com/REAndroid/APKEditor):
```bash
mkdir splits
adb shell pm path com.android.insecurebankv2 | cut -d ':' -f 1 | xargs -n1 -i adb pull {} splits
java -jar ../APKEditor.jar m -i splits/ -o merged.apk
# after merging, you will need to align and sign the apk, personally, I like to use the uberapksigner
java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed
```
## Análise Estática
@ -70,15 +79,15 @@ Por favor, [**leia aqui para encontrar informações sobre diferentes decompilad
### Procurando por Informações Interessantes
Apenas olhando para as **strings** do APK você pode procurar por **senhas**, **URLs** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), chaves de **API**, **criptografia**, **UUIDs de bluetooth**, **tokens** e qualquer coisa interessante... procure até mesmo por **backdoors** de execução de código ou backdoors de autenticação (credenciais de administrador codificadas no aplicativo).
Apenas olhando para as **strings** do APK você pode procurar por **senhas**, **URLs** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), chaves de **API**, **criptografia**, **UUIDs de bluetooth**, **tokens** e qualquer coisa interessante... procure até por **backdoors** de execução de código ou backdoors de autenticação (credenciais de administrador codificadas no aplicativo).
**Firebase**
Preste atenção especial às **URLs do firebase** e verifique se estão mal configuradas. [Mais informações sobre o que é o Firebase e como explorá-lo aqui.](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
atenção especial às **URLs do firebase** e verifique se estão mal configuradas. [Mais informações sobre o que é o Firebase e como explorá-lo aqui.](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
### Compreensão básica da aplicação - Manifest.xml, strings.xml
A **análise do arquivo \_Manifest.xml**_\*\* e \*\*_**strings.xml**\_\*\* de um aplicativo pode revelar vulnerabilidades de segurança potenciais\*\*. Esses arquivos podem ser acessados usando decompiladores ou renomeando a extensão do arquivo APK para .zip e descompactando-o.
A **análise do arquivo \_Manifest.xml** e dos arquivos **strings.xml** de um aplicativo pode revelar vulnerabilidades de segurança potenciais. Esses arquivos podem ser acessados usando decompiladores ou renomeando a extensão do arquivo APK para .zip e descompactando-o.
As **vulnerabilidades** identificadas no **Manifest.xml** incluem:
@ -86,9 +95,9 @@ As **vulnerabilidades** identificadas no **Manifest.xml** incluem:
* **Configurações de Backup**: O atributo `android:allowBackup="false"` deve ser definido explicitamente para aplicativos que lidam com informações sensíveis para evitar backups não autorizados via adb, especialmente quando a depuração USB está ativada.
* **Segurança de Rede**: Configurações personalizadas de segurança de rede (`android:networkSecurityConfig="@xml/network_security_config"`) em _res/xml/_ podem especificar detalhes de segurança como pins de certificado e configurações de tráfego HTTP. Um exemplo é permitir tráfego HTTP para domínios específicos.
* **Atividades e Serviços Exportados**: Identificar atividades e serviços exportados no manifesto pode destacar componentes que podem ser mal utilizados. Uma análise adicional durante os testes dinâmicos pode revelar como explorar esses componentes.
* **Provedores de Conteúdo e FileProviders**: Provedores de conteúdo expostos podem permitir acesso ou modificação não autorizados de dados. A configuração de FileProviders também deve ser examinada.
* **Provedores de Conteúdo e FileProviders**: Provedores de conteúdo expostos podem permitir acesso ou modificação não autorizados de dados. A configuração dos FileProviders também deve ser examinada.
* **Receptores de Broadcast e Esquemas de URL**: Esses componentes podem ser aproveitados para exploração, com atenção especial à forma como os esquemas de URL são gerenciados para vulnerabilidades de entrada.
* **Versões do SDK**: Os atributos `minSdkVersion`, `targetSDKVersion` e `maxSdkVersion` indicam as versões do Android suportadas, destacando a importância de não suportar versões desatualizadas e vulneráveis do Android por motivos de segurança.
* **Versões do SDK**: Os atributos `minSdkVersion`, `targetSDKVersion` e `maxSdkVersion` indicam as versões do Android suportadas, destacando a importância de não suportar versões antigas e vulneráveis do Android por motivos de segurança.
Do arquivo **strings.xml**, informações sensíveis como chaves de API, esquemas personalizados e outras notas de desenvolvedor podem ser descobertas, destacando a necessidade de uma revisão cuidadosa desses recursos.
@ -117,12 +126,12 @@ Mais informações em:
**Armazenamento Interno**
No Android, arquivos **armazenados** no **armazenamento interno** são **projetados** para serem **acessíveis** exclusivamente pelo **aplicativo** que os **criou**. Essa medida de segurança é **imposta** pelo sistema operacional Android e geralmente é adequada para as necessidades de segurança da maioria dos aplicativos. No entanto, os desenvolvedores às vezes utilizam modos como `MODE_WORLD_READABLE` e `MODE_WORLD_WRITABLE` para **permitir** que arquivos sejam **compartilhados** entre diferentes aplicativos. No entanto, esses modos **não restringem o acesso** a esses arquivos por outros aplicativos, incluindo possivelmente maliciosos.
No Android, arquivos armazenados no **armazenamento interno** são **projetados** para serem **acessíveis** exclusivamente pelo **aplicativo** que os **criou**. Essa medida de segurança é **imposta** pelo sistema operacional Android e geralmente é adequada para as necessidades de segurança da maioria dos aplicativos. No entanto, os desenvolvedores às vezes utilizam modos como `MODE_WORLD_READABLE` e `MODE_WORLD_WRITABLE` para **permitir** que arquivos sejam **compartilhados** entre diferentes aplicativos. No entanto, esses modos **não restringem o acesso** a esses arquivos por outros aplicativos, incluindo possivelmente maliciosos.
1. **Análise Estática:**
* **Garanta** que o uso de `MODE_WORLD_READABLE` e `MODE_WORLD_WRITABLE` seja **cuidadosamente examinado**. Esses modos **podem potencialmente expor** arquivos a **acessos não intencionais ou não autorizados**.
2. **Análise Dinâmica:**
* **Verifique** as **permissões** definidas nos arquivos criados pelo aplicativo. Especificamente, **verifique** se algum arquivo está **definido para ser legível ou gravável globalmente**. Isso pode representar um risco significativo à segurança, pois permitiria que **qualquer aplicativo** instalado no dispositivo, independentemente de sua origem ou intenção, **leia ou modifique** esses arquivos.
* **Verifique** as **permissões** definidas nos arquivos criados pelo aplicativo. Especificamente, **verifique** se algum arquivo está **configurado para ser legível ou gravável globalmente**. Isso pode representar um risco significativo à segurança, pois permitiria que **qualquer aplicativo** instalado no dispositivo, independentemente de sua origem ou intenção, **leia ou modifique** esses arquivos.
**Armazenamento Externo**
@ -133,7 +142,7 @@ Ao lidar com arquivos no **armazenamento externo**, como cartões SD, certas pre
2. **Preocupações de Segurança**:
* Dada a facilidade de acesso, é aconselhável **não armazenar informações sensíveis** no armazenamento externo.
* O armazenamento externo pode ser removido ou acessado por qualquer aplicativo, tornando-o menos seguro.
3. **Manipulação de Dados do Armazenamento Externo**:
3. **Manuseio de Dados do Armazenamento Externo**:
* Sempre **realize validação de entrada** nos dados recuperados do armazenamento externo. Isso é crucial porque os dados são de uma fonte não confiável.
* Armazenar executáveis ou arquivos de classe no armazenamento externo para carregamento dinâmico é fortemente desencorajado.
* Se seu aplicativo precisar recuperar arquivos executáveis do armazenamento externo, garanta que esses arquivos sejam **assinados e verificados criptograficamente** antes de serem carregados dinamicamente. Esta etapa é vital para manter a integridade de segurança do seu aplicativo.
@ -162,7 +171,7 @@ sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
**Processos de Gerenciamento de Chave Fracos**
Alguns desenvolvedores salvam dados sensíveis no armazenamento local e os criptografam com uma chave codificada/previsível no código. Isso não deve ser feito, pois a reversão pode permitir que atacantes extraiam informações confidenciais.
Alguns desenvolvedores salvam dados sensíveis no armazenamento local e os criptografam com uma chave codificada/previsível no código. Isso não deve ser feito, pois a reversão pode permitir que os atacantes extraiam as informações confidenciais.
**Uso de Algoritmos Inseguros e/ou Obsoletos**
@ -232,7 +241,7 @@ Um aplicativo pode conter segredos (chaves de API, senhas, URLs ocultas, subdom
Junte-se ao servidor [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para se comunicar com hackers experientes e caçadores de bugs!
**Percepções de Hacking**\
Engaje-se com conteúdo que explora a emoção e desafios do hacking
Engaje-se com conteúdo que mergulha na emoção e desafios do hacking
**Notícias de Hacking em Tempo Real**\
Mantenha-se atualizado com o mundo acelerado do hacking por meio de notícias e insights em tempo real
@ -262,7 +271,7 @@ Graças à conexão ADB, você pode usar **Drozer** e **Frida** nos emuladores.
#### Usando um emulador
* [**Android Studio**](https://developer.android.com/studio) (Você pode criar dispositivos **x86** e **arm**, e de acordo com [**este** ](https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html)**último x86** versões **suportam bibliotecas ARM** sem precisar de um emulador ARM lento).
* [**Android Studio**](https://developer.android.com/studio) (Você pode criar dispositivos **x86** e **arm**, e de acordo com [**este** ](https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html)**último x86**, as versões **suportam bibliotecas ARM** sem precisar de um emulador ARM lento).
* Aprenda a configurá-lo nesta página:
{% content-ref url="avd-android-virtual-device.md" %}
@ -294,11 +303,11 @@ Você precisa ativar as opções de **depuração** e será legal se você puder
> Depois de instalar o aplicativo, a primeira coisa que você deve fazer é testá-lo e investigar o que ele faz, como funciona e se familiarizar com ele.\
> Eu sugiro **realizar esta análise dinâmica inicial usando a análise dinâmica do MobSF + pidcat**, para que possamos **aprender como o aplicativo funciona** enquanto o MobSF **captura** muitos **dados interessantes** que você pode revisar posteriormente.
### Vazamento de Dados Não Intencionais
### Vazamento de Dados Não Intencional
**Registro**
Os desenvolvedores devem ter cautela ao expor informações de **depuração** publicamente, pois isso pode levar a vazamentos de dados sensíveis. As ferramentas [**pidcat**](https://github.com/JakeWharton/pidcat) e `adb logcat` são recomendadas para monitorar os logs do aplicativo a fim de identificar e proteger informações sensíveis. **Pidcat** é preferido por sua facilidade de uso e legibilidade.
Os desenvolvedores devem ter cuidado ao expor informações de **depuração** publicamente, pois isso pode levar a vazamentos de dados sensíveis. As ferramentas [**pidcat**](https://github.com/JakeWharton/pidcat) e `adb logcat` são recomendadas para monitorar os logs do aplicativo a fim de identificar e proteger informações sensíveis. **Pidcat** é preferido por sua facilidade de uso e legibilidade.
{% hint style="warning" %}
Observe que a partir de **versões mais recentes do Android do que 4.0**, **aplicativos só podem acessar seus próprios logs**. Portanto, os aplicativos não podem acessar os logs de outros apps.\
@ -307,17 +316,17 @@ De qualquer forma, ainda é recomendável **não registrar informações sensív
**Armazenamento em Cache do Buffer de Copiar/Colar**
O framework baseado em **clipboard** do Android permite a funcionalidade de copiar e colar em aplicativos, mas representa um risco, pois **outros aplicativos** podem **acessar** a área de transferência, potencialmente expondo dados sensíveis. É crucial **desativar as funções de copiar/colar** para seções sensíveis de um aplicativo, como detalhes de cartão de crédito, para evitar vazamentos de dados.
O framework baseado em **clipboard** do Android permite a funcionalidade de copiar e colar em aplicativos, mas representa um risco, pois **outros aplicativos** podem **acessar** a área de transferência, expondo potencialmente dados sensíveis. É crucial **desativar as funções de copiar/colar** para seções sensíveis de um aplicativo, como detalhes de cartão de crédito, para evitar vazamentos de dados.
**Logs de Falhas**
Se um aplicativo **falhar e salvar logs**, esses logs podem ajudar os atacantes, especialmente quando o aplicativo não pode ser engenharia reversa. Para mitigar esse risco, evite registrar em caso de falhas e, se os logs precisarem ser transmitidos pela rede, certifique-se de que sejam enviados por meio de um canal SSL para segurança.
Se um aplicativo **falhar** e **salvar logs**, esses logs podem ajudar os atacantes, especialmente quando o aplicativo não pode ser engenharia reversa. Para mitigar esse risco, evite registrar em caso de falhas e, se os logs precisarem ser transmitidos pela rede, certifique-se de que sejam enviados por meio de um canal SSL para segurança.
Como pentester, **tente dar uma olhada nesses logs**.
**Dados Analíticos Enviados a Terceiros**
Os aplicativos frequentemente integram serviços como Google Adsense, que podem inadvertidamente **vazar dados sensíveis** devido a uma implementação inadequada pelos desenvolvedores. Para identificar possíveis vazamentos de dados, é aconselhável **interceptar o tráfego do aplicativo** e verificar se há envio de informações sensíveis para serviços de terceiros.
Os aplicativos frequentemente integram serviços como o Google Adsense, que podem inadvertidamente **vazar dados sensíveis** devido a uma implementação inadequada pelos desenvolvedores. Para identificar possíveis vazamentos de dados, é aconselhável **interceptar o tráfego do aplicativo** e verificar se há envio de informações sensíveis para serviços de terceiros.
### Bancos de Dados SQLite
@ -328,10 +337,10 @@ Se o banco de dados estiver salvando informações confidenciais e estiver **cri
Enumere as tabelas usando `.tables` e enumere as colunas das tabelas fazendo `.schema <nome_da_tabela>`
### Drozer (Explorar Atividades, Provedores de Conteúdo e Serviços)
### Drozer (Atividades de Exploração, Provedores de Conteúdo e Serviços)
Do [Drozer Docs](https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf): **Drozer** permite que você **assuma o papel de um aplicativo Android** e interaja com outros aplicativos. Ele pode fazer **qualquer coisa que um aplicativo instalado possa fazer**, como fazer uso do mecanismo de Comunicação entre Processos (IPC) do Android e interagir com o sistema operacional subjacente.\
Drozer é uma ferramenta útil para **explorar atividades exportadas, serviços exportados e Provedores de Conteúdo**, como você aprenderá nas seções seguintes.
Do [Drozer Docs](https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf): **Drozer** permite que você **assuma o papel de um aplicativo Android** e interaja com outros aplicativos. Ele pode fazer **tudo o que um aplicativo instalado pode fazer**, como fazer uso do mecanismo de Comunicação entre Processos (IPC) do Android e interagir com o sistema operacional subjacente.\
Drozer é uma ferramenta útil para **explorar atividades exportadas, serviços exportados e Provedores de Conteúdo**, como você aprenderá nas seções a seguir.
### Explorando Atividades Exportadas
@ -340,9 +349,9 @@ Lembre-se também de que o código de uma atividade começa no método **`onCrea
**Burla de Autorização**
Quando uma Atividade é exportada, você pode invocar sua tela a partir de um aplicativo externo. Portanto, se uma atividade com **informações sensíveis** estiver **exportada**, você poderia **burlar** os **mecanismos de autenticação** para acessá-la.
Quando uma Atividade é exportada, você pode invocar sua tela a partir de um aplicativo externo. Portanto, se uma atividade com **informações sensíveis** for **exportada**, você poderia **burlar** os **mecanismos de autenticação** para acessá-la.
[Aprenda como explorar atividades exportadas com Drozer.](drozer-tutorial/#activities)
[**Aprenda como explorar atividades exportadas com o Drozer.**](drozer-tutorial/#activities)
Você também pode iniciar uma atividade exportada a partir do adb:
@ -418,12 +427,12 @@ Para encontrar o **código que será executado no aplicativo**, vá para a ativi
**Informações sensíveis**
Sempre que encontrar um deeplink, verifique se **não está recebendo dados sensíveis (como senhas) via parâmetros de URL**, pois qualquer outro aplicativo poderia **fingir ser o deeplink e roubar esses dados!**
Sempre que encontrar um deeplink, verifique se **não está recebendo dados sensíveis (como senhas) por meio de parâmetros de URL**, pois qualquer outro aplicativo poderia **fingir ser o deeplink e roubar esses dados!**
**Parâmetros no caminho**
Você **também deve verificar se algum deeplink está usando um parâmetro dentro do caminho** do URL, como: `https://api.example.com/v1/users/{username}`, nesse caso você pode forçar uma travessia de caminho acessando algo como: `example://app/users?username=../../unwanted-endpoint%3fparam=value`.\
Observe que se você encontrar os endpoints corretos dentro do aplicativo, poderá causar um **Redirecionamento Aberto** (se parte do caminho for usada como nome de domínio), **assumir a conta** (se puder modificar os detalhes dos usuários sem token CSRF e o endpoint vulnerável usar o método correto) e qualquer outra vulnerabilidade. Mais [informações sobre isso aqui](http://dphoeniixx.com/2020/12/13-2/).
Observe que se você encontrar os endpoints corretos dentro do aplicativo, poderá causar um **Redirecionamento Aberto** (se parte do caminho for usado como nome de domínio), **assumir a conta** (se puder modificar detalhes de usuários sem token CSRF e o endpoint vulnerável usar o método correto) e qualquer outra vulnerabilidade. Mais [informações sobre isso aqui](http://dphoeniixx.com/2020/12/13-2/).
**Mais exemplos**
@ -431,17 +440,17 @@ Um [relatório interessante de recompensa por bugs](https://hackerone.com/report
### Falhas na Inspeção e Verificação da Camada de Transporte
* **Certificados nem sempre são inspecionados corretamente** por aplicativos Android. É comum para esses aplicativos ignorar avisos e aceitar certificados autoassinados ou, em alguns casos, voltar a usar conexões HTTP.
* **Negociações durante o handshake SSL/TLS às vezes são fracas**, empregando conjuntos de cifras inseguros. Essa vulnerabilidade torna a conexão suscetível a ataques do tipo homem-no-meio (MITM), permitindo que os atacantes descriptografem os dados.
* **Vazamento de informações privadas** é um risco quando os aplicativos autenticam usando canais seguros, mas depois comunicam-se por canais não seguros para outras transações. Essa abordagem falha em proteger dados sensíveis, como cookies de sessão ou detalhes do usuário, da interceptação por entidades maliciosas.
* **Certificados nem sempre são inspecionados corretamente** por aplicativos Android. É comum esses aplicativos ignorarem avisos e aceitarem certificados autoassinados ou, em alguns casos, voltarem a usar conexões HTTP.
* **Negociações durante o handshake SSL/TLS às vezes são fracas**, empregando conjuntos de cifras inseguros. Essa vulnerabilidade torna a conexão suscetível a ataques de homem-no-meio (MITM), permitindo que invasores descriptografem os dados.
* **Vazamento de informações privadas** é um risco quando aplicativos autenticam usando canais seguros, mas depois comunicam-se por canais não seguros para outras transações. Essa abordagem falha em proteger dados sensíveis, como cookies de sessão ou detalhes do usuário, da interceptação por entidades maliciosas.
#### Verificação de Certificado
Vamos focar na **verificação de certificado**. A integridade do certificado do servidor deve ser verificada para aumentar a segurança. Isso é crucial porque configurações TLS inseguras e a transmissão de dados sensíveis por canais não criptografados podem representar riscos significativos. Para passos detalhados sobre a verificação de certificados de servidor e abordagem de vulnerabilidades, [**este recurso**](https://manifestsecurity.com/android-application-security-part-10/) fornece orientações abrangentes.
Vamos focar na **verificação de certificado**. A integridade do certificado do servidor deve ser verificada para aumentar a segurança. Isso é crucial porque configurações TLS inseguras e a transmissão de dados sensíveis por canais não criptografados podem representar riscos significativos. Para etapas detalhadas sobre a verificação de certificados do servidor e a correção de vulnerabilidades, [**este recurso**](https://manifestsecurity.com/android-application-security-part-10/) fornece orientações abrangentes.
#### SSL Pinning
SSL Pinning é uma medida de segurança em que o aplicativo verifica o certificado do servidor em relação a uma cópia conhecida armazenada dentro do próprio aplicativo. Este método é essencial para prevenir ataques MITM. Implementar o SSL Pinning é altamente recomendado para aplicativos que lidam com informações sensíveis.
O SSL Pinning é uma medida de segurança em que o aplicativo verifica o certificado do servidor em relação a uma cópia conhecida armazenada dentro do próprio aplicativo. Este método é essencial para prevenir ataques MITM. Implementar o SSL Pinning é altamente recomendado para aplicativos que lidam com informações sensíveis.
#### Inspeção de Tráfego
@ -449,14 +458,14 @@ Para inspecionar o tráfego HTTP, é necessário **instalar o certificado da fer
Aplicativos direcionados ao **Nível de API 24 e acima** requerem modificações na Configuração de Segurança de Rede para aceitar o certificado CA do proxy. Este passo é crucial para inspecionar o tráfego criptografado. Para instruções sobre como modificar a Configuração de Segurança de Rede, [**consulte este tutorial**](make-apk-accept-ca-certificate.md).
#### Bypassing SSL Pinning
#### Bypass do SSL Pinning
Quando o SSL Pinning é implementado, torna-se necessário ignorá-lo para inspecionar o tráfego HTTPS. Vários métodos estão disponíveis para esse propósito:
Quando o SSL Pinning é implementado, torna-se necessário contorná-lo para inspecionar o tráfego HTTPS. Vários métodos estão disponíveis para esse fim:
* Modificar automaticamente o **apk** para **ignorar** o SSL Pinning com [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). A maior vantagem desta opção é que você não precisará de acesso root para ignorar o SSL Pinning, mas precisará excluir o aplicativo e reinstalar o novo, e isso nem sempre funcionará.
* Você pode usar o **Frida** (discutido abaixo) para ignorar essa proteção. Aqui está um guia para usar Burp+Frida+Genymotion: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
* Você também pode tentar **ignorar automaticamente o SSL Pinning** usando [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
* Você também pode tentar **ignorar automaticamente o SSL Pinning** usando **análise dinâmica do MobSF** (explicado abaixo)
* Modificar automaticamente o **apk** para **burlar** o SSLPinning com [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). A maior vantagem desta opção é que você não precisará de acesso root para burlar o SSL Pinning, mas precisará excluir o aplicativo e reinstalar o novo, e isso nem sempre funcionará.
* Você pode usar o **Frida** (discutido abaixo) para burlar essa proteção. Aqui está um guia para usar Burp+Frida+Genymotion: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
* Você também pode tentar **burlar automaticamente o SSL Pinning** usando [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
* Você também pode tentar **burlar automaticamente o SSL Pinning** usando **análise dinâmica do MobSF** (explicado abaixo)
* Se você ainda achar que há algum tráfego que não está capturando, pode tentar **encaminhar o tráfego para o burp usando iptables**. Leia este blog: [https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62](https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62)
#### Procurando por Vulnerabilidades Comuns na Web
@ -473,11 +482,11 @@ Se você deseja fazer pentest em aplicativos Android, precisa saber como usar o
* Algumas "GUI" para ações com o Frida: [**https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security**](https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security)
* Ojection é ótimo para automatizar o uso do Frida: [**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **,** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon)
* Você pode encontrar alguns scripts incríveis do Frida aqui: [**https://codeshare.frida.re/**](https://codeshare.frida.re)
* Tente ignorar mecanismos anti-depuração / anti-Frida carregando o Frida conforme indicado em [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace) (ferramenta [linjector](https://github.com/erfur/linjector-rs))
* Tente burlar mecanismos anti-depuração / anti-Frida carregando o Frida conforme indicado em [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace) (ferramenta [linjector](https://github.com/erfur/linjector-rs))
### **Despejar Memória - Fridump**
### **Despejo de Memória - Fridump**
Verifique se o aplicativo está armazenando informações sensíveis na memória que não deveria, como senhas ou mnemônicos.
Verifique se o aplicativo está armazenando informações sensíveis na memória que não deveria estar armazenando, como senhas ou mnemônicos.
Usando [**Fridump3**](https://github.com/rootbsd/fridump3) você pode despejar a memória do aplicativo com:
```bash
@ -498,7 +507,7 @@ strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a
### **Dados sensíveis no Keystore**
No Android, o Keystore é o melhor lugar para armazenar dados sensíveis, no entanto, com privilégios suficientes ainda é **possível acessá-lo**. Como os aplicativos tendem a armazenar aqui **dados sensíveis em texto claro**, os testes de penetração devem verificar isso, pois um usuário root ou alguém com acesso físico ao dispositivo poderia roubar esses dados.
No Android, o Keystore é o melhor lugar para armazenar dados sensíveis, no entanto, com privilégios suficientes ainda é **possível acessá-lo**. Como os aplicativos tendem a armazenar aqui **dados sensíveis em texto claro**, os testes de penetração devem verificar isso, pois um usuário root ou alguém com acesso físico ao dispositivo pode ser capaz de roubar esses dados.
Mesmo que um aplicativo armazene dados no keystore, os dados devem ser criptografados.
@ -508,7 +517,7 @@ frida -U -f com.example.app -l frida-scripts/tracer-cipher.js
```
### **Bypass de Impressão Digital/Biometria**
Usando o seguinte script do Frida, poderia ser possível **burlar a autenticação por impressão digital** que aplicativos Android podem estar realizando para **proteger áreas sensíveis:**
Usando o seguinte script do Frida, poderia ser possível **burlar a autenticação por impressão digital** que aplicativos Android podem estar realizando para **proteger áreas sensíveis específicas:**
{% code overflow="wrap" %}
```bash
@ -520,11 +529,11 @@ frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app
Quando você coloca um aplicativo em segundo plano, o Android armazena um **instantâneo do aplicativo** para que, quando ele for recuperado para o primeiro plano, comece a carregar a imagem antes do aplicativo, fazendo com que pareça que o aplicativo foi carregado mais rapidamente.
No entanto, se esse instantâneo contiver **informações sensíveis**, alguém com acesso a ele poderá **roubar essas informações** (observe que é necessário ter acesso root para acessá-lo).
No entanto, se esse instantâneo contiver **informações sensíveis**, alguém com acesso ao instantâneo pode **roubar essas informações** (observe que é necessário ter acesso root para acessá-lo).
Os instantâneos geralmente são armazenados em: **`/data/system_ce/0/snapshots`**
O Android fornece uma maneira de **prevenir a captura de tela definindo o parâmetro de layout FLAG\_SECURE**. Ao usar essa bandeira, o conteúdo da janela é tratado como seguro, impedindo que ele apareça em capturas de tela ou seja visualizado em displays não seguros.
O Android fornece uma maneira de **prevenir a captura de tela definindo o parâmetro de layout FLAG\_SECURE**. Ao usar essa flag, o conteúdo da janela é tratado como seguro, impedindo que ele apareça em capturas de tela ou seja visualizado em displays não seguros.
```bash
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
```
@ -532,15 +541,15 @@ getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
Esta ferramenta pode ajudá-lo a gerenciar diferentes ferramentas durante a análise dinâmica: [https://github.com/NotSoSecure/android\_application\_analyzer](https://github.com/NotSoSecure/android\_application\_analyzer)
### Injeção de Intent
### Injeção de Intenção
Os desenvolvedores frequentemente criam componentes de proxy como atividades, serviços e receptores de transmissão que lidam com essas Intents e as passam para métodos como `startActivity(...)` ou `sendBroadcast(...)`, o que pode ser arriscado.
Os desenvolvedores frequentemente criam componentes de proxy como atividades, serviços e receptores de transmissão que lidam com essas Intenções e as passam para métodos como `startActivity(...)` ou `sendBroadcast(...)`, o que pode ser arriscado.
O perigo está em permitir que atacantes acionem componentes de aplicativos não exportados ou acessem provedores de conteúdo sensíveis ao desviar essas Intents. Um exemplo notável é o componente `WebView` convertendo URLs em objetos `Intent` via `Intent.parseUri(...)` e então executando-os, potencialmente levando a injeções maliciosas de Intent.
O perigo está em permitir que atacantes acionem componentes de aplicativos não exportados ou acessem provedores de conteúdo sensíveis ao desviar essas Intenções. Um exemplo notável é o componente `WebView` convertendo URLs em objetos `Intent` via `Intent.parseUri(...)` e então executando-os, potencialmente levando a injeções maliciosas de Intenção.
### Principais Pontos
### Pontos Essenciais
* **Injeção de Intent** é semelhante ao problema de Redirecionamento Aberto na web.
* **Injeção de Intenção** é semelhante ao problema de Redirecionamento Aberto na web.
* As explorações envolvem passar objetos `Intent` como extras, que podem ser redirecionados para executar operações inseguras.
* Pode expor componentes não exportados e provedores de conteúdo a atacantes.
* A conversão de URL do `WebView` para `Intent` pode facilitar ações não intencionais.
@ -549,9 +558,9 @@ O perigo está em permitir que atacantes acionem componentes de aplicativos não
Provavelmente você conhece esse tipo de vulnerabilidades da Web. Você deve ter cuidado especial com essas vulnerabilidades em um aplicativo Android:
* **Injeção de SQL:** Ao lidar com consultas dinâmicas ou Content-Providers, certifique-se de estar usando consultas parametrizadas.
* **Injeção de SQL:** Ao lidar com consultas dinâmicas ou Provedores de Conteúdo, certifique-se de estar usando consultas parametrizadas.
* **Injeção de JavaScript (XSS):** Verifique se o suporte a JavaScript e Plugins está desativado para quaisquer WebViews (desativado por padrão). [Mais informações aqui](webview-attacks.md#javascript-enabled).
* **Inclusão de Arquivo Local:** WebViews devem ter acesso ao sistema de arquivos desativado (ativado por padrão) - `(webview.getSettings().setAllowFileAccess(false);)`. [Mais informações aqui](webview-attacks.md#javascript-enabled).
* **Inclusão de Arquivo Local:** Os WebViews devem ter acesso ao sistema de arquivos desativado (ativado por padrão) - `(webview.getSettings().setAllowFileAccess(false);)`. [Mais informações aqui](webview-attacks.md#javascript-enabled).
* **Cookies eternos:** Em vários casos, quando o aplicativo Android encerra a sessão, o cookie não é revogado ou pode até ser salvo no disco.
* [**Flag Segura** em cookies](../../pentesting-web/hacking-with-cookies/#cookies-flags)
@ -559,10 +568,10 @@ Provavelmente você conhece esse tipo de vulnerabilidades da Web. Você deve ter
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
Junte-se ao servidor [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para se comunicar com hackers experientes e caçadores de recompensas por bugs!
Junte-se ao servidor [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para se comunicar com hackers experientes e caçadores de bugs!
**Percepções de Hacking**\
Interaja com conteúdo que explora a emoção e os desafios do hacking
Engaje-se com conteúdo que explora a emoção e os desafios do hacking
**Notícias de Hacking em Tempo Real**\
Mantenha-se atualizado com o mundo acelerado do hacking por meio de notícias e percepções em tempo real
@ -585,14 +594,14 @@ Fique informado sobre os mais novos programas de recompensas por bugs lançados
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
```
Observe que o MobSF pode analisar aplicativos **Android**(apk), **IOS**(ipa) e **Windows**(apx) (_os aplicativos do Windows devem ser analisados a partir de um MobSF instalado em um host do Windows_).\
Observe que o MobSF pode analisar aplicativos **Android**(apk), **IOS**(ipa) e **Windows**(apx) (_os aplicativos do Windows devem ser analisados a partir de um MobSF instalado em um host Windows_).\
Além disso, se você criar um arquivo **ZIP** com o código-fonte de um aplicativo **Android** ou **IOS** (vá até a pasta raiz do aplicativo, selecione tudo e crie um arquivo ZIP), ele também poderá analisá-lo.
O MobSF também permite que você faça a **diferença/comparação** de análises e integre o **VirusTotal** (você precisará configurar sua chave de API em _MobSF/settings.py_ e habilitá-la: `VT_ENABLED = TRUE` `VT_API_KEY = <Sua chave de API>` `VT_UPLOAD = TRUE`). Você também pode definir `VT_UPLOAD` como `False`, então o **hash** será **enviado** em vez do arquivo.
### Análise Dinâmica Assistida com o MobSF
### Análise dinâmica assistida com o MobSF
O **MobSF** também pode ser muito útil para **análise dinâmica** no **Android**, mas nesse caso você precisará instalar o MobSF e o **genymotion** em seu host (uma VM ou Docker não funcionará). _Nota: Você precisa **iniciar primeiro uma VM no genymotion** e **depois o MobSF.**_\
O **MobSF** também pode ser muito útil para **análise dinâmica** no **Android**, mas nesse caso você precisará instalar o MobSF e o **genymotion** em seu host (uma VM ou Docker não funcionarão). _Nota: Você precisa **iniciar primeiro uma VM no genymotion** e **depois o MobSF.**_\
O **analisador dinâmico do MobSF** pode:
* **Extrair dados do aplicativo** (URLs, logs, área de transferência, capturas de tela feitas por você, capturas de tela feitas pelo "**Exported Activity Tester**", e-mails, bancos de dados SQLite, arquivos XML e outros arquivos criados). Tudo isso é feito automaticamente, exceto pelas capturas de tela, você precisa pressionar quando desejar uma captura de tela ou pressionar "**Exported Activity Tester**" para obter capturas de tela de todas as atividades exportadas.
@ -607,7 +616,7 @@ Por padrão, ele também usará alguns Scripts do Frida para **burlar a verifica
O MobSF também pode **invocar atividades exportadas**, capturar **capturas de tela** delas e **salvá-las** para o relatório.
Para **iniciar** os testes dinâmicos, pressione o botão verde: "**Iniciar Instrumentação**". Pressione "**Frida Live Logs**" para ver os logs gerados pelos scripts do Frida e "**Monitor de API ao Vivo**" para ver todas as invocações aos métodos conectados, argumentos passados e valores retornados (isso aparecerá após pressionar "Iniciar Instrumentação").\
O MobSF também permite carregar seus próprios **scripts do Frida** (para enviar os resultados de seus scripts do Friday para o MobSF, use a função `send()`). Ele também possui **vários scripts pré-escritos** que você pode carregar (você pode adicionar mais em `MobSF/DynamicAnalyzer/tools/frida_scripts/others/`), basta **selecioná-los**, pressionar "**Carregar**" e pressionar "**Iniciar Instrumentação**" (você poderá ver os logs desses scripts dentro de "**Frida Live Logs**").
O MobSF também permite que você carregue seus próprios **scripts do Frida** (para enviar os resultados de seus scripts do Friday para o MobSF, use a função `send()`). Ele também possui **vários scripts pré-escritos** que você pode carregar (você pode adicionar mais em `MobSF/DynamicAnalyzer/tools/frida_scripts/others/`), basta **selecioná-los**, pressionar "**Carregar**" e pressionar "**Iniciar Instrumentação**" (você poderá ver os logs desses scripts dentro de "**Frida Live Logs**").
![](<../../.gitbook/assets/image (419).png>)
@ -615,10 +624,10 @@ Além disso, você tem algumas funcionalidades auxiliares do Frida:
* **Enumerar Classes Carregadas**: Ele imprimirá todas as classes carregadas
* **Capturar Strings**: Ele imprimirá todas as strings capturadas ao usar o aplicativo (muito ruidoso)
* **Capturar Comparação de Strings**: Pode ser muito útil. Ele **mostrará as 2 strings sendo comparadas** e se o resultado foi Verdadeiro ou Falso.
* **Comparação de Strings Capturadas**: Pode ser muito útil. Ele **mostrará as 2 strings sendo comparadas** e se o resultado foi Verdadeiro ou Falso.
* **Enumerar Métodos de Classe**: Insira o nome da classe (como "java.io.File") e ele imprimirá todos os métodos da classe.
* **Pesquisar Padrão de Classe**: Pesquisar classes por padrão
* **Rastrear Métodos de Classe**: **Rastrear** uma **classe inteira** (ver entradas e saídas de todos os métodos da classe). Lembre-se de que por padrão o MobSF rastreia vários métodos interessantes da Api do Android.
* **Rastrear Métodos de Classe**: **Rastrear** uma **classe inteira** (ver entradas e saídas de todos os métodos da classe). Lembre-se de que por padrão o MobSF rastreia vários métodos interessantes da API do Android.
Depois de selecionar o módulo auxiliar que deseja usar, você precisa pressionar "**Iniciar Instrumentação**" e verá todas as saídas em "**Frida Live Logs**".
@ -635,13 +644,13 @@ receivers
```
**Ferramentas HTTP**
Quando o tráfego http é capturado, você pode ver uma visualização feia do tráfego capturado no fundo "**HTTP(S) Traffic**" ou uma visualização mais agradável no fundo verde "**Start HTTPTools**". A partir da segunda opção, você pode **enviar** as **solicitações capturadas** para **proxies** como Burp ou Owasp ZAP.\
Quando o tráfego http é capturado, você pode ver uma visualização feia do tráfego capturado no rodapé "**HTTP(S) Traffic**" ou uma visualização mais agradável no botão verde "**Start HTTPTools**". A partir da segunda opção, você pode **enviar** as **solicitações capturadas** para **proxies** como Burp ou Owasp ZAP.\
Para fazer isso, _ligue o Burp -->_ _desative o Intercept --> no MobSB HTTPTools selecione a solicitação_ --> pressione "**Send to Fuzzer**" --> _selecione o endereço do proxy_ ([http://127.0.0.1:8080\\](http://127.0.1:8080)).
Após concluir a análise dinâmica com o MobSF, você pode pressionar "**Start Web API Fuzzer**" para **fuzz http requests** e procurar por vulnerabilidades.
{% hint style="info" %}
Após realizar uma análise dinâmica com o MobSF, as configurações de proxy podem estar incorretas e você não poderá corrigi-las pela GUI. Você pode corrigir as configurações de proxy fazendo:
Após realizar uma análise dinâmica com o MobSF, as configurações do proxy podem estar incorretas e você não poderá corrigi-las pela GUI. Você pode corrigir as configurações do proxy fazendo:
```
adb shell settings put global http_proxy :0
```
@ -680,7 +689,7 @@ reverse-apk relative/path/to/APP.apk
```
### [SUPER Android Analyzer](https://github.com/SUPERAndroidAnalyzer/super)
O SUPER é uma aplicação de linha de comando que pode ser usada no Windows, MacOS X e Linux, que analisa arquivos _.apk_ em busca de vulnerabilidades. Ele faz isso descomprimindo APKs e aplicando uma série de regras para detectar essas vulnerabilidades.
O SUPER é uma aplicação de linha de comando que pode ser usada no Windows, MacOS X e Linux, que analisa arquivos _.apk_ em busca de vulnerabilidades. Ele faz isso descomprimindo os APKs e aplicando uma série de regras para detectar essas vulnerabilidades.
Todas as regras estão centralizadas em um arquivo `rules.json`, e cada empresa ou testador pode criar suas próprias regras para analisar o que precisam.
@ -703,7 +712,7 @@ Baixe a [última versão](https://github.com/vincentcox/StaCoAn/releases):
### [AndroBugs](https://github.com/AndroBugs/AndroBugs\_Framework)
O AndroBugs Framework é um sistema de análise de vulnerabilidades do Android que ajuda desenvolvedores ou hackers a encontrar possíveis vulnerabilidades de segurança em aplicativos Android.\
[Releases para Windows](https://github.com/AndroBugs/AndroBugs\_Framework/releases)
[Windows releases](https://github.com/AndroBugs/AndroBugs\_Framework/releases)
```
python androbugs.py -f [APK file]
androbugs.exe -f [APK file]
@ -724,7 +733,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
**MARA** é um **F**ramework de **R**everse engineering e **A**nálise de **A**plicativos **M**óveis. É uma ferramenta que reúne ferramentas comumente usadas para reverse engineering e análise de aplicativos móveis, para auxiliar nos testes de aplicativos móveis contra as ameaças de segurança móvel da OWASP. Seu objetivo é tornar essa tarefa mais fácil e amigável para desenvolvedores de aplicativos móveis e profissionais de segurança.
É capaz de:
Ele é capaz de:
* Extrair código Java e Smali usando diferentes ferramentas
* Analisar APKs usando: [smalisca](https://github.com/dorneanu/smalisca), [ClassyShark](https://github.com/google/android-classyshark), [androbugs](https://github.com/AndroBugs/AndroBugs_Framework), [androwarn](https://github.com/maaaaz/androwarn), [APKiD](https://github.com/rednaga/APKiD)
@ -739,7 +748,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
## Ofuscando/Desofuscando código
Observe que, dependendo do serviço e configuração que você usa para ofuscar o código, segredos podem ou não ser desofuscados.
Observe que, dependendo do serviço e configuração que você usa para ofuscar o código, segredos podem ou não ser ofuscados.
### [ProGuard](https://en.wikipedia.org/wiki/ProGuard\_\(software\))
@ -755,33 +764,33 @@ Encontre um guia passo a passo para desofuscar o apk em [https://blog.lexfo.fr/d
* carregar um recurso como um InputStream;
* alimentar o resultado para uma classe herdando de FilterInputStream para descriptografá-lo;
* fazer alguma obfuscação inútil para desperdiçar alguns minutos de um reverser;
* fazer alguma ofuscação inútil para desperdiçar alguns minutos de tempo de um reversor;
* alimentar o resultado descriptografado para um ZipInputStream para obter um arquivo DEX;
* finalmente carregar o DEX resultante como um Recurso usando o método `loadDex`.
### [DeGuard](http://apk-deguard.com)
**DeGuard reverte o processo de obfuscação realizado por ferramentas de obfuscação do Android. Isso permite inúmeras análises de segurança, incluindo inspeção de código e previsão de bibliotecas.**
**DeGuard reverte o processo de ofuscação realizado por ferramentas de obfuscação do Android. Isso permite inúmeras análises de segurança, incluindo inspeção de código e previsão de bibliotecas.**
Você pode fazer upload de um APK obfuscado para a plataforma deles.
Você pode fazer upload de um APK ofuscado para a plataforma deles.
### [Simplify](https://github.com/CalebFenton/simplify)
É um **desofuscador genérico para Android.** Simplify **executa virtualmente um aplicativo** para entender seu comportamento e então **tenta otimizar o código** para que se comporte de forma idêntica, mas seja mais fácil para um humano entender. Cada tipo de otimização é simples e genérico, então não importa qual o tipo específico de obfuscação usado.
É um **desofuscador genérico para Android.** Simplify **executa virtualmente um aplicativo** para entender seu comportamento e então **tenta otimizar o código** para que ele se comporte de forma idêntica, mas seja mais fácil para um humano entender. Cada tipo de otimização é simples e genérico, então não importa qual o tipo específico de ofuscação usado.
### [APKiD](https://github.com/rednaga/APKiD)
APKiD fornece informações sobre **como um APK foi feito**. Ele identifica muitos **compiladores**, **empacotadores**, **obfuscadores** e outras coisas estranhas. É o [_PEiD_](https://www.aldeid.com/wiki/PEiD) para Android.
APKiD fornece informações sobre **como um APK foi feito**. Ele identifica muitos **compiladores**, **empacotadores**, **ofuscadores** e outras coisas estranhas. É [_PEiD_](https://www.aldeid.com/wiki/PEiD) para Android.
### Manual
[Leia este tutorial para aprender alguns truques sobre **como reverter obfuscação personalizada**](manual-deobfuscation.md)
[Leia este tutorial para aprender alguns truques sobre **como reverter a ofuscação personalizada**](manual-deobfuscation.md)
## Laboratórios
### [Androl4b](https://github.com/sh4hin/Androl4b)
AndroL4b é uma máquina virtual de segurança Android baseada no ubuntu-mate que inclui a coleção dos últimos frameworks, tutoriais e laboratórios de diferentes geeks e pesquisadores de segurança para engenharia reversa e análise de malware.
AndroL4b é uma máquina virtual de segurança Android baseada no ubuntu-mate que inclui a coleção mais recente de estruturas, tutoriais e laboratórios de diferentes geeks de segurança e pesquisadores para engenharia reversa e análise de malware.
## Referências
@ -799,13 +808,13 @@ AndroL4b é uma máquina virtual de segurança Android baseada no ubuntu-mate qu
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
Junte-se ao [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para se comunicar com hackers experientes e caçadores de bugs!
Junte-se ao [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server para se comunicar com hackers experientes e caçadores de bugs!
**Percepções de Hacking**\
Engaje-se com conteúdo que explora a emoção e os desafios do hacking
Engaje-se com conteúdo que mergulha na emoção e desafios do hacking
**Notícias de Hacking em Tempo Real**\
Mantenha-se atualizado com o mundo acelerado do hacking por meio de notícias e insights em tempo real
Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e insights em tempo real
**Últimos Anúncios**\
Fique informado sobre os mais novos programas de recompensas por bugs lançados e atualizações cruciais na plataforma
@ -820,7 +829,7 @@ Outras maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.