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

5.5 KiB
Raw Blame History

{% 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 %}

Аналіз додатків 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 під час процесу розвідки.

References

{% 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 %}