Applications Cordova
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- VĂ©rifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépÎts github.
Pour plus de détails, consultez https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Voici un résumé :
Apache Cordova est reconnu pour permettre le dĂ©veloppement d'applications hybrides utilisant JavaScript, HTML et CSS. Il permet la crĂ©ation d'applications Android et iOS ; cependant, il manque un mĂ©canisme par dĂ©faut pour sĂ©curiser le code source de l'application. Contrairement Ă React Native, Cordova ne compile pas le code source par dĂ©faut, ce qui peut entraĂźner des vulnĂ©rabilitĂ©s de falsification de code. Cordova utilise WebView pour rendre les applications, exposant le code HTML et JavaScript mĂȘme aprĂšs avoir Ă©tĂ© compilĂ© en fichiers APK ou IPA. React Native, en revanche, utilise une VM JavaScript pour exĂ©cuter le code JavaScript, offrant une meilleure protection du code source.
Clonage d'une application Cordova
Avant de cloner une application Cordova, assurez-vous que NodeJS est installé avec d'autres prérequis comme le SDK Android, le JDK Java et Gradle. La documentation officielle de Cordova fournit un guide complet pour ces installations.
Considérez un exemple d'application nommée Bank.apk
avec le nom de package com.android.bank
. Pour accéder au code source, décompressez bank.apk
et naviguez vers le dossier bank/assets/www
. Ce dossier contient le code source complet de l'application, y compris les fichiers HTML et JS. La configuration de l'application se trouve dans bank/res/xml/config.xml
.
Pour cloner l'application, suivez ces Ă©tapes :
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new
Copiez le contenu de bank/assets/www
vers bank-new/www
, en excluant cordova_plugins.js
, cordova.js
, cordova-js-src/
et le répertoire plugins/
.
Spécifiez la plateforme (Android ou iOS) lors de la création d'un nouveau projet Cordova. Pour cloner une application Android, ajoutez la plateforme Android. Notez que les versions de plateforme de Cordova et les niveaux d'API Android sont distincts. Consultez la documentation de Cordova pour plus de détails sur les versions de plateforme et les API Android prises en charge.
Pour déterminer la version appropriée de la plateforme Cordova Android, vérifiez le PLATFORM_VERSION_BUILD_LABEL
dans le fichier cordova.js
de l'application d'origine.
AprÚs avoir configuré la plateforme, installez les plugins requis. Le fichier bank/assets/www/cordova_plugins.js
de l'application d'origine répertorie tous les plugins et leurs versions. Installez chaque plugin individuellement comme indiqué ci-dessous :
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
Si un plugin n'est pas disponible sur npm, il peut ĂȘtre obtenu depuis GitHub :
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
Assurez-vous que toutes les conditions préalables sont remplies avant de compiler :
cd bank-new
cordova requirements
Pour construire l'APK, utilisez la commande suivante :
cd bank-new
cordova build android â packageType=apk
Cette commande génÚre un APK avec l'option de débogage activée, facilitant le débogage via Google Chrome. Il est crucial de signer l'APK avant l'installation, surtout si l'application inclut des mécanismes de détection de falsification de code.
Outil d'automatisation
Pour ceux qui cherchent à automatiser le processus de clonage, MobSecco est un outil recommandé. Il simplifie le clonage des applications Android, rendant plus faciles les étapes décrites ci-dessus.
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- VĂ©rifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépÎts github.