hacktricks/mobile-pentesting/cordova-apps.md

78 lines
9.3 KiB
Markdown
Raw Normal View History

2024-02-10 22:40:18 +00:00
# Εφαρμογές Cordova
<details>
2024-02-10 22:40:18 +00:00
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-10 22:40:18 +00:00
Άλλοι τρόποι υποστήριξης του HackTricks:
2024-01-05 11:02:33 +00:00
2024-02-10 22:40:18 +00:00
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
2024-02-10 22:40:18 +00:00
**Για περισσότερες λεπτομέρειες ανατρέξτε στο [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**. Αυτό είναι ένα σύνοψη:
2024-02-10 22:40:18 +00:00
Το Apache Cordova αναγνωρίζεται για τη δυνατότητα ανάπτυξης **υβριδικών εφαρμογών** χρησιμοποιώντας **JavaScript, HTML και CSS**. Επιτρέπει τη δημιουργία εφαρμογών για Android και iOS, ωστόσο δεν διαθέτει έναν προεπιλεγμένο μηχανισμό για την ασφάλεια του πηγαίου κώδικα της εφαρμογής. Αντίθετα με το React Native, το Cordova δεν μεταγλωττίζει τον πηγαίο κώδικα από προεπιλογή, πράγμα που μπορεί να οδηγήσει σε ευπάθειες παραβίασης του κώδικα. Το Cordova χρησιμοποιεί το WebView για την απεικόνιση των εφαρμογών, εκθέτοντας τον HTML και τον κώδικα JavaScript ακόμα και μετά τη μεταγλώττισή τους σε αρχεία APK ή IPA. Αντίθετα, το React Native χρησιμοποιεί έναν εικονικό μηχανισμό JavaScript για την εκτέλεση του κώδικα JavaScript, προσφέροντας καλύτερη προστασία του πηγαίου κώδικα.
2024-02-10 22:40:18 +00:00
### Κλωνοποίηση μιας εφαρμογής Cordova
2024-02-10 22:40:18 +00:00
Πριν από την κλωνοποίηση μιας εφαρμογής Cordova, βεβαιωθείτε ότι έχετε εγκαταστήσει το NodeJS μαζί με άλλες προαπαιτούμενες εργαλειοθήκες όπως το Android SDK, το Java JDK και το Gradle. Η επίσημη [τεκμηρίωση](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) του Cordova παρέχει έναν εκτενή οδηγό για αυτές τις εγκαταστάσεις.
2024-02-10 22:40:18 +00:00
Θεωρήστε μια εφαρμογή παράδειγμα με το όνομα `Bank.apk` και το όνομα πακέτου `com.android.bank`. Για να έχετε πρόσβαση στον πηγαίο κώδικα, αποσυμπιέστε το `bank.apk` και μεταβείτε στον φάκελο `bank/assets/www`. Αυτός ο φάκελος περιέχει τον πλήρη πηγαίο κώδικα της εφαρμογής, συμπεριλαμβανομένων των αρχείων HTML και JS. Οι ρυθμίσεις της εφαρμογής μπορούν να βρεθούν στο αρχείο `bank/res/xml/config.xml`.
2024-02-10 22:40:18 +00:00
Για να κλωνοποιήσετε την εφαρμογή, ακολουθήστε αυτά τα βήματα:
```bash
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new
```
2024-02-10 22:40:18 +00:00
Αντιγράψτε το περιεχόμενο του `bank/assets/www` στο `bank-new/www`, εξαιρουμένων των αρχείων `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` και του φακέλου `plugins/`.
2024-02-10 22:40:18 +00:00
Καθορίστε την πλατφόρμα (Android ή iOS) κατά τη δημιουργία ενός νέου έργου Cordova. Για την κλωνοποίηση μιας εφαρμογής Android, προσθέστε την πλατφόρμα Android. Σημειώστε ότι οι εκδόσεις πλατφόρμας του Cordova και οι επίπεδα API του Android είναι διακριτά. Ανατρέξτε στην [τεκμηρίωση](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) του Cordova για λεπτομέρειες σχετικά με τις εκδόσεις πλατφόρμας και τα υποστηριζόμενα API του Android.
2024-02-10 22:40:18 +00:00
Για να προσδιορίσετε την κατάλληλη έκδοση της πλατφόρμας Cordova Android, ελέγξτε το `PLATFORM_VERSION_BUILD_LABEL` στο αρχείο `cordova.js` της αρχικής εφαρμογής.
2024-02-10 22:40:18 +00:00
Αφού ορίσετε την πλατφόρμα, εγκαταστήστε τα απαιτούμενα πρόσθετα. Το αρχείο `bank/assets/www/cordova_plugins.js` της αρχικής εφαρμογής περιλαμβάνει όλα τα πρόσθετα και τις εκδόσεις τους. Εγκαταστήστε κάθε πρόσθετο ξεχωριστά, όπως φαίνεται παρακάτω:
```bash
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
```
2024-02-10 22:40:18 +00:00
Εάν ένα πρόσθετο δεν είναι διαθέσιμο στο npm, μπορεί να αναζητηθεί από το GitHub:
```bash
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
```
2024-02-10 22:40:18 +00:00
Βεβαιωθείτε ότι έχουν πληρωθεί όλες οι προϋποθέσεις πριν από τη συγκέντρωση:
```bash
cd bank-new
cordova requirements
```
2024-02-10 22:40:18 +00:00
Για να δημιουργήσετε το APK, χρησιμοποιήστε την παρακάτω εντολή:
```bash
cd bank-new
cordova build android — packageType=apk
```
2024-02-10 22:40:18 +00:00
Αυτή η εντολή δημιουργεί ένα APK με την επιλογή αποσφαλμάτωσης ενεργοποιημένη, διευκολύνοντας την αποσφαλμάτωση μέσω του Google Chrome. Είναι κρίσιμο να υπογράψετε το APK πριν την εγκατάσταση, ειδικά αν η εφαρμογή περιλαμβάνει μηχανισμούς ανίχνευσης παρεμβολής κώδικα.
2024-02-10 22:40:18 +00:00
### Εργαλείο Αυτοματισμού
2024-02-10 22:40:18 +00:00
Για όσους επιθυμούν να αυτοματοποιήσουν τη διαδικασία κλωνοποίησης, το **[MobSecco](https://github.com/Anof-cyber/MobSecco)** είναι ένα συνιστώμενο εργαλείο. Απλοποιεί τη διαδικασία κλωνοποίησης εφαρμογών Android, απλοποιώντας τα παραπάνω βήματα.
<details>
2024-02-10 22:40:18 +00:00
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-10 22:40:18 +00:00
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
2024-01-05 11:02:33 +00:00
2024-02-10 22:40:18 +00:00
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Συμμετάσχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>