7 KiB
Cordova Apps
{% 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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
詳細については、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アプリケーションのクローン作成
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
にあります。
アプリケーションをクローンするには、次の手順に従ってください:
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new
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
ファイルには、すべてのプラグインとそのバージョンがリストされています。以下のように、各プラグインを個別にインストールしてください。
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
もしプラグインがnpmで利用できない場合は、GitHubから取得できます:
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
すべての前提条件が満たされていることを確認してからコンパイルしてください:
cd bank-new
cordova requirements
APKをビルドするには、次のコマンドを使用します:
cd bank-new
cordova build android — packageType=apk
このコマンドは、デバッグオプションが有効なAPKを生成し、Google Chromeを介したデバッグを容易にします。アプリケーションにコード改ざん検出メカニズムが含まれている場合、インストール前にAPKに署名することが重要です。
自動化ツール
クローンプロセスを自動化したい方には、**MobSecco**をお勧めします。これは、Androidアプリケーションのクローンを簡素化し、上記の手順を簡略化します。
{% 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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.