Cordova Apps
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
詳細については、https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58を確認してください。これは要約です:
Apache Cordovaは、JavaScript、HTML、CSSを使用してハイブリッドアプリケーションの開発を可能にすることで知られています。これにより、AndroidおよびiOSアプリケーションの作成が可能ですが、アプリケーションのソースコードを保護するためのデフォルトのメカニズムが欠けています。React Nativeとは異なり、Cordovaはデフォルトでソースコードをコンパイルしないため、コード改ざんの脆弱性が生じる可能性があります。CordovaはWebViewを使用してアプリケーションをレンダリングし、APKまたはIPAファイルにコンパイルされた後でもHTMLおよびJavaScriptコードを露出させます。一方、React NativeはJavaScript VMを使用してJavaScriptコードを実行し、より良いソースコード保護を提供します。
Cordovaアプリケーションをクローンする前に、NodeJSがインストールされていることを確認し、Android SDK、Java JDK、Gradleなどの他の前提条件もインストールしてください。公式のCordova ドキュメントは、これらのインストールに関する包括的なガイドを提供しています。
com.android.bank
というパッケージ名のBank.apk
という例のアプリケーションを考えてみましょう。ソースコードにアクセスするには、bank.apk
を解凍し、bank/assets/www
フォルダーに移動します。このフォルダーには、HTMLおよびJSファイルを含むアプリケーションの完全なソースコードが含まれています。アプリケーションの設定はbank/res/xml/config.xml
にあります。
アプリケーションをクローンするには、次の手順に従ってください:
bank/assets/www
の内容をbank-new/www
にコピーしますが、cordova_plugins.js
、cordova.js
、cordova-js-src/
、およびplugins/
ディレクトリは除外します。
新しいCordovaプロジェクトを作成する際には、プラットフォーム(AndroidまたはiOS)を指定してください。Androidアプリをクローンする場合は、Androidプラットフォームを追加します。CordovaのプラットフォームバージョンとAndroid APIレベルは異なることに注意してください。プラットフォームバージョンとサポートされているAndroid APIの詳細については、Cordovaのドキュメントを参照してください。
適切なCordova Androidプラットフォームバージョンを確認するには、元のアプリケーションのcordova.js
ファイル内のPLATFORM_VERSION_BUILD_LABEL
をチェックしてください。
プラットフォームの設定後、必要なプラグインをインストールします。元のアプリケーションのbank/assets/www/cordova_plugins.js
ファイルには、すべてのプラグインとそのバージョンがリストされています。以下のように、各プラグインを個別にインストールします。
もしプラグインがnpmで利用できない場合は、GitHubから取得できます:
すべての前提条件が満たされていることを確認してからコンパイルしてください:
APKをビルドするには、次のコマンドを使用します:
このコマンドは、デバッグオプションが有効なAPKを生成し、Google Chromeを介したデバッグを容易にします。アプリケーションにコード改ざん検出メカニズムが含まれている場合、インストール前にAPKに署名することが重要です。
クローンプロセスを自動化したい方には、**MobSecco**をお勧めします。これは、Androidアプリケーションのクローンを簡素化し、上記の手順を簡略化します。
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)