hacktricks/mobile-pentesting/android-app-pentesting/react-native-application.md
2024-02-10 15:36:32 +00:00

4.9 KiB

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Analyse der React Native-Anwendung

Um zu bestätigen, ob die Anwendung auf dem React Native-Framework erstellt wurde, befolgen Sie diese Schritte:

  1. Benennen Sie die APK-Datei mit einer Zip-Erweiterung um und extrahieren Sie sie in einen neuen Ordner mit dem Befehl cp com.example.apk example-apk.zip und unzip -qq example-apk.zip -d ReactNative.

  2. Navigieren Sie zum neu erstellten ReactNative-Ordner und suchen Sie den assets-Ordner. In diesem Ordner sollten Sie die Datei index.android.bundle finden, die den React-JavaScript-Code in minifizierter Form enthält.

  3. Verwenden Sie den Befehl find . -print | grep -i ".bundle$" , um nach der JavaScript-Datei zu suchen.

Um den JavaScript-Code weiter zu analysieren, erstellen Sie eine Datei namens index.html im selben Verzeichnis mit folgendem Code:

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

Sie können die Datei unter https://spaceraccoon.github.io/webpack-exploder/ hochladen oder folgen Sie diesen Schritten:

  1. Öffnen Sie die Datei index.html in Google Chrome.

  2. Öffnen Sie die Entwicklertools, indem Sie Command+Option+J für OS X oder Control+Shift+J für Windows drücken.

  3. Klicken Sie auf "Quellen" in den Entwicklertools. Sie sollten eine JavaScript-Datei sehen, die in Ordner und Dateien aufgeteilt ist und den Hauptbundle bildet.

Wenn Sie eine Datei namens index.android.bundle.map finden, können Sie den Quellcode im unminifizierten Format analysieren. Karten-Dateien enthalten Quellzuordnungen, mit denen Sie minifizierte Bezeichner zuordnen können.

Um nach sensiblen Anmeldeinformationen und Endpunkten zu suchen, befolgen Sie diese Schritte:

  1. Identifizieren Sie sensible Schlüsselwörter, um den JavaScript-Code zu analysieren. React Native-Anwendungen verwenden oft Drittanbieterdienste wie Firebase, AWS S3-Service-Endpunkte, private Schlüssel usw.

  2. In diesem speziellen Fall wurde festgestellt, dass die Anwendung den Dialogflow-Dienst verwendet. Suchen Sie nach einem Muster, das mit seiner Konfiguration zusammenhängt.

  3. Es war glücklicherweise möglich, sensible fest codierte Anmeldeinformationen im JavaScript-Code während des Recherchevorgangs zu finden.

Referenzen

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: