Cordova Apps

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Per ulteriori dettagli consulta https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Questo è un riassunto:

Apache Cordova è riconosciuto per consentire lo sviluppo di applicazioni ibride utilizzando JavaScript, HTML e CSS. Consente la creazione di applicazioni Android e iOS; tuttavia, manca di un meccanismo predefinito per proteggere il codice sorgente dell'applicazione. A differenza di React Native, Cordova non compila il codice sorgente per impostazione predefinita, il che può portare a vulnerabilità di manomissione del codice. Cordova utilizza WebView per renderizzare le applicazioni, esponendo il codice HTML e JavaScript anche dopo essere stato compilato in file APK o IPA. React Native, al contrario, utilizza una VM JavaScript per eseguire il codice JavaScript, offrendo una migliore protezione del codice sorgente.

Clonare un'applicazione Cordova

Prima di clonare un'applicazione Cordova, assicurarsi che NodeJS sia installato insieme ad altri prerequisiti come Android SDK, Java JDK e Gradle. La documentazione ufficiale di Cordova documentation fornisce una guida completa per queste installazioni.

Considera un'applicazione di esempio chiamata Bank.apk con il nome del pacchetto com.android.bank. Per accedere al codice sorgente, decomprimere bank.apk e navigare nella cartella bank/assets/www. Questa cartella contiene il codice sorgente completo dell'applicazione, inclusi file HTML e JS. La configurazione dell'applicazione può essere trovata in bank/res/xml/config.xml.

Per clonare l'applicazione, seguire questi passaggi:

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

Copia il contenuto di bank/assets/www in bank-new/www, escludendo cordova_plugins.js, cordova.js, cordova-js-src/ e la directory plugins/.

Specifica la piattaforma (Android o iOS) durante la creazione di un nuovo progetto Cordova. Per clonare un'app Android, aggiungi la piattaforma Android. Nota che le versioni delle piattaforme Cordova e i livelli delle API Android sono distinti. Consulta la documentazione di Cordova per i dettagli sulle versioni delle piattaforme e le API Android supportate.

Per determinare la versione appropriata della piattaforma Cordova Android, controlla il valore PLATFORM_VERSION_BUILD_LABEL nel file cordova.js dell'applicazione originale.

Dopo aver configurato la piattaforma, installa i plugin necessari. Il file bank/assets/www/cordova_plugins.js dell'applicazione originale elenca tutti i plugin e le loro versioni. Installa ogni plugin singolarmente come mostrato di seguito:

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

Se un plugin non è disponibile su npm, è possibile ottenerlo da GitHub:

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

Assicurarsi che tutti i prerequisiti siano soddisfatti prima di compilare:

cd bank-new
cordova requirements

Per creare l'APK, utilizzare il seguente comando:

cd bank-new
cordova build android  packageType=apk

Questo comando genera un APK con l'opzione di debug abilitata, facilitando il debug tramite Google Chrome. È fondamentale firmare l'APK prima dell'installazione, soprattutto se l'applicazione include meccanismi di rilevamento della manipolazione del codice.

Strumento di automazione

Per coloro che cercano di automatizzare il processo di clonazione, MobSecco è uno strumento consigliato. Semplifica la clonazione delle applicazioni Android, semplificando i passaggi descritti sopra.

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated