hacktricks/mobile-pentesting/android-app-pentesting/react-native-application.md
2023-06-03 13:10:46 +00:00

71 lines
6.4 KiB
Markdown

<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
- Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
- **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et au [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
**Informations copiées de** [**https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7**](https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7)
React Native est un **framework d'application mobile** qui est le plus souvent utilisé pour développer des applications pour **Android** et **iOS** en permettant l'utilisation de React et des capacités de la plate-forme native. Ces jours-ci, il est de plus en plus populaire d'utiliser React sur plusieurs plateformes.\
Mais la plupart du temps, la logique principale de l'application se trouve dans le **JavaScript React Native qui peut être obtenu** sans avoir besoin d'utiliser dex2jar.
## **Étape 1** : Confirmons si l'application a été construite sur le framework React Native.
Pour vérifier cela, renommez le fichier APK avec l'extension zip, puis extrayez le fichier APK dans un nouveau dossier en utilisant la commande suivante
```
cp com.example.apk example-apk.zip
unzip -qq example-apk.zip -d ReactNative
```
Accédez au dossier `ReactNative` nouvellement créé et trouvez le dossier `assets`. À l'intérieur de ce dossier, il devrait contenir `index.android.bundle`. Ce fichier contiendra tout le code JavaScript React dans un **format minifié.** Ingénierie inverse de React Native
```bash
find . -print | grep -i ".bundle$"
```
![Image pour l'article](https://miro.medium.com/max/1559/1\*enjF2H7PclRAIcNCxDIOJw.png)
## **Étape 2**: Création d'un fichier nommé `index.html` dans le même répertoire avec le code suivant.
Vous pouvez télécharger le fichier sur [https://spaceraccoon.github.io/webpack-exploder/](https://spaceraccoon.github.io/webpack-exploder/) ou continuer avec les étapes suivantes:
```markup
<script src="./index.android.bundle"></script>
```
![Image pour l'article](https://miro.medium.com/max/1526/1\*Qrg2jrXF8UxwbbRJJVWmRw.png)
Ouvrez le fichier **index.html** dans **Google Chrome**. Ouvrez la barre d'outils du développeur (**Command+Option+J pour OS X ou Control+Shift+J pour Windows**), et cliquez sur "Sources". Vous devriez voir un fichier JavaScript, divisé en dossiers et fichiers qui composent le bundle principal.
> Si vous êtes en mesure de trouver un fichier appelé `index.android.bundle.map`, vous pourrez analyser le code source dans un format non minifié. Les fichiers `map` contiennent la cartographie source qui vous permet de faire correspondre les identificateurs minifiés.
## **Étape 3**: recherche de mots de passe sensibles et de points d'extrémité
Dans cette phase, vous devez identifier les **mots-clés sensibles** pour analyser le code **Javascript**. Un modèle populaire avec les applications React Native est l'utilisation de services tiers tels que Firebase, les points d'extrémité du service AWS s3, les clés privées, etc.
Au cours de mon processus de **reconnaissance initial**, j'ai observé que l'application utilisait le service Dialogflow. Sur cette base, j'ai cherché un modèle lié à sa configuration. Heureusement, j'ai pu trouver des **mots de passe sensibles codés en dur** dans le code Javascript.
![Image pour l'article](https://miro.medium.com/max/2086/1\*RAToFnqpp9ndM0lBeMlz6g.png)
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
- Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
- Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
- **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et au [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>