mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 06:30:37 +00:00
79 lines
6.1 KiB
Markdown
79 lines
6.1 KiB
Markdown
# Aplicaciones Cordova
|
|
|
|
{% 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 %}
|
|
|
|
**Para más detalles, consulta [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**. Este es un resumen:
|
|
|
|
Apache Cordova es reconocido por permitir el desarrollo de **aplicaciones híbridas** utilizando **JavaScript, HTML y CSS**. Permite la creación de aplicaciones para Android e iOS; sin embargo, carece de un mecanismo predeterminado para asegurar el código fuente de la aplicación. A diferencia de React Native, Cordova no compila el código fuente por defecto, lo que puede llevar a vulnerabilidades de manipulación de código. Cordova utiliza WebView para renderizar aplicaciones, exponiendo el código HTML y JavaScript incluso después de ser compilado en archivos APK o IPA. React Native, en cambio, emplea una VM de JavaScript para ejecutar código JavaScript, ofreciendo mejor protección del código fuente.
|
|
|
|
### Clonando una Aplicación Cordova
|
|
|
|
Antes de clonar una aplicación Cordova, asegúrate de que NodeJS esté instalado junto con otros requisitos previos como el SDK de Android, Java JDK y Gradle. La [documentación](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) oficial de Cordova proporciona una guía completa para estas instalaciones.
|
|
|
|
Considera un ejemplo de aplicación llamada `Bank.apk` con el nombre de paquete `com.android.bank`. Para acceder al código fuente, descomprime `bank.apk` y navega a la carpeta `bank/assets/www`. Esta carpeta contiene el código fuente completo de la aplicación, incluidos los archivos HTML y JS. La configuración de la aplicación se puede encontrar en `bank/res/xml/config.xml`.
|
|
|
|
Para clonar la aplicación, sigue estos pasos:
|
|
```bash
|
|
npm install -g cordova@latest
|
|
cordova create bank-new com.android.bank Bank
|
|
cd bank-new
|
|
```
|
|
Copia el contenido de `bank/assets/www` a `bank-new/www`, excluyendo `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` y el directorio `plugins/`.
|
|
|
|
Especifica la plataforma (Android o iOS) al crear un nuevo proyecto de Cordova. Para clonar una aplicación de Android, añade la plataforma Android. Ten en cuenta que las versiones de plataforma de Cordova y los niveles de API de Android son distintos. Consulta la [documentación](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) de Cordova para obtener detalles sobre las versiones de plataforma y las API de Android compatibles.
|
|
|
|
Para determinar la versión de plataforma de Cordova Android adecuada, verifica el `PLATFORM_VERSION_BUILD_LABEL` en el archivo `cordova.js` de la aplicación original.
|
|
|
|
Después de configurar la plataforma, instala los plugins requeridos. El archivo `bank/assets/www/cordova_plugins.js` de la aplicación original enumera todos los plugins y sus versiones. Instala cada plugin individualmente como se muestra a continuación:
|
|
```bash
|
|
cd bank-new
|
|
cordova plugin add cordova-plugin-dialogs@2.0.1
|
|
```
|
|
Si un plugin no está disponible en npm, se puede obtener de GitHub:
|
|
```bash
|
|
cd bank-new
|
|
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
|
|
```
|
|
Asegúrate de que se cumplan todos los requisitos previos antes de compilar:
|
|
```bash
|
|
cd bank-new
|
|
cordova requirements
|
|
```
|
|
Para construir el APK, usa el siguiente comando:
|
|
```bash
|
|
cd bank-new
|
|
cordova build android — packageType=apk
|
|
```
|
|
Este comando genera un APK con la opción de depuración habilitada, facilitando la depuración a través de Google Chrome. Es crucial firmar el APK antes de la instalación, especialmente si la aplicación incluye mecanismos de detección de manipulación de código.
|
|
|
|
### Herramienta de Automatización
|
|
|
|
Para aquellos que buscan automatizar el proceso de clonación, **[MobSecco](https://github.com/Anof-cyber/MobSecco)** es una herramienta recomendada. Simplifica la clonación de aplicaciones de Android, facilitando los pasos descritos anteriormente.
|
|
|
|
{% 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 %}
|