6.1 KiB
Cordova Apps
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Für weitere Details siehe 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 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:
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 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:
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:
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:
cd bank-new
cordova requirements
Um die APK zu erstellen, verwenden Sie den folgenden Befehl:
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 ein empfohlenes Tool. Es vereinfacht das Klonen von Android-Anwendungen und vereinfacht die oben beschriebenen Schritte.
{% hint style="success" %}
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Überprüfe die Abonnementpläne!
- Tritt der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folge uns auf Twitter 🐦 @hacktricks_live.
- Teile Hacking-Tricks, indem du PRs an die HackTricks und HackTricks Cloud GitHub-Repos sendest.