mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
79 lines
6.1 KiB
Markdown
79 lines
6.1 KiB
Markdown
# Cordova Apps
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
**Für weitere Details siehe [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:
|
|
|
|
Apache Cordova ist bekannt dafür, die Entwicklung von **hybriden Anwendungen** mit **JavaScript, HTML und CSS** zu ermöglichen. Es erlaubt die Erstellung von Android- und iOS-Anwendungen; jedoch fehlt ein standardmäßiger Mechanismus zum Schutz des Quellcodes der Anwendung. Im Gegensatz zu React Native kompiliert Cordova den Quellcode standardmäßig nicht, was zu Sicherheitsanfälligkeiten durch Code-Manipulation führen kann. Cordova verwendet WebView, um Anwendungen darzustellen, wodurch der HTML- und JavaScript-Code auch nach der Kompilierung in APK- oder IPA-Dateien sichtbar bleibt. React Native hingegen verwendet eine JavaScript-VM zur Ausführung von JavaScript-Code, was einen besseren Schutz des Quellcodes bietet.
|
|
|
|
### Klonen einer Cordova-Anwendung
|
|
|
|
Bevor Sie eine Cordova-Anwendung klonen, stellen Sie sicher, dass NodeJS zusammen mit anderen Voraussetzungen wie dem Android SDK, Java JDK und Gradle installiert ist. 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.
|
|
|
|
Betrachten Sie ein 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 finden Sie in `bank/res/xml/config.xml`.
|
|
|
|
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
|
|
```
|
|
Kopiere den Inhalt von `bank/assets/www` nach `bank-new/www`, wobei `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` und das Verzeichnis `plugins/` ausgeschlossen werden.
|
|
|
|
Gib die Plattform (Android oder iOS) an, wenn du ein neues Cordova-Projekt erstellst. Für das Klonen einer Android-App füge die Android-Plattform hinzu. Beachte, dass die Plattformversionen von Cordova und die Android-API-Level unterschiedlich sind. Siehe die Cordova [Dokumentation](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) für Details zu Plattformversionen und unterstützten Android-APIs.
|
|
|
|
Um die geeignete Cordova Android-Plattformversion zu bestimmen, überprüfe das `PLATFORM_VERSION_BUILD_LABEL` in der `cordova.js`-Datei der ursprünglichen Anwendung.
|
|
|
|
Nachdem die Plattform eingerichtet ist, installiere die erforderlichen Plugins. Die `bank/assets/www/cordova_plugins.js`-Datei der ursprünglichen Anwendung listet alle Plugins und deren Versionen auf. Installiere jedes Plugin einzeln, wie unten gezeigt:
|
|
```bash
|
|
cd bank-new
|
|
cordova plugin add cordova-plugin-dialogs@2.0.1
|
|
```
|
|
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
|
|
```
|
|
Stellen Sie sicher, dass alle Voraussetzungen erfüllt sind, bevor Sie kompilieren:
|
|
```bash
|
|
cd bank-new
|
|
cordova requirements
|
|
```
|
|
Um die APK zu erstellen, verwenden Sie den folgenden Befehl:
|
|
```bash
|
|
cd bank-new
|
|
cordova build android — packageType=apk
|
|
```
|
|
Dieser Befehl generiert ein APK mit der Debug-Option aktiviert, was das Debuggen über Google Chrome erleichtert. Es ist entscheidend, das APK vor der Installation zu signieren, insbesondere wenn die Anwendung Mechanismen zur Erkennung von Code-Manipulationen enthält.
|
|
|
|
### Automatisierungstool
|
|
|
|
Für diejenigen, die den Klonprozess automatisieren möchten, ist **[MobSecco](https://github.com/Anof-cyber/MobSecco)** ein empfohlenes Tool. Es vereinfacht das Klonen von Android-Anwendungen und vereinfacht die oben beschriebenen Schritte.
|
|
|
|
{% hint style="success" %}
|
|
Lerne & übe AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Lerne & übe GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
|
|
* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos sendest.
|
|
|
|
</details>
|
|
{% endhint %}
|