hacktricks/mobile-pentesting/cordova-apps.md

78 lines
6.4 KiB
Markdown
Raw Normal View History

# Cordova Apps
<details>
2024-02-10 15:36:32 +00:00
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-01-05 11:02:33 +00:00
2024-02-10 15:36:32 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **GitHub-Repositories** senden.
</details>
2024-02-10 15:36:32 +00:00
**Weitere Informationen finden Sie unter [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**. Dies ist eine Zusammenfassung:
2024-02-10 15:36:32 +00:00
Apache Cordova ermöglicht die Entwicklung von **hybriden Anwendungen** mit **JavaScript, HTML und CSS**. Es ermöglicht die Erstellung von Android- und iOS-Anwendungen. Es fehlt jedoch ein standardmäßiger Mechanismus zur Sicherung des Quellcodes der Anwendung. Im Gegensatz zu React Native kompiliert Cordova den Quellcode standardmäßig nicht, was zu Schwachstellen bei der Code-Manipulation führen kann. Cordova verwendet WebView zur Darstellung von Anwendungen, wodurch der HTML- und JavaScript-Code auch nach der Kompilierung in APK- oder IPA-Dateien zugänglich ist. React Native hingegen verwendet eine JavaScript-VM zur Ausführung von JavaScript-Code und bietet einen besseren Schutz des Quellcodes.
2024-02-10 15:36:32 +00:00
### Klonen einer Cordova-Anwendung
2024-02-10 15:36:32 +00:00
Bevor Sie eine Cordova-Anwendung klonen, stellen Sie sicher, dass NodeJS installiert ist, zusammen mit anderen Voraussetzungen wie dem Android SDK, Java JDK und Gradle. Die offizielle Cordova [Dokumentation](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) bietet eine umfassende Anleitung für diese Installationen.
2024-02-10 15:36:32 +00:00
Nehmen wir an, es gibt eine Beispielanwendung namens `Bank.apk` mit dem Paketnamen `com.android.bank`. Um auf den Quellcode zuzugreifen, entpacken Sie `bank.apk` und navigieren Sie zum Ordner `bank/assets/www`. Dieser Ordner enthält den vollständigen Quellcode der Anwendung, einschließlich HTML- und JS-Dateien. Die Konfiguration der Anwendung befindet sich in `bank/res/xml/config.xml`.
2024-02-10 15:36:32 +00:00
Um die Anwendung zu klonen, befolgen Sie diese Schritte:
```bash
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new
```
2024-02-10 15:36:32 +00:00
Kopieren Sie den Inhalt von `bank/assets/www` nach `bank-new/www`, mit Ausnahme von `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` und dem Verzeichnis `plugins/`.
2024-02-10 15:36:32 +00:00
Geben Sie bei der Erstellung eines neuen Cordova-Projekts die Plattform (Android oder iOS) an. Um eine Android-App zu klonen, fügen Sie die Android-Plattform hinzu. Beachten Sie, dass die Plattformversionen von Cordova und die Android-API-Ebenen unterschiedlich sind. Weitere Informationen zu Plattformversionen und unterstützten Android-APIs finden Sie in der Cordova [Dokumentation](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/).
2024-02-10 15:36:32 +00:00
Um die geeignete Cordova Android Plattformversion zu ermitteln, überprüfen Sie das `PLATFORM_VERSION_BUILD_LABEL` in der `cordova.js`-Datei der Originalanwendung.
2024-02-10 15:36:32 +00:00
Nachdem Sie die Plattform eingerichtet haben, installieren Sie die erforderlichen Plugins. Die Datei `bank/assets/www/cordova_plugins.js` der Originalanwendung enthält eine Liste aller Plugins und ihrer Versionen. Installieren Sie jedes Plugin einzeln wie unten gezeigt:
```bash
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
```
2024-02-10 15:36:32 +00:00
Wenn ein Plugin nicht auf npm verfügbar ist, kann es von GitHub bezogen werden:
```bash
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
```
2024-02-10 15:36:32 +00:00
Stellen Sie sicher, dass alle Voraussetzungen erfüllt sind, bevor Sie kompilieren:
```bash
cd bank-new
cordova requirements
```
2024-02-10 15:36:32 +00:00
Um die APK zu erstellen, verwenden Sie den folgenden Befehl:
```bash
cd bank-new
cordova build android — packageType=apk
```
2024-02-10 15:36:32 +00:00
Dieser Befehl generiert eine APK mit der Debug-Option aktiviert, um das Debuggen über Google Chrome zu erleichtern. Es ist wichtig, die APK vor der Installation zu signieren, insbesondere wenn die Anwendung Mechanismen zur Erkennung von Code-Manipulationen enthält.
2024-02-10 15:36:32 +00:00
### Automatisierungstool
2024-02-10 15:36:32 +00:00
Für diejenigen, die den Klonprozess automatisieren möchten, wird das Tool **[MobSecco](https://github.com/Anof-cyber/MobSecco)** empfohlen. Es vereinfacht das Klonen von Android-Anwendungen und vereinfacht die oben beschriebenen Schritte.
<details>
2024-02-10 15:36:32 +00:00
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-01-05 11:02:33 +00:00
2024-02-10 15:36:32 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
</details>