hacktricks/mobile-pentesting/cordova-apps.md

5.7 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
{% endhint %}

Kwa maelezo zaidi angalia https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Hii ni muhtasari:

Apache Cordova inatambulika kwa kuwezesha maendeleo ya maombi ya mchanganyiko kwa kutumia JavaScript, HTML, na CSS. Inaruhusu uundaji wa maombi ya Android na iOS; hata hivyo, haina mekanizma ya msingi ya kulinda msimbo wa chanzo wa programu. Kinyume na React Native, Cordova haitengenezi msimbo wa chanzo kwa msingi, ambayo inaweza kusababisha udhaifu wa kubadilisha msimbo. Cordova inatumia WebView kuonyesha maombi, ikifunua msimbo wa HTML na JavaScript hata baada ya kutengenezwa kuwa faili za APK au IPA. React Native, kinyume chake, inatumia JavaScript VM kutekeleza msimbo wa JavaScript, ikitoa ulinzi bora wa msimbo wa chanzo.

K cloning ya Programu ya Cordova

Kabla ya cloning ya programu ya Cordova, hakikisha kuwa NodeJS imewekwa pamoja na mahitaji mengine kama Android SDK, Java JDK, na Gradle. Nyaraka rasmi za Cordova inatoa mwongozo kamili wa usakinishaji huu.

Fikiria mfano wa programu inayoitwa Bank.apk yenye jina la kifurushi com.android.bank. Ili kufikia msimbo wa chanzo, fungua bank.apk na uelekee kwenye folda bank/assets/www. Folda hii ina msimbo kamili wa chanzo wa programu, ikiwa ni pamoja na faili za HTML na JS. Mipangilio ya programu inaweza kupatikana katika bank/res/xml/config.xml.

Ili cloning ya programu, fuata hatua hizi:

npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new

Kopi taarifa za bank/assets/www hadi bank-new/www, ukiondoa cordova_plugins.js, cordova.js, cordova-js-src/, na saraka ya plugins/.

Taja jukwaa (Android au iOS) unapounda mradi mpya wa Cordova. Kwa kunakili programu ya Android, ongeza jukwaa la Android. Kumbuka kwamba toleo za jukwaa la Cordova na viwango vya API vya Android ni tofauti. Angalia nyaraka za Cordova kwa maelezo kuhusu toleo za jukwaa na APIs za Android zinazoungwa mkono.

Ili kubaini toleo sahihi la jukwaa la Cordova Android, angalia PLATFORM_VERSION_BUILD_LABEL katika faili ya cordova.js ya programu ya asili.

Baada ya kuweka jukwaa, sakinisha plugins zinazohitajika. Faili ya bank/assets/www/cordova_plugins.js ya programu ya asili inataja plugins zote na toleo zao. Sakinisha kila plugin moja kwa moja kama inavyoonyeshwa hapa chini:

cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1

Ikiwa plugin haipatikani kwenye npm, inaweza kupatikana kutoka GitHub:

cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git

Hakikisha mahitaji yote ya awali yamekamilishwa kabla ya kukusanya:

cd bank-new
cordova requirements

Ili kujenga APK, tumia amri ifuatayo:

cd bank-new
cordova build android — packageType=apk

Hii amri inazalisha APK yenye chaguo la debug limewezeshwa, ikirahisisha ufuatiliaji kupitia Google Chrome. Ni muhimu kusaini APK kabla ya usakinishaji, hasa ikiwa programu ina mifumo ya kugundua udanganyifu wa msimbo.

Zana ya Utaftaji

Kwa wale wanaotafuta kuharakisha mchakato wa kunakili, MobSecco ni zana inayopendekezwa. Inarahisisha kunakili programu za Android, ikifanya hatua zilizoelezwa hapo juu kuwa rahisi.

{% 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
{% endhint %}