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.zipunzip -qq example-apk.zip -d ReactNative を使用して新しいフォルダーに抽出します。

  2. 新しく作成された ReactNative フォルダーに移動し、assets フォルダーを見つけます。このフォルダー内に、minified 形式の React JavaScript を含む index.android.bundle ファイルがあるはずです。

  3. コマンド find . -print | grep -i ".bundle$" を使用して JavaScript ファイルを検索します。

JavaScript コードをさらに分析するには、同じディレクトリに index.html という名前のファイルを作成し、以下のコードを記述します:

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

ファイルをhttps://spaceraccoon.github.io/webpack-exploder/にアップロードするか、次の手順に従ってください。

  1. Google Chromeでindex.htmlファイルを開きます。

  2. OS Xの場合はCommand+Option+JWindowsの場合はControl+Shift+Jを押してDeveloper Toolbarを開きます。

  3. Developer Toolbarで「Sources」をクリックします。フォルダーとファイルに分割されたJavaScriptファイルが表示され、メインバンドルを構成しています。

index.android.bundle.mapというファイルが見つかれば、非圧縮形式でソースコードを分析できます。マップファイルにはソースマッピングが含まれており、圧縮された識別子をマッピングできます。

機密の資格情報やエンドポイントを検索するには、次の手順に従ってください。

  1. JavaScriptコードを分析するための機密キーワードを特定します。React Nativeアプリケーションは、Firebase、AWS S3サービスエンドポイント、プライベートキーなどのサードパーティサービスを使用することがよくあります。

  2. この特定のケースでは、アプリケーションがDialogflowサービスを使用していることが観察されました。その設定に関連するパターンを検索します。

  3. 再コンプロセス中にJavaScriptコード内で機密のハードコーディングされた資格情報が見つかったのは幸運でした。

References

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