mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
79 lines
7 KiB
Markdown
79 lines
7 KiB
Markdown
# Cordova Apps
|
||
|
||
{% hint style="success" %}
|
||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Support HackTricks</summary>
|
||
|
||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
**詳細については、[https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](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 [ドキュメント](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building)は、これらのインストールに関する包括的なガイドを提供しています。
|
||
|
||
`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.js`、`cordova.js`、`cordova-js-src/`、および`plugins/`ディレクトリは除外します。
|
||
|
||
新しいCordovaプロジェクトを作成する際には、プラットフォーム(AndroidまたはiOS)を指定してください。Androidアプリをクローンする場合は、Androidプラットフォームを追加します。CordovaのプラットフォームバージョンとAndroid APIレベルは異なることに注意してください。プラットフォームバージョンとサポートされているAndroid APIの詳細については、Cordovaの[ドキュメント](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/)を参照してください。
|
||
|
||
適切な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](https://github.com/Anof-cyber/MobSecco)**をお勧めします。これは、Androidアプリケーションのクローンを簡素化し、上記の手順を簡略化します。
|
||
|
||
{% hint style="success" %}
|
||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Support HackTricks</summary>
|
||
|
||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||
|
||
</details>
|
||
{% endhint %}
|