Cordova Apps

Aprende a hackear AWS desde cero hasta convertirte en un experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Para más detalles, consulta https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Esto 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. Por otro lado, React Native emplea una máquina virtual de JavaScript para ejecutar el código JavaScript, ofreciendo una mejor protección del código fuente.

Clonar una Aplicación Cordova

Antes de clonar una aplicación Cordova, asegúrate de tener instalado NodeJS junto con otros requisitos como el SDK de Android, Java JDK y Gradle. La documentación oficial de Cordova proporciona una guía completa para estas instalaciones.

Considera una aplicación de ejemplo llamada Bank.apk con el nombre de paquete com.android.bank. Para acceder al código fuente, descomprime bank.apk y navega hasta 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:

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

Copie el contenido de bank/assets/www a bank-new/www, excluyendo cordova_plugins.js, cordova.js, cordova-js-src/ y el directorio plugins/.

Especifique la plataforma (Android o iOS) al crear un nuevo proyecto de Cordova. Para clonar una aplicación Android, agregue la plataforma Android. Tenga en cuenta que las versiones de plataforma de Cordova y los niveles de API de Android son distintos. Consulte la documentación de Cordova para obtener detalles sobre las versiones de plataforma y las API de Android admitidas.

Para determinar la versión de plataforma de Cordova Android adecuada, verifique el PLATFORM_VERSION_BUILD_LABEL en el archivo cordova.js de la aplicación original.

Después de configurar la plataforma, instale los plugins requeridos. El archivo bank/assets/www/cordova_plugins.js de la aplicación original enumera todos los plugins y sus versiones. Instale cada plugin individualmente como se muestra a continuación:

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

Si un plugin no está disponible en npm, se puede obtener desde GitHub:

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

Asegúrese de que se cumplan todos los requisitos previos antes de compilar:

cd bank-new
cordova requirements

Para construir el APK, utiliza el siguiente comando:

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 es una herramienta recomendada. Simplifica la clonación de aplicaciones de Android, simplificando los pasos mencionados anteriormente.

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización