hacktricks/mobile-pentesting/android-app-pentesting/react-native-application.md

4.8 KiB

Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Análise de Aplicativo React Native

Para confirmar se o aplicativo foi construído com o framework React Native, siga estes passos:

  1. Renomeie o arquivo APK com uma extensão zip e extraia-o para uma nova pasta usando o comando cp com.example.apk example-apk.zip e unzip -qq example-apk.zip -d ReactNative.

  2. Navegue até a pasta ReactNative recém-criada e localize a pasta assets. Dentro desta pasta, você deve encontrar o arquivo index.android.bundle, que contém o JavaScript do React em formato minificado.

  3. Use o comando find . -print | grep -i ".bundle$" para procurar o arquivo JavaScript.

Para analisar mais a fundo o código JavaScript, crie um arquivo chamado index.html no mesmo diretório com o seguinte código:

<script src="./index.android.bundle"></script>

Você pode fazer o upload do arquivo para https://spaceraccoon.github.io/webpack-exploder/ ou seguir estes passos:

  1. Abra o arquivo index.html no Google Chrome.

  2. Abra a Barra de Ferramentas do Desenvolvedor pressionando Command+Option+J para OS X ou Control+Shift+J para Windows.

  3. Clique em "Sources" na Barra de Ferramentas do Desenvolvedor. Você deve ver um arquivo JavaScript que está dividido em pastas e arquivos, formando o pacote principal.

Se você encontrar um arquivo chamado index.android.bundle.map, você poderá analisar o código-fonte em um formato não minificado. Arquivos de mapa contêm mapeamento de fonte, que permite mapear identificadores minificados.

Para procurar por credenciais sensíveis e endpoints, siga estes passos:

  1. Identifique palavras-chave sensíveis para analisar o código JavaScript. Aplicações React Native frequentemente usam serviços de terceiros como Firebase, endpoints do serviço AWS S3, chaves privadas, etc.

  2. Neste caso específico, observou-se que a aplicação estava usando o serviço Dialogflow. Procure por um padrão relacionado à sua configuração.

  3. Foi afortunado que credenciais sensíveis codificadas foram encontradas no código JavaScript durante o processo de reconhecimento.

No geral, seguindo estes passos, você pode analisar uma aplicação React Native, confirmar seu framework e procurar por informações sensíveis potenciais dentro do código.

Referências

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks: