6.1 KiB
Cordova Uygulamaları
AWS hacklemeyi sıfırdan kahramanla öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklam vermek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
Daha fazla ayrıntı için https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58'e bakın. İşte bir özet:
Apache Cordova, JavaScript, HTML ve CSS kullanarak hibrit uygulamaların geliştirilmesini sağlamasıyla tanınır. Android ve iOS uygulamalarının oluşturulmasına izin verir; ancak, uygulamanın kaynak kodunu güvence altına almak için varsayılan bir mekanizma sunmaz. React Native'in aksine, Cordova kaynak kodunu varsayılan olarak derlemez, bu da kod manipülasyonu açıklarına yol açabilir. Cordova, uygulamaları render etmek için WebView'i kullanır ve HTML ve JavaScript kodunu APK veya IPA dosyalarına derlendikten sonra bile açığa çıkarır. Öte yandan, React Native, JavaScript kodunu yürütmek için bir JavaScript VM kullanır ve daha iyi kaynak kodu koruması sunar.
Bir Cordova Uygulamasını Klonlama
Bir Cordova uygulamasını klonlamadan önce, NodeJS'in yanı sıra Android SDK, Java JDK ve Gradle gibi diğer önkoşulların yüklü olduğundan emin olun. Resmi Cordova belgeleri bu kurulumlar için kapsamlı bir kılavuz sağlar.
Bank.apk
adında bir örnek uygulamayı düşünelim ve paket adı com.android.bank
olsun. Kaynak koduna erişmek için bank.apk
dosyasını açın ve bank/assets/www
klasörüne gidin. Bu klasör, uygulamanın HTML ve JS dosyaları dahil olmak üzere tam kaynak kodunu içerir. Uygulamanın yapılandırması bank/res/xml/config.xml
dosyasında bulunabilir.
Uygulamayı klonlamak için şu adımları izleyin:
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new
bank/assets/www
klasöründeki içeriği, cordova_plugins.js
, cordova.js
, cordova-js-src/
ve plugins/
dizinini hariç tutarak bank-new/www
klasörüne kopyalayın.
Yeni bir Cordova projesi oluştururken platformu (Android veya iOS) belirtin. Bir Android uygulamasını klonlamak için Android platformunu ekleyin. Unutmayın, Cordova'nın platform sürümleri ve Android API seviyeleri farklıdır. Platform sürümleri ve desteklenen Android API'leri hakkında ayrıntılı bilgi için Cordova belgelerine başvurun.
Uygun Cordova Android platform sürümünü belirlemek için orijinal uygulamanın cordova.js
dosyasındaki PLATFORM_VERSION_BUILD_LABEL
değerini kontrol edin.
Platformu ayarladıktan sonra gerekli eklentileri yükleyin. Orijinal uygulamanın bank/assets/www/cordova_plugins.js
dosyası tüm eklentileri ve sürümlerini listeler. Aşağıda gösterildiği gibi her eklentiyi ayrı ayrı yükleyin:
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
Eğer bir eklenti npm'de mevcut değilse, GitHub üzerinden temin edilebilir:
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
Derleme yapmadan önce tüm önkoşulların karşılandığından emin olun:
cd bank-new
cordova requirements
APK'yi oluşturmak için aşağıdaki komutu kullanın:
cd bank-new
cordova build android — packageType=apk
Bu komut, hata ayıklamayı Google Chrome üzerinden kolaylaştıran hata ayıklama seçeneği etkinleştirilmiş bir APK oluşturur. Özellikle uygulama kodu manipülasyonu tespit mekanizmaları içeriyorsa, APK'nın kurulmadan önce imzalanması önemlidir.
Otomasyon Aracı
Klonlama sürecini otomatikleştirmek isteyenler için MobSecco önerilen bir araçtır. Bu, yukarıda açıklanan adımları basitleştirerek Android uygulamalarının klonlanmasını kolaylaştırır.
AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Red Team Expert)'ı öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklam vermek isterseniz veya HackTricks'i PDF olarak indirmek isterseniz ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Family koleksiyonumuzu keşfedin, özel NFT'lerimizi görün
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.