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

4.8 KiB

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Analyse de l'application React Native

Pour confirmer si l'application a été construite sur le framework React Native, suivez ces étapes :

  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.

  2. Accédez au dossier ReactNative nouvellement créé et localisez le dossier des ressources. À l'intérieur de ce dossier, vous devriez trouver le fichier index.android.bundle, qui contient le JavaScript React sous une forme minifiée.

  3. Utilisez la commande find . -print | grep -i ".bundle$" pour rechercher le fichier JavaScript.

Pour analyser plus en détail le code JavaScript, créez un fichier nommé index.html dans le même répertoire avec le code suivant :

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

Vous pouvez télécharger le fichier sur https://spaceraccoon.github.io/webpack-exploder/ ou suivre ces étapes :

  1. Ouvrez le fichier index.html dans Google Chrome.

  2. Ouvrez la barre d'outils des développeurs en appuyant sur Command+Option+J pour OS X ou Control+Shift+J pour Windows.

  3. Cliquez sur "Sources" dans la barre d'outils des développeurs. Vous devriez voir un fichier JavaScript divisé en dossiers et fichiers, constituant le bundle principal.

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 des mappings de source, ce qui vous permet de mapper les identifiants minifiés.

Pour rechercher des informations sensibles et des points de terminaison, suivez ces étapes :

  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 du service AWS S3, des clés privées, etc.

  2. Dans ce cas spécifique, il a été observé que l'application utilisait le service Dialogflow. Recherchez un motif lié à sa configuration.

  3. Il a été chanceux de trouver des informations sensibles codées en dur dans le code JavaScript lors du processus de reconnaissance.

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :