React Native Application

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

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 フォルダを見つけます。このフォルダ内には、React JavaScript をミニファイされた形式で含む index.android.bundle ファイルがあるはずです。

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

JavaScriptコードをさらに分析するために、同じディレクトリに以下のコードを含む index.html ファイルを作成します:

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

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

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

  2. OS Xの場合はCommand+Option+J、Windowsの場合はControl+Shift+Jを押して開発者ツールバーを開きます。

  3. 開発者ツールバーで「Sources」をクリックします。メインバンドルを構成するフォルダやファイルに分割されたJavaScriptファイルが表示されるはずです。

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

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

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

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

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

参考文献

htARTE(HackTricks AWS Red Team Expert)でAWSハッキングをゼロからヒーローまで学ぶ こちら

HackTricksをサポートする他の方法:

Last updated