Cordova Apps

Reading time: 7 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

詳細については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にあります。

アプリケーションをクローンするには、次の手順に従ってください:

bash
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new

bank/assets/www の内容を bank-new/www にコピーしますが、cordova_plugins.jscordova.jscordova-js-src/、および plugins/ ディレクトリは除外します。

新しい Cordova プロジェクトを作成する際には、プラットフォーム(Android または iOS)を指定してください。Android アプリをクローンする場合は、Android プラットフォームを追加します。Cordova のプラットフォームバージョンと Android API レベルは異なることに注意してください。プラットフォームバージョンとサポートされている Android API の詳細については、Cordova の documentation を参照してください。

適切な Cordova Android プラットフォームバージョンを確認するには、元のアプリケーションの cordova.js ファイル内の PLATFORM_VERSION_BUILD_LABEL をチェックしてください。

プラットフォームの設定後、必要なプラグインをインストールします。元のアプリケーションの bank/assets/www/cordova_plugins.js ファイルには、すべてのプラグインとそのバージョンがリストされています。以下のように各プラグインを個別にインストールします。

bash
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1

npmでプラグインが利用できない場合は、GitHubから取得できます:

bash
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git

すべての前提条件が満たされていることを確認してからコンパイルしてください:

bash
cd bank-new
cordova requirements

APKをビルドするには、次のコマンドを使用します:

bash
cd bank-new
cordova build android — packageType=apk

このコマンドは、デバッグオプションが有効なAPKを生成し、Google Chromeを介したデバッグを容易にします。アプリケーションにコード改ざん検出メカニズムが含まれている場合、特にインストール前にAPKに署名することが重要です。

自動化ツール

クローンプロセスを自動化したい方には、**MobSecco**をお勧めします。これは、上記の手順を簡素化し、Androidアプリケーションのクローン作成を効率化します。

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする