hacktricks/mobile-pentesting/cordova-apps.md

78 lines
5.9 KiB
Markdown
Raw Normal View History

2024-02-10 13:11:20 +00:00
# Cordova Aplikacije
<details>
2024-02-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-10 13:11:20 +00:00
Drugi načini da podržite HackTricks:
2024-01-05 11:02:33 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
2024-02-10 13:11:20 +00:00
**Za dalje detalje pogledajte [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**. Ovo je sažetak:
2024-02-10 13:11:20 +00:00
Apache Cordova je prepoznat po omogućavanju razvoja **hibridnih aplikacija** koristeći **JavaScript, HTML i CSS**. Omogućava kreiranje Android i iOS aplikacija; međutim, nedostaje mu podrazumevani mehanizam za zaštitu izvornog koda aplikacije. Za razliku od React Native-a, Cordova ne kompajlira izvorni kod podrazumevano, što može dovesti do ranjivosti izmenjivanja koda. Cordova koristi WebView za prikazivanje aplikacija, izlažući HTML i JavaScript kod čak i nakon što su kompajlirani u APK ili IPA fajlove. Sa druge strane, React Native koristi JavaScript VM za izvršavanje JavaScript koda, pružajući bolju zaštitu izvornog koda.
2024-02-10 13:11:20 +00:00
### Kloniranje Cordova Aplikacije
2024-02-10 13:11:20 +00:00
Pre kloniranja Cordova aplikacije, proverite da li je NodeJS instaliran zajedno sa ostalim preduslovima kao što su Android SDK, Java JDK i Gradle. Zvanična Cordova [dokumentacija](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) pruža sveobuhvatan vodič za ove instalacije.
2024-02-10 13:11:20 +00:00
Uzmimo za primer aplikaciju nazvanu `Bank.apk` sa paket imenom `com.android.bank`. Da biste pristupili izvornom kodu, raspakujte `bank.apk` i navigirajte do foldera `bank/assets/www`. Ovaj folder sadrži kompletni izvorni kod aplikacije, uključujući HTML i JS fajlove. Konfiguracija aplikacije se može pronaći u `bank/res/xml/config.xml`.
2024-02-10 13:11:20 +00:00
Da biste klonirali aplikaciju, pratite ove korake:
```bash
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new
```
2024-02-10 13:11:20 +00:00
Kopirajte sadržaj `bank/assets/www` u `bank-new/www`, isključujući `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` i direktorijum `plugins/`.
2024-02-10 13:11:20 +00:00
Prilikom kreiranja novog Cordova projekta, navedite platformu (Android ili iOS). Za kloniranje Android aplikacije, dodajte Android platformu. Imajte na umu da su verzije platforme Cordova i nivoi Android API-ja različiti. Za detalje o verzijama platforme i podržanim Android API-jima, pogledajte Cordova [dokumentaciju](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/).
2024-02-10 13:11:20 +00:00
Da biste odredili odgovarajuću verziju Cordova Android platforme, proverite `PLATFORM_VERSION_BUILD_LABEL` u `cordova.js` fajlu originalne aplikacije.
2024-02-10 13:11:20 +00:00
Nakon podešavanja platforme, instalirajte potrebne dodatke. Fajl `bank/assets/www/cordova_plugins.js` originalne aplikacije navodi sve dodatke i njihove verzije. Instalirajte svaki dodatak pojedinačno kako je prikazano ispod:
```bash
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
```
2024-02-10 13:11:20 +00:00
Ako plugin nije dostupan na npm-u, može se preuzeti sa GitHub-a:
```bash
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
```
2024-02-10 13:11:20 +00:00
Proverite da su ispunjeni svi preduslovi pre kompajliranja:
```bash
cd bank-new
cordova requirements
```
2024-02-10 13:11:20 +00:00
Da biste izgradili APK, koristite sledeću komandu:
```bash
cd bank-new
cordova build android — packageType=apk
```
2024-02-10 13:11:20 +00:00
Ova komanda generiše APK sa omogućenom opcijom za debagovanje, olakšavajući debagovanje putem Google Chrome-a. Ključno je potpisati APK pre instalacije, posebno ako aplikacija uključuje mehanizme za otkrivanje manipulacije kodom.
2024-02-10 13:11:20 +00:00
### Alat za automatizaciju
2024-02-10 13:11:20 +00:00
Za one koji žele automatizovati proces kloniranja, preporučeni alat je **[MobSecco](https://github.com/Anof-cyber/MobSecco)**. On pojednostavljuje proces kloniranja Android aplikacija, olakšavajući korake opisane gore.
<details>
2024-02-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-10 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2024-01-05 11:02:33 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite videti **oglašavanje vaše kompanije u HackTricks-u** ili **preuzeti HackTricks u PDF formatu**, pogledajte [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>