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

4.5 KiB

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Analisi dell'Applicazione React Native

Per confermare se l'applicazione è stata costruita sul framework React Native, segui questi passaggi:

  1. Rinomina il file APK con un'estensione zip ed estrailo in una nuova cartella usando il comando cp com.example.apk example-apk.zip e unzip -qq example-apk.zip -d ReactNative.

  2. Naviga nella nuova cartella ReactNative e individua la cartella assets. All'interno di questa cartella, dovresti trovare il file index.android.bundle, che contiene il JavaScript React in un formato minificato.

  3. Usa il comando find . -print | grep -i ".bundle$" per cercare il file JavaScript.

Per analizzare ulteriormente il codice JavaScript, crea un file chiamato index.html nella stessa directory con il seguente codice:

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

Puoi caricare il file su https://spaceraccoon.github.io/webpack-exploder/ o seguire questi passaggi:

  1. Apri il file index.html in Google Chrome.

  2. Apri la Developer Toolbar premendo Command+Option+J per OS X o Control+Shift+J per Windows.

  3. Clicca su "Sources" nella Developer Toolbar. Dovresti vedere un file JavaScript suddiviso in cartelle e file, che compongono il bundle principale.

Se trovi un file chiamato index.android.bundle.map, sarai in grado di analizzare il codice sorgente in un formato non minificato. I file di mappatura contengono mappature sorgente, che ti permettono di mappare identificatori minificati.

Per cercare credenziali sensibili e endpoint, segui questi passaggi:

  1. Identifica parole chiave sensibili per analizzare il codice JavaScript. Le applicazioni React Native spesso utilizzano servizi di terze parti come Firebase, endpoint del servizio AWS S3, chiavi private, ecc.

  2. In questo caso specifico, è stato osservato che l'applicazione utilizzava il servizio Dialogflow. Cerca un modello relativo alla sua configurazione.

  3. È stato fortunato che credenziali sensibili hard-coded siano state trovate nel codice JavaScript durante il processo di ricognizione.

Riferimenti

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}