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

65 lines
4.7 KiB
Markdown
Raw Normal View History

{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Check the [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
# Analyse de l'application React Native
2022-04-28 16:01:33 +00:00
Pour confirmer si l'application a été construite sur le framework React Native, suivez ces étapes :
2021-02-01 09:24:10 +00:00
1. Renommez le fichier APK avec une extension zip et extrayez-le dans un nouveau dossier en utilisant la commande `cp com.example.apk example-apk.zip` et `unzip -qq example-apk.zip -d ReactNative`.
2021-02-01 09:24:10 +00:00
2. Naviguez vers le dossier ReactNative nouvellement créé et localisez le dossier assets. À l'intérieur de ce dossier, vous devriez trouver le fichier `index.android.bundle`, qui contient le JavaScript React dans un format minifié.
2021-02-01 09:24:10 +00:00
3. Utilisez la commande `find . -print | grep -i ".bundle$"` pour rechercher le fichier JavaScript.
2021-02-01 09:24:10 +00:00
Pour analyser davantage le code JavaScript, créez un fichier nommé `index.html` dans le même répertoire avec le code suivant :
```html
2021-05-09 14:52:12 +00:00
<script src="./index.android.bundle"></script>
2021-02-01 09:24:10 +00:00
```
Vous pouvez télécharger le fichier sur [https://spaceraccoon.github.io/webpack-exploder/](https://spaceraccoon.github.io/webpack-exploder/) ou suivre ces étapes :
2021-02-01 09:24:10 +00:00
1. Ouvrez le fichier `index.html` dans Google Chrome.
2021-02-01 09:24:10 +00:00
2. Ouvrez la barre d'outils de développement en appuyant sur **Command+Option+J pour OS X** ou **Control+Shift+J pour Windows**.
2021-02-01 09:24:10 +00:00
3. Cliquez sur "Sources" dans la barre d'outils de développement. Vous devriez voir un fichier JavaScript qui est divisé en dossiers et fichiers, constituant le bundle principal.
2021-02-01 09:24:10 +00:00
Si vous trouvez un fichier appelé `index.android.bundle.map`, vous pourrez analyser le code source dans un format non minifié. Les fichiers de carte contiennent un mappage source, ce qui vous permet de mapper des identifiants minifiés.
2021-02-01 09:24:10 +00:00
Pour rechercher des informations d'identification sensibles et des points de terminaison, suivez ces étapes :
2021-02-01 09:24:10 +00:00
1. Identifiez des mots-clés sensibles pour analyser le code JavaScript. Les applications React Native utilisent souvent des services tiers comme Firebase, les points de terminaison de service AWS S3, des clés privées, etc.
2022-04-28 16:01:33 +00:00
2. Dans ce cas spécifique, l'application a été observée en train d'utiliser le service Dialogflow. Recherchez un modèle lié à sa configuration.
2022-04-28 16:01:33 +00:00
3. Il a été chanceux que des informations d'identification sensibles codées en dur aient été trouvées dans le code JavaScript lors du processus de reconnaissance.
2022-04-28 16:01:33 +00:00
## Références
* [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)
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}