Cordova Apps

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Για περισσότερες λεπτομέρειες ανατρέξτε στο https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Αυτό είναι ένα σύνοψη:

Το Apache Cordova αναγνωρίζεται για τη δυνατότητα ανάπτυξης υβριδικών εφαρμογών χρησιμοποιώντας JavaScript, HTML και CSS. Επιτρέπει τη δημιουργία εφαρμογών για Android και iOS, ωστόσο δεν διαθέτει έναν προεπιλεγμένο μηχανισμό για την ασφάλεια του πηγαίου κώδικα της εφαρμογής. Αντίθετα με το React Native, το Cordova δεν μεταγλωττίζει τον πηγαίο κώδικα από προεπιλογή, πράγμα που μπορεί να οδηγήσει σε ευπάθειες παραβίασης του κώδικα. Το Cordova χρησιμοποιεί το WebView για την απεικόνιση των εφαρμογών, εκθέτοντας τον HTML και τον κώδικα JavaScript ακόμα και μετά τη μεταγλώττισή τους σε αρχεία APK ή IPA. Αντίθετα, το React Native χρησιμοποιεί έναν εικονικό μηχανισμό JavaScript για την εκτέλεση του κώδικα JavaScript, προσφέροντας καλύτερη προστασία του πηγαίου κώδικα.

Κλωνοποίηση μιας εφαρμογής Cordova

Πριν από την κλωνοποίηση μιας εφαρμογής Cordova, βεβαιωθείτε ότι έχετε εγκαταστήσει το NodeJS μαζί με άλλες προαπαιτούμενες εργαλειοθήκες όπως το Android SDK, το Java JDK και το Gradle. Η επίσημη τεκμηρίωση του Cordova παρέχει έναν εκτενή οδηγό για αυτές τις εγκαταστάσεις.

Θεωρήστε μια εφαρμογή παράδειγμα με το όνομα Bank.apk και το όνομα πακέτου com.android.bank. Για να έχετε πρόσβαση στον πηγαίο κώδικα, αποσυμπιέστε το bank.apk και μεταβείτε στον φάκελο bank/assets/www. Αυτός ο φάκελος περιέχει τον πλήρη πηγαίο κώδικα της εφαρμογής, συμπεριλαμβανομένων των αρχείων HTML και JS. Οι ρυθμίσεις της εφαρμογής μπορούν να βρεθούν στο αρχείο bank/res/xml/config.xml.

Για να κλωνοποιήσετε την εφαρμογή, ακολουθήστε αυτά τα βήματα:

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/.

Καθορίστε την πλατφόρμα (Android ή iOS) κατά τη δημιουργία ενός νέου έργου Cordova. Για την κλωνοποίηση μιας εφαρμογής Android, προσθέστε την πλατφόρμα Android. Σημειώστε ότι οι εκδόσεις πλατφόρμας του Cordova και οι επίπεδα API του Android είναι διακριτά. Ανατρέξτε στην τεκμηρίωση του Cordova για λεπτομέρειες σχετικά με τις εκδόσεις πλατφόρμας και τα υποστηριζόμενα API του Android.

Για να προσδιορίσετε την κατάλληλη έκδοση της πλατφόρμας Cordova Android, ελέγξτε το PLATFORM_VERSION_BUILD_LABEL στο αρχείο cordova.js της αρχικής εφαρμογής.

Αφού ορίσετε την πλατφόρμα, εγκαταστήστε τα απαιτούμενα πρόσθετα. Το αρχείο bank/assets/www/cordova_plugins.js της αρχικής εφαρμογής περιλαμβάνει όλα τα πρόσθετα και τις εκδόσεις τους. Εγκαταστήστε κάθε πρόσθετο ξεχωριστά, όπως φαίνεται παρακάτω:

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

Εάν ένα πρόσθετο δεν είναι διαθέσιμο στο npm, μπορεί να αναζητηθεί από το GitHub:

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

Βεβαιωθείτε ότι έχουν πληρωθεί όλες οι προϋποθέσεις πριν από τη συγκέντρωση:

cd bank-new
cordova requirements

Για να δημιουργήσετε το APK, χρησιμοποιήστε την παρακάτω εντολή:

cd bank-new
cordova build android  packageType=apk

Αυτή η εντολή δημιουργεί ένα APK με την επιλογή αποσφαλμάτωσης ενεργοποιημένη, διευκολύνοντας την αποσφαλμάτωση μέσω του Google Chrome. Είναι κρίσιμο να υπογράψετε το APK πριν την εγκατάσταση, ειδικά αν η εφαρμογή περιλαμβάνει μηχανισμούς ανίχνευσης παρεμβολής κώδικα.

Εργαλείο Αυτοματισμού

Για όσους επιθυμούν να αυτοματοποιήσουν τη διαδικασία κλωνοποίησης, το MobSecco είναι ένα συνιστώμενο εργαλείο. Απλοποιεί τη διαδικασία κλωνοποίησης εφαρμογών Android, απλοποιώντας τα παραπάνω βήματα.

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated