React Native Application

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Ανάλυση Εφαρμογής React Native

Για να επιβεβαιώσετε αν η εφαρμογή έχει κατασκευαστεί στο πλαίσιο React Native, ακολουθήστε τα παρακάτω βήματα:

  1. Μετονομάστε το αρχείο APK με επέκταση zip και εξαγάγετέ το σε έναν νέο φάκελο χρησιμοποιώντας την εντολή cp com.example.apk example-apk.zip και unzip -qq example-apk.zip -d ReactNative.

  2. Μεταβείτε στον νεοδημιουργηθέντα φάκελο ReactNative και εντοπίστε το φάκελο assets. Μέσα σε αυτόν τον φάκελο, θα πρέπει να βρείτε το αρχείο index.android.bundle, το οποίο περιέχει το React JavaScript σε μινιμαρισμένη μορφή.

  3. Χρησιμοποιήστε την εντολή find . -print | grep -i ".bundle$" για να αναζητήσετε το αρχείο JavaScript.

Για να αναλύσετε περαιτέρω τον κώδικα JavaScript, δημιουργήστε ένα αρχείο με το όνομα index.html στον ίδιο φάκελο με τον παρακάτω κώδικα:

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

Μπορείτε να ανεβάσετε το αρχείο στο https://spaceraccoon.github.io/webpack-exploder/ ή να ακολουθήσετε αυτά τα βήματα:

  1. Ανοίξτε το αρχείο index.html στο Google Chrome.

  2. Ανοίξτε την Εργαλειοθήκη Ανάπτυξης πατώντας Command+Option+J για OS X ή Control+Shift+J για Windows.

  3. Κάντε κλικ στο "Sources" στην Εργαλειοθήκη Ανάπτυξης. Θα πρέπει να δείτε ένα αρχείο JavaScript που είναι χωρισμένο σε φακέλους και αρχεία, που αποτελούν το κύριο πακέτο.

Αν βρείτε ένα αρχείο που ονομάζεται index.android.bundle.map, θα μπορείτε να αναλύσετε τον πηγαίο κώδικα σε μη ελαχιστοποιημένη μορφή. Τα αρχεία χάρτη περιέχουν χαρτογράφηση πηγής, η οποία σας επιτρέπει να χαρτογραφήσετε ελαχιστοποιημένα αναγνωριστικά.

Για να αναζητήσετε ευαίσθητα διαπιστευτήρια και τελικούς προορισμούς, ακολουθήστε αυτά τα βήματα:

  1. Προσδιορίστε ευαίσθητες λέξεις-κλειδιά για να αναλύσετε τον κώδικα JavaScript. Οι εφαρμογές React Native συχνά χρησιμοποιούν τρίτες υπηρεσίες όπως το Firebase, τα σημεία υπηρεσίας AWS S3, ιδιωτικά κλειδιά κ.λπ.

  2. Σε αυτή την συγκεκριμένη περίπτωση, παρατηρήθηκε ότι η εφαρμογή χρησιμοποιούσε την υπηρεσία Dialogflow. Αναζητήστε ένα μοτίβο σχετικό με τη διαμόρφωσή της.

  3. Ήταν τυχερό ότι ευαίσθητα σκληρά κωδικοποιημένα διαπιστευτήρια βρέθηκαν στον κώδικα JavaScript κατά τη διάρκεια της διαδικασίας αναγνώρισης.

Αναφορές

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Last updated