.. | ||
drozer-tutorial | ||
frida-tutorial | ||
adb-commands.md | ||
android-applications-basics.md | ||
android-task-hijacking.md | ||
apk-decompilers.md | ||
avd-android-virtual-device.md | ||
bypass-biometric-authentication-android.md | ||
content-protocol.md | ||
exploiting-a-debuggeable-applciation.md | ||
google-ctf-2018-shall-we-play-a-game.md | ||
install-burp-certificate.md | ||
intent-injection.md | ||
make-apk-accept-ca-certificate.md | ||
manual-deobfuscation.md | ||
react-native-application.md | ||
README.md | ||
reversing-native-libraries.md | ||
smali-changes.md | ||
spoofing-your-location-in-play-store.md | ||
tapjacking.md | ||
webview-attacks.md |
Uchunguzi wa Programu za Android
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako inayotangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa HackTricks na HackTricks Cloud repos za github.
Jiunge na HackenProof Discord server ili kuwasiliana na wadukuzi wenye uzoefu na wawindaji wa tuzo za mdudu!
Machapisho ya Kudukua
Shiriki na yaliyomo yanayochunguza msisimko na changamoto za kudukua
Habari za Kudukua za Wakati Halisi
Endelea kuwa na habari za ulimwengu wa kudukua kwa kasi kupitia habari na ufahamu wa wakati halisi
Matangazo ya Hivi Karibuni
Baki na habari za hivi karibuni za tuzo za mdudu zinazozinduliwa na sasisho muhimu za jukwaa
Jiunge nasi kwenye Discord na anza kushirikiana na wadukuzi bora leo!
Misingi ya Programu za Android
Inapendekezwa sana kuanza kusoma ukurasa huu ili kujua kuhusu sehemu muhimu zaidi zinazohusiana na usalama wa Android na sehemu hatari zaidi katika programu ya Android:
{% content-ref url="android-applications-basics.md" %} android-applications-basics.md {% endcontent-ref %}
ADB (Android Debug Bridge)
Hii ni zana kuu unayohitaji kuunganisha kifaa cha Android (kisicho na waya au halisi).
ADB inaruhusu kudhibiti vifaa kupitia USB au Mtandao kutoka kwenye kompyuta. Programu hii inawezesha nakala ya faili kwa pande zote mbili, ufungaji na kuondoa programu, utekelezaji wa amri za shell, kuhifadhi data, kusoma magogo, kati ya kazi zingine.
Angalia orodha ifuatayo ya Amri za ADB ili kujifunza jinsi ya kutumia adb.
Smali
Marafiki ni muhimu kurekebisha nambari ya programu ili kupata habari iliyofichwa (labda nywila zilizofichwa vizuri au bendera). Kwa hivyo, inaweza kuwa ya kuvutia kudecompile apk, kurekebisha nambari, na kuijumuisha tena.
Katika mafunzo haya unaweza **kujifunza jinsi ya kudecompile na APK, kurekebisha nambari ya Smali na kuijumuisha tena na kazi mpya. Hii inaweza kuwa muhimu sana kama mbadala kwa vipimo kadhaa wakati wa uchambuzi wa kina ambao utawasilishwa. Kwa hivyo, kumbuka daima uwezekano huu.
Mbinu nyingine za kuvutia
- Kudanganya eneo lako kwenye Duka la Play
- Pakua APK: https://apps.evozi.com/apk-downloader/, https://apkpure.com/es/, https://www.apkmirror.com/, https://apkcombo.com/es-es/apk-downloader/
- Chambua APK kutoka kifaa:
adb shell pm list packages
com.android.insecurebankv2
adb shell pm path com.android.insecurebankv2
package:/data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
adb pull /data/app/com.android.insecurebankv2- Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
Uchambuzi Statisa
Kwanza kabisa, kwa kuchambua APK unapaswa kuchunguza namna ya namna ya Java kwa kutumia decompiler.
Tafadhali, soma hapa ili kupata habari kuhusu decompilers mbalimbali zinazopatikana.
Kutafuta Habari Muhimu
Kwa kuchunguza strings za APK unaweza kutafuta passwords, URLs (https://github.com/ndelphit/apkurlgrep), api keys, encryption, bluetooth uuids, tokens na chochote kinachovutia... tafuta hata kwa ajili ya backdoors za utekelezaji wa namna ya namna au backdoors za uwakilishi (vitambulisho vya utawala vilivyowekwa kwa nguvu kwenye programu).
Firebase
Lipa tahadhari maalum kwa URLs za firebase na angalia kama imeundwa vibaya. Pata habari zaidi kuhusu Firebase na jinsi ya kuitumia hapa.
Kuelewa Msingi wa Programu - Manifest.xml, strings.xml
Uchunguzi wa faili za Manifest.xml na strings.xml za programu unaweza kufichua hatari za usalama. Faili hizi zinaweza kupatikana kwa kutumia decompilers au kwa kubadilisha jina la faili ya APK kuwa .zip na kisha kuzipakua.
Hatari zilizotambuliwa kutoka kwa Manifest.xml ni pamoja na:
-
Programu za Kuchunguzwa: Programu zilizowekwa kama kuchunguzwa (
debuggable="true"
) kwenye faili ya Manifest.xml zinaweka hatari kwa sababu zinaruhusu uhusiano ambao unaweza kusababisha unyanyasaji. Ili kuelewa zaidi jinsi ya kutumia programu za kuchunguzwa, angalia mafunzo kuhusu jinsi ya kupata na kutumia programu za kuchunguzwa kwenye kifaa. -
Mipangilio ya Kuhifadhi Nakala: Sifa ya
android:allowBackup="false"
inapaswa kuwekwa wazi kwa programu zinazoshughulikia habari nyeti ili kuzuia nakala za data zisizoidhinishwa kupitia adb, hasa wakati uchunguzi wa usb unawezeshwa. -
Usalama wa Mtandao: Mipangilio ya usalama ya kawaida ya mtandao (
android:networkSecurityConfig="@xml/network_security_config"
) katika res/xml/ inaweza kubainisha maelezo ya usalama kama vile pini za vyeti na mipangilio ya trafiki ya HTTP. Mfano ni kuruhusu trafiki ya HTTP kwa kikoa maalum. -
Shughuli na Huduma Zilizowekwa: Kutambua shughuli na huduma zilizowekwa kwenye manifest kunaweza kufichua sehemu ambazo zinaweza kutumiwa vibaya. Uchambuzi zaidi wakati wa upimaji wa kudumu unaweza kufunua jinsi ya kutumia sehemu hizi.
-
Watoaji wa Yaliyomo na Watoaji wa Faili: Watoaji wa yaliyomo waliotambuliwa wanaweza kuruhusu ufikiaji usiohalali au ubadilishaji wa data. Usanidi wa Watoaji wa Faili pia unapaswa kuchunguzwa.
-
Wapokeaji wa Matangazo na Mfumo wa URL: Sehemu hizi zinaweza kutumiwa kwa unyanyasaji, na umakini maalum unapaswa kulipwa kwa jinsi mifumo ya URL inavyosimamiwa kwa hatari za kuingiza data.
-
Toleo la SDK: Sifa za
minSdkVersion
,targetSDKVersion
, namaxSdkVersion
zinaonyesha toleo za Android zinazoungwa mkono, ikisisitiza umuhimu wa kutokuhudumia toleo za zamani na zenye hatari za Android kwa sababu za usalama.
Kutoka kwa faili ya strings.xml, habari nyeti kama vile API keys, schemas za desturi, na maelezo mengine ya watengenezaji yanaweza kugunduliwa, ikisisitiza umuhimu wa kuchunguza kwa uangalifu rasilimali hizi.
Tapjacking
Tapjacking ni shambulio ambapo programu mbaya inazinduliwa na kuweka yenyewe juu ya programu ya mwathirika. Mara tu inapoficha programu ya mwathirika, kiolesura chake cha mtumiaji kimeundwa kwa njia ambayo inadanganya mtumiaji kuinteract nayo, wakati inapitisha mwingiliano kwa programu ya mwathirika.
Kimsingi, inamfanya mtumiaji ashindwe kujua kuwa anafanya vitendo kwenye programu ya mwathirika.
Pata habari zaidi hapa:
{% content-ref url="tapjacking.md" %} tapjacking.md {% endcontent-ref %}
Task Hijacking
Shughuli (activity) na launchMode
iliyowekwa kama singleTask
bila taskAffinity
iliyofafanuliwa inaweza kudhurika na Task Hijacking. Hii inamaanisha kuwa, programu inaweza kusakinishwa na ikiwa inazinduliwa kabla ya programu halisi inaweza kuteka kazi ya programu halisi (kwa hivyo mtumiaji atakuwa anashirikiana na programu mbaya akidhani anatumia ile halisi).
Maelezo zaidi hapa:
{% content-ref url="android-task-hijacking.md" %} android-task-hijacking.md {% endcontent-ref %}
Uhifadhi Hafifu wa Data
Uhifadhi wa Ndani
Katika Android, faili zilizohifadhiwa kwenye uhifadhi wa ndani zimedhamiriwa kuwa inapatikana kwa programu tu ambayo iliunda. Hatua hii ya usalama inatekelezwa na mfumo wa uendeshaji wa Android na kwa ujumla inatosha kwa mahitaji ya usalama ya programu nyingi. Walakini, watengenezaji mara nyingi hutumia njia kama MODE_WORLD_READABLE
na MODE_WORLD_WRITABLE
kuwezesha faili kushirikiwa kati ya programu tofauti. Walakini, njia hizi hazizuizi upatikanaji wa faili hizi na programu nyingine, ikiwa ni pamoja na zile zenye nia mbaya.
- Uchambuzi Statisa:
- Hakikisha matumizi ya
MODE_WORLD_READABLE
naMODE_WORLD_WRITABLE
yanachunguzwa kwa uangalifu. Njia hizi zinaweza kufichua faili kwa upatikanaji usio na nia au usiohalali.
- Uchambuzi wa Kudumu:
- Thibitisha ruhusa zilizowekwa kwenye faili zilizoundwa na programu. Kwa usahihi, angalia ikiwa kuna faili zilizowekwa kuwa zinaweza kusomwa au kuandikwa na kila mtu. Hii inaweza kuwa hatari kubwa ya usalama, kwani itaruhusu programu yoyote iliyosakinishwa kwenye kifaa, bila kujali asili au nia yake, kusoma au kubadilisha faili hizo.
Uhifadhi wa Nje
Wakati unashughulika na faili kwenye uhifadhi wa nje, kama Kadi za SD, tahadhari fulani zinapaswa kuchukuliwa:
- Upatikanaji:
- Faili kwenye uhifadhi wa nje zinaweza kusomwa na kuandikwa kimataifa. Hii inamaanisha programu au mtumiaji yeyote anaweza kupata faili hizo.
- Masuala ya Usalama:
- Kwa kuwa upatikanaji ni rahisi, inashauriwa kutoweka habari nyeti kwenye uhifadhi wa nje.
- Uhifadhi wa nje unaweza kuondolewa au kupatikana na programu yoyote, hivyo ni chini ya usalama.
- Kushughulikia Data kutoka kwenye Uhifadhi wa Nje:
- Daima thibitisha uthibitisho wa data iliyopatikana kutoka kwenye uhifadhi wa nje. Hii ni muhimu kwa sababu data inatoka kwenye chanzo ambacho hakijathibitishwa.
- Kuhifadhi faili za kutekelezwa au faili za darasa kwenye uhifadhi wa nje kwa kupakia kwa kudumu kunashauriwa s
SSLSocketFactory sf = new cc(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
Njia nzuri ya kujaribu hii ni kujaribu kukamata trafiki kwa kutumia kama proxy Burp bila kuidhinisha CA ya Burp ndani ya kifaa. Pia, unaweza kuzalisha cheti na Burp kwa jina la mwenyeji tofauti na kulitumia.
Ufichuaji wa Cryptography
Mchakato duni wa Usimamizi wa Funguo
Baadhi ya watengenezaji huhifadhi data nyeti katika uhifadhi wa ndani na kuiweka katika fomu iliyofichwa/kutabirika katika nambari. Hii haipaswi kufanywa kwani baadhi ya kurejea inaweza kuruhusu wadukuzi kuchukua habari za siri.
Matumizi ya Algorithms Zisizo Salama na/au Zilizopitwa na Waktu
Watengenezaji hawapaswi kutumia algorithms zilizopitwa na waktu kufanya uthibitisho, kuhifadhi au kupeleka data. Baadhi ya algorithms hizi ni: RC4, MD4, MD5, SHA1... Ikiwa hashes hutumiwa kuhifadhi nywila kwa mfano, hashes zinazopinga nguvu ya nguvu zinapaswa kutumika na chumvi.
Uhakiki Mwingine
- Inapendekezwa kuwa APK ifichwe ili kufanya kazi ya kurejesha iwe ngumu kwa wadukuzi.
- Ikiwa programu ni nyeti (kama programu za benki), inapaswa kufanya uhakiki wake mwenyewe kuona ikiwa simu imefungwa na kuchukua hatua inayofaa.
- Ikiwa programu ni nyeti (kama programu za benki), inapaswa kuhakiki ikiwa emulator inatumika.
- Ikiwa programu ni nyeti (kama programu za benki), inapaswa kuchunguza usahihi wake mwenyewe kabla ya kutekeleza ili kuona ikiwa imebadilishwa.
- Tumia APKiD kuangalia ni kifurushi/kifungashio/kificha gani kilichotumiwa kujenga APK
Programu ya React Native
Soma ukurasa ufuatao ili kujifunza jinsi ya kupata kwa urahisi nambari ya javascript ya programu za React:
{% content-ref url="react-native-application.md" %} react-native-application.md {% endcontent-ref %}
Programu za Xamarin
Soma ukurasa ufuatao ili kujifunza jinsi ya kupata kwa urahisi nambari ya C# ya programu za xamarin:
{% content-ref url="../xamarin-apps.md" %} xamarin-apps.md {% endcontent-ref %}
Programu Zilizopakiwa Sana
Kulingana na chapisho la blogu hii, superpacked ni algorithm ya Meta ambayo hupunguza maudhui ya programu katika faili moja. Blogu inazungumzia uwezekano wa kuunda programu ambayo inafuta programu za aina hii... na njia ya haraka ambayo inahusisha utekelezaji wa programu na kukusanya faili zilizofutwa kutoka kwenye mfumo wa faili.
Uchambuzi wa Kanuni Statisia wa Kiotomatiki
Zana ya mariana-trench inaweza kupata mabomu kwa kuchanganua kanuni ya programu. Zana hii ina safu ya vyanzo vilivyothibitishwa (ambavyo vinamwambia zana maeneo ambapo mwingiliano unadhibitiwa na mtumiaji), vyanzo (ambavyo vinamwambia zana maeneo hatari ambapo mwingiliano mbaya wa mtumiaji unaweza kusababisha uharibifu) na kanuni. Kanuni hizi zinaonyesha muunganiko wa vyanzo-vyanzo ambao unaonyesha mabomu.
Kwa maarifa haya, mariana-trench itapitia kanuni na kupata mabomu yanayowezekana.
Siri Zilizovuja
Programu inaweza kuwa na siri (funguo za API, nywila, URL zilizofichwa, subdomains...) ndani yake ambazo unaweza kugundua. Unaweza kutumia zana kama https://github.com/dwisiswant0/apkleaks
Kuvuka Uthibitishaji wa Biometric
{% content-ref url="bypass-biometric-authentication-android.md" %} bypass-biometric-authentication-android.md {% endcontent-ref %}
Kazi Zingine za Kuvutia
- Utekelezaji wa Kanuni:
Runtime.exec(), ProcessBuilder(), native code:system()
- Tuma SMS:
sendTextMessage, sendMultipartTestMessage
- Kazi za Asili zilizotangazwa kama
native
:public native, System.loadLibrary, System.load
- Soma hii ili kujifunza jinsi ya kurejesha kazi za asili
Mbinu Zingine
{% content-ref url="content-protocol.md" %} content-protocol.md {% endcontent-ref %}
Jiunge na seva ya HackenProof Discord ili kuwasiliana na wadukuzi wenye uzoefu na wawindaji wa tuzo za mdudu!
Machapisho ya Udukuzi
Shiriki na yaliyomo yanayochunguza msisimko na changamoto za udukuzi
Habari za Udukuzi za Wakati Halisi
Endelea kuwa na habari za ulimwengu wa udukuzi kwa njia ya habari na ufahamu wa wakati halisi
Matangazo ya Hivi Karibuni
Endelea kujulishwa na tuzo za mdudu mpya zinazozinduliwa na sasisho muhimu za jukwaa
Jiunge nasi kwenye Discord na anza kushirikiana na wadukuzi bora leo!
Uchambuzi wa Kina
Kwanza kabisa, unahitaji mazingira ambapo unaweza kusakinisha programu na mazingira yote (cheti cha Burp CA, Drozer na Frida hasa). Kwa hivyo, kifaa kilichorotishwa (kimegawanywa au la) kinapendekezwa sana.
Uchambuzi wa Kina Mtandaoni
Unaweza kuunda akaunti ya bure katika: https://appetize.io/. Jukwaa hili linakuwezesha kupakia na kutekeleza APKs, kwa hivyo ni muhimu kuona jinsi apk inavyotenda.
Unaweza hata kuona magogo ya programu yako kwenye wavuti na kuunganisha kupitia adb.
Kutokana na uhusiano wa ADB unaweza kutumia Drozer na Frida ndani ya wachanganuzi.
Uchambuzi wa Kina wa Ndani
Kutumia kifaa cha kujifanya
- Android Studio (Unaweza kuunda vifaa vya x86 na arm, na kulingana na hii toleo la x86 linasaidia maktaba za ARM bila kuhitaji emulator ya polepole ya ARM).
- Jifunze jinsi ya kuweka katika ukurasa huu:
{% content-ref url="avd-android-virtual-device.md" %} avd-android-virtual-device.md {% endcontent-ref %}
- Genymotion (Toleo la bure: Personal Edition, unahitaji kuunda akaunti. Inapendekezwa kupakua toleo LINALO VirtualBox ili kuepuka makosa yanayowezekana.)
- Nox (Bure, lakini haisaidii Frida au Drozer).
{% hint style="info" %} Unapounda emulator mpya kwenye jukwaa lolote, kumbuka kuwa kadri skrini inavyokuwa kubwa, emulator itakuwa polepole. Kwa hivyo chagua skrini ndogo ikiwa inawezekana. {% end
Tumia kifaa halisi
Unahitaji kuwezesha chaguo za udhibiti na itakuwa vizuri ikiwa unaweza kuitumia root:
- Mipangilio.
- (Kuanzia Android 8.0) Chagua Mfumo.
- Chagua Kuhusu simu.
- Bonyeza Nambari ya ujenzi mara 7.
- Rudi nyuma na utapata Chaguo za msanidi programu.
Mara baada ya kusakinisha programu, jambo la kwanza unalopaswa kufanya ni kujaribu na kuchunguza inafanya nini, inafanyaje kazi na kuwa na uzoefu nayo.
Nitapendekeza kufanya uchambuzi wa kwanza wa kina wa kudumu kwa kutumia uchambuzi wa kina wa MobSF + pidcat, ili tuweze kujifunza jinsi programu inavyofanya kazi wakati MobSF inakamata data nyingi zinazovutia ambazo unaweza kuzipitia baadaye.
Kutolewa kwa Data Isiyokusudiwa
Kujisajili
Watengenezaji wanapaswa kuwa waangalifu kuhusu kuweka wazi taarifa za udhibiti kwa umma, kwani inaweza kusababisha uvujaji wa data nyeti. Zana za pidcat na adb logcat
zinapendekezwa kwa kufuatilia magogo ya programu ili kutambua na kulinda taarifa nyeti. Pidcat inapendwa kwa urahisi wake wa matumizi na usomaji.
{% hint style="warning" %}
Tafadhali kumbuka kuwa kutoka baadaye zaidi ya Android 4.0, programu zinaweza tu kupata magogo yao wenyewe. Kwa hivyo programu haziwezi kupata magogo ya programu nyingine.
Hata hivyo, bado inashauriwa kutoweka taarifa nyeti.
{% endhint %}
Kuhifadhi Nakala/Kubandika
Mfumo wa ubao wa Android unawezesha utendaji wa kunakili/kubandika katika programu, lakini unaweka hatari kwa sababu programu nyingine zinaweza kupata ubao, na hivyo kufichua data nyeti. Ni muhimu kuzima kazi ya kunakili/kubandika kwa sehemu nyeti ya programu, kama vile maelezo ya kadi ya mkopo, ili kuzuia uvujaji wa data.
Magogo ya Kukwama
Ikiwa programu inakwama na kuhifadhi magogo, magogo haya yanaweza kusaidia wadukuzi, hasa wakati programu haiwezi kubadilishwa kuwa namna ya awali. Ili kupunguza hatari hii, epuka kurekodi wakati wa kukwama, na ikiwa magogo lazima yatumwe kupitia mtandao, hakikisha yanatumwa kupitia kituo cha SSL kwa usalama.
Kama pentester, jaribu kuangalia magogo haya.
Data ya Takwimu Inayotumwa kwa Watu Wengine
Programu mara nyingi huingiza huduma kama Google Adsense, ambayo inaweza kusababisha uvujaji wa data nyeti kutokana na utekelezaji usio sahihi wa watengenezaji. Ili kutambua uvujaji wa data, ni vyema kukatiza trafiki ya programu na kuangalia ikiwa kuna taarifa nyeti inayotumwa kwa huduma za watu wengine.
SQLite DBs
Programu nyingi zitatumia databases za ndani za SQLite kuokoa taarifa. Wakati wa pentest, angalia databases zilizoundwa, majina ya meza na vishale vyote na data iliyohifadhiwa kwani unaweza kupata taarifa nyeti (ambayo itakuwa ni udhaifu).
Databases zinapaswa kuwa katika /data/data/jina.la.kifurushi/databases
kama vile /data/data/com.mwr.example.sieve/databases
Ikiwa database inahifadhi taarifa za siri na ime fichwa lakini unaweza kupata nenosiri ndani ya programu, bado ni udhaifu.
Panga meza kwa kutumia .tables
na panga vishale vya meza kwa kufanya .schema <jina_la_meza>
Drozer (Shughuli za Udukuzi, Watoaji wa Yaliyomo na Huduma)
Kutoka kwa Drozer Docs: Drozer inakuwezesha kuchukua jukumu la programu ya Android na kuingiliana na programu nyingine. Inaweza kufanya chochote ambacho programu iliyosakinishwa inaweza kufanya, kama vile kutumia Mawasiliano ya Mchakato wa Android (IPC) na kuingiliana na mfumo wa uendeshaji wa msingi.
Drozer ni zana muhimu kwa kutumia shughuli zilizotolewa, watoaji wa yaliyomo na huduma kama utakavyojifunza katika sehemu zifuatazo.
Kutumia shughuli zilizotolewa
Soma hii ikiwa unataka kufahamu tena ni nini Android Activity.
Pia kumbuka kuwa msimbo wa shughuli huanza katika njia ya onCreate
.
Kupitisha Uthibitisho
Wakati Shughuli inatolewa, unaweza kuita skrini yake kutoka kwa programu ya nje. Kwa hivyo, ikiwa shughuli ina taarifa nyeti na ime tolewa, unaweza kipuuza mifumo ya uthibitisho ili kuipata.
Jifunze jinsi ya kutumia shughuli zilizotolewa na Drozer.
Unaweza pia kuanza shughuli iliyotolewa kutoka kwa adb:
- Jina la Pakiti ni com.example.demo
- Jina la Shughuli Iliyotolewa ni com.example.test.MainActivity
adb shell am start -n com.example.demo/com.example.test.MainActivity
TAARIFA: MobSF itagundua matumizi ya singleTask/singleInstance kama android:launchMode
katika shughuli, lakini kutokana na hii, inaonekana hii ni hatari tu kwenye toleo la zamani (toleo la API < 21).
{% hint style="info" %} Tafadhali kumbuka kuwa kukiuka idhini sio daima udhaifu, itategemea jinsi kukiuka hufanya kazi na habari gani inafichuliwa. {% endhint %}
Kuvuja kwa habari nyeti
Shughuli pia zinaweza kurudisha matokeo. Ikiwa unaweza kupata shughuli iliyotolewa na isiyolindwa inayotumia njia ya setResult
na kurudisha habari nyeti, kuna kuvuja kwa habari nyeti.
Tapjacking
Ikiwa tapjacking haijazuiliwa, unaweza kutumia shughuli iliyotolewa kufanya mtumiaji afanye vitendo visivyotarajiwa. Kwa habari zaidi kuhusu tapjacking fuata kiungo hiki.
Kutumia Watoaji wa Yaliyomo - Kupata na kubadilisha habari nyeti
Soma hii ikiwa unataka kufahamu tena ni nini Watoaji wa Yaliyomo.
Watoaji wa yaliyomo kimsingi hutumiwa kushiriki data. Ikiwa programu ina watoaji wa yaliyomo yanayopatikana, unaweza kuweza kuchota data nyeti kutoka kwao. Pia ni muhimu kujaribu SQL injections na Path Traversals kwani wanaweza kuwa na udhaifu.
Jifunze jinsi ya kutumia Watoaji wa Yaliyomo na Drozer.
Kutumia Huduma
Soma hii ikiwa unataka kufahamu tena ni nini Huduma.
Kumbuka kuwa vitendo vya Huduma huanza kwenye njia ya onStartCommand
.
Huduma ni kitu ambacho kimsingi kinaweza kupokea data, kutumia na kurudisha (au la) jibu. Kwa hivyo, ikiwa programu inatoa huduma fulani, unapaswa angalia namna kificho kinavyofanya kazi na jaribu kwa njia ya kudumu ili kuchota habari za siri, kukiuka hatua za uwakilishi...
Jifunze jinsi ya kutumia Huduma na Drozer.
Kutumia Wapokeaji wa Matangazo
Soma hii ikiwa unataka kufahamu tena ni nini Wapokeaji wa Matangazo.
Kumbuka kuwa vitendo vya Wapokeaji wa Matangazo huanza kwenye njia ya onReceive
.
Mpokeaji wa matangazo atakuwa anasubiri aina fulani ya ujumbe. Kulingana na jinsi mpokeaji anavyoshughulikia ujumbe, inaweza kuwa na udhaifu.
Jifunze jinsi ya kutumia Wapokeaji wa Matangazo na Drozer.
Kutumia Mipango / Viungo vya Kina
Unaweza kutafuta viungo vya kina kwa mkono, kwa kutumia zana kama MobSF au hati kama hii.
Unaweza kufungua mpango uliotangazwa kwa kutumia adb au kivinjari:
{% code overflow="wrap" %}
adb shell am start -a android.intent.action.VIEW -d "scheme://hostname/path?param=value" [your.package.name]
{% endcode %}
Taarifa kwamba unaweza kutotaja jina la pakiti na simu itaita moja kwa moja programu ambayo inapaswa kufungua kiungo hicho.
{% code overflow="wrap" %}
<!-- Browser regular link -->
<a href="scheme://hostname/path?param=value">Click me</a>
<!-- fallback in your url you could try the intent url -->
<a href="intent://hostname#Intent;scheme=scheme;package=your.package.name;S.browser_fallback_url=http%3A%2F%2Fwww.example.com;end">with alternative</a>
{% endcode %}
Msimbo uliofanywa
Ili kupata msimbo utakaotekelezwa kwenye Programu, nenda kwenye shughuli inayoitwa na kiungo cha kina na tafuta kazi ya onNewIntent
.
Taarifa nyeti
Kila wakati unapopata kiungo cha kina hakikisha kuwa hakipokei data nyeti (kama nywila) kupitia vigezo vya URL, kwa sababu programu nyingine yoyote inaweza kujifanya kuwa kiungo cha kina na kuiba data hiyo!
Vigezo katika njia
Unapaswa pia kuhakikisha ikiwa kiungo cha kina kinatumia kigezo ndani ya njia ya URL kama: https://api.example.com/v1/users/{username}
, katika kesi hiyo unaweza kulazimisha upitishaji wa njia kwa kupata kitu kama: example://app/users?username=../../unwanted-endpoint%3fparam=value
.
Tambua kuwa ikiwa utapata sehemu sahihi za mwisho ndani ya programu unaweza kusababisha Uelekezaji wa Wazi (ikiwa sehemu ya njia inatumika kama jina la kikoa), uchukuzi wa akaunti (ikiwa unaweza kubadilisha maelezo ya watumiaji bila kitufe cha CSRF na sehemu ya udhaifu iliyotumiwa njia sahihi) na udhaifu mwingine wowote. Zaidi habari kuhusu hii hapa.
Mifano zaidi
Ripoti ya bug bounty yenye maslahi kuhusu viungo (/.well-known/assetlinks.json).
Ukaguzi wa Tabaka la Usafirishaji na Kushindwa kwa Uhakiki
- Vyeti mara nyingi havikaguliwi kwa usahihi na programu za Android. Ni kawaida kwa programu hizi kupuuza onyo na kukubali vyeti vilivyosainiwa na wenyewe au, katika hali fulani, kurudi kutumia uhusiano wa HTTP.
- Majadiliano wakati wa makubaliano ya SSL/TLS yanaweza kuwa dhaifu, yakitumia seti za herufi zisizo salama. Udhaifu huu unafanya uhusiano uwe rahisi kwa mashambulizi ya kati (MITM), kuruhusu wadukuzi kufichua data.
- Kuvuja kwa habari binafsi ni hatari wakati programu zinathibitisha kwa kutumia njia salama lakini kisha zinawasiliana kupitia njia zisizo salama kwa shughuli zingine. Njia hii haikulindi data nyeti, kama vile vidakuzi vya kikao au maelezo ya mtumiaji, kutokana na kupeperushwa na vyombo vya uovu.
Uhakiki wa Cheti
Tutazingatia uhakiki wa cheti. Uadilifu wa cheti cha seva lazima ukaguliwe ili kuimarisha usalama. Hii ni muhimu kwa sababu mipangilio dhaifu ya TLS na usafirishaji wa data nyeti kupitia njia zisizo na ufungaji wa cheti kunaweza kusababisha hatari kubwa. Kwa hatua za kina juu ya kuhakiki vyeti vya seva na kushughulikia udhaifu, rasilimali hii inatoa mwongozo kamili.
SSL Pinning
SSL Pinning ni hatua ya usalama ambapo programu inathibitisha cheti cha seva dhidi ya nakala inayojulikana iliyojumuishwa ndani ya programu yenyewe. Njia hii ni muhimu kwa kuzuia mashambulizi ya MITM. Inashauriwa sana kutekeleza SSL Pinning kwa programu zinazoshughulikia habari nyeti.
Ukaguzi wa Trafiki
Ili kukagua trafiki ya HTTP, ni lazima usakinishe cheti cha zana ya wakala (k.m., Burp). Bila kusakinisha cheti hiki, trafiki iliyofichwa haiwezi kuonekana kupitia wakala. Kwa mwongozo wa kusakinisha cheti cha CA cha desturi, bonyeza hapa.
Programu zinazolenga API Level 24 na zaidi zinahitaji marekebisho kwenye Mipangilio ya Usalama wa Mtandao ili kukubali cheti cha CA cha wakala. Hatua hii ni muhimu kwa ukaguzi wa trafiki iliyofichwa. Kwa maelekezo juu ya kurekebisha Mipangilio ya Usalama wa Mtandao, tazama mafunzo haya.
Kupitisha SSL Pinning
Wakati SSL Pinning inatekelezwa, ni muhimu kupitisha ili kukagua trafiki ya HTTPS. Njia mbalimbali zinapatikana kwa kusudi hili:
- Kurekebisha apk kupitisha SSLPinning kiotomatiki na apk-mitm. Faida kubwa ya chaguo hili ni kwamba hautahitaji mizizi kupitisha SSL Pinning, lakini utahitaji kufuta programu na kusakinisha mpya, na hii haitafanya kazi kila wakati.
- Unaweza kutumia Frida (imejadiliwa hapo chini) kupitisha ulinzi huu. Hapa una mwongozo wa kutumia Burp+Frida+Genymotion: https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/
- Unaweza pia kujaribu kupitisha SSL Pinning kiotomatiki kwa kutumia objection:
objection --gadget com.package.app explore --startup-command "android sslpinning disable"
- Unaweza pia kujaribu kupitisha SSL Pinning kiotomatiki kwa kutumia MobSF dynamic analysis (imeelezewa hapo chini)
- Ikiwa bado unaamini kuwa kuna trafiki ambayo hauichukui unaweza kujaribu kupeleka trafiki kwa burp kwa kutumia iptables. Soma blogi hii: https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62
Kutafuta Udhaifu wa Kawaida wa Wavuti
Ni muhimu pia kutafuta udhaifu wa kawaida wa wavuti ndani ya programu. Maelezo ya kina juu ya kutambua na kupunguza udhaifu huu yanazidi kuzingatia muhtasari huu lakini yanashughulikiwa kwa kina mahali pengine.
Frida
Frida ni seti ya zana za kufuatilia za kudumu kwa watengenezaji, watafiti wa kurudisha nyuma, na watafiti wa usalama.
Unaweza kufikia programu inayofanya kazi na kufunga njia za kukabiliana na wakati wa kukimbia ili kubadilisha tabia, kubadilisha thamani, kuchukua thamani, kukimbia nambari tofauti...
Ikiwa unataka kufanya pentest kwenye programu za Android unahitaji kujua jinsi ya kutumia Frida.
- Jifunze jinsi ya kutumia Frida: Mafunzo ya Frida
- Baadhi ya "GUI" kwa vitendo na Frida: https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security
- Ojection ni nzuri kwa kiotomatiki matumizi ya Frida: https://github.com/sensepost/objection , https://github.com/dpnishant/appmon
- Unaweza kupata skripti nzuri za Frida hapa: https://codeshare.frida.re/
Dump Memory - Fridump
Angalia ikiwa programu inahifadhi habari nyeti ndani ya kumbukumbu ambayo haipaswi kuhifadhi kama nywila au mnemoniki.
Kwa kutumia Fridump3 unaweza kudump kumbukumbu ya programu na:
# With PID
python3 fridump3.py -u <PID>
# With name
frida-ps -Uai
python3 fridump3.py -u "<Name>"
Hii itadump kumbukumbu kwenye folda ./dump, na hapo unaweza kutumia grep na kitu kama hiki:
{% code overflow="wrap" %}
strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+$"
{% endcode %}
Data nyeti katika Keystore
Katika Android, Keystore ni mahali bora pa kuhifadhi data nyeti, hata hivyo, kwa idhini za kutosha bado inawezekana kuipata. Kwa kuwa programu mara nyingi huhifadhi data nyeti hapa kwa njia ya maandishi wazi, pentests inapaswa kuangalia hili kwani mtumiaji mwenye ruhusa ya mizizi au mtu mwenye ufikiaji wa kimwili kwenye kifaa anaweza kuiba data hii.
Hata kama programu imehifadhi tarehe kwenye keystore, data inapaswa kuwa imefichwa.
Ili kupata data ndani ya keystore, unaweza kutumia script hii ya Frida: https://github.com/WithSecureLabs/android-keystore-audit/blob/master/frida-scripts/tracer-cipher.js
frida -U -f com.example.app -l frida-scripts/tracer-cipher.js
Kupita kwa Alama za Vidole/Biometrics
Kwa kutumia skripti ya Frida ifuatayo, inawezekana kupita kwa uthibitisho wa alama za vidole ambao programu za Android zinaweza kutekeleza ili kulinda maeneo fulani yenye nyeti:
{% code overflow="wrap" %}
frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app.package>
{% endcode %}
Picha za Mandharinyuma
Unapoweka programu katika mandharinyuma, Android hifadhi picha ya kuchukua taswira ya programu ili wakati inarudishwa mbele inaanza kupakia picha kabla ya programu ili ionekane kama programu imepakia haraka.
Hata hivyo, ikiwa taswira hii ina habari nyeti, mtu mwenye ufikiaji wa taswira hiyo anaweza kuiba habari hizo (kumbuka kuwa unahitaji ufikiaji wa mizizi ili kuipata).
Kawaida taswira hizi hifadhiwa katika: /data/system_ce/0/snapshots
Android inatoa njia ya kuzuia kuchukua taswira kwa kuweka FLAG_SECURE kama parameter ya mpangilio. Kwa kutumia bendera hii, maudhui ya dirisha yanachukuliwa kuwa salama, kuzuia taswira hiyo kuonekana katika picha za skrini au kuonekana kwenye skrini zisizo salama.
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
Mchambuzi wa Programu za Android
Zana hii inaweza kukusaidia kusimamia zana tofauti wakati wa uchambuzi wa kina: https://github.com/NotSoSecure/android_application_analyzer
Uingizaji wa Nia (Intent Injection)
Watengenezaji mara nyingi hujenga sehemu za mbadala kama vile shughuli, huduma, na wapokeaji wa matangazo ambao hushughulikia Nia hizi na kuzipitisha kwa njia kama vile startActivity(...)
au sendBroadcast(...)
, ambayo inaweza kuwa hatari.
Hatari iko katika kuruhusu wadukuzi kuzindua sehemu za programu ambazo hazijatolewa au kupata watoaji wa yaliyomo nyeti kwa kuuelekeza vibaya Nia hizi. Mfano maarufu ni sehemu ya WebView
inayobadilisha URL kuwa vitu vya Intent
kupitia Intent.parseUri(...)
na kisha kuzitekeleza, ambayo inaweza kusababisha uingizaji wa Nia mbaya.
Mambo Muhimu ya Kuzingatia
- Uingizaji wa Nia ni sawa na shida ya Uelekezaji Wazi kwenye wavuti.
- Mbinu za kudukua zinahusisha kupitisha vitu vya
Intent
kama ziada, ambazo zinaweza kuelekezwa kutekeleza shughuli hatari. - Inaweza kufichua sehemu za programu ambazo hazijatolewa na watoaji wa yaliyomo kwa wadukuzi.
- Ubadilishaji wa URL wa
WebView
kuwaIntent
unaweza kurahisisha vitendo visivyokusudiwa.
Uingizaji wa Upande wa Mteja wa Android na Wengine
Labda unajua juu ya aina hii ya udhaifu kutoka kwenye Wavuti. Lazima uwe makini sana na udhaifu huu katika programu ya Android:
- Uingizaji wa SQL (SQL Injection): Unaposhughulika na maswali ya kudumu au Watoaji wa Yaliyomo, hakikisha unatumia maswali yaliyoparameta.
- Uingizaji wa JavaScript (XSS): Hakikisha kuwa JavaScript na usaidizi wa Plugin umezimwa kwa WebViews yoyote (imezimwa kwa chaguo-msingi). Maelezo zaidi hapa.
- Uingizaji wa Faili za Ndani (Local File Inclusion): WebViews lazima zizuie ufikiaji wa mfumo wa faili (imezimwa kwa chaguo-msingi) -
(webview.getSettings().setAllowFileAccess(false);)
. Maelezo zaidi hapa. - Vidakuzi vya Milele (Eternal Cookies): Katika visa kadhaa, wakati programu ya Android inamaliza kikao, kuki haijafutwa au inaweza hata kuokolewa kwenye diski.
- Bendera ya Usalama kwenye vidakuzi
Jiunge na seva ya HackenProof Discord ili kuwasiliana na wadukuzi wenye uzoefu na wawindaji wa tuzo za udhaifu!
Machapisho ya Udukuzi
Shiriki na yaliyomo yanayochunguza msisimko na changamoto za udukuzi
Habari za Udukuzi za Wakati Halisi
Endelea kuwa na habari za ulimwengu wa udukuzi kwa njia ya habari na ufahamu wa wakati halisi
Matangazo ya Hivi Karibuni
Baki na habari za hivi karibuni kuhusu tuzo mpya za udhaifu zinazozinduliwa na sasisho muhimu za jukwaa
Jiunge nasi kwenye Discord na anza kushirikiana na wadukuzi bora leo!
Uchambuzi wa Kiotomatiki
MobSF
Uchambuzi wa Stesheni
Tathmini ya udhaifu wa programu kwa kutumia kiolesura cha wavuti kizuri. Unaweza pia kufanya uchambuzi wa kina (lakini unahitaji kuandaa mazingira).
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
Tambua kuwa MobSF inaweza kuchambua programu za Android(apk), IOS(ipa), na Windows(apx) (Programu za Windows lazima zianalizwe kutoka kwenye MobSF iliyosakinishwa kwenye mwenyeji wa Windows).
Pia, ikiwa utaunda faili ya ZIP na nambari ya chanzo ya programu ya Android au IOS (enda kwenye folda kuu ya programu, chagua kila kitu na uunda faili ya ZIP), MobSF itaweza kuiwezesha pia.
MobSF pia inakuwezesha kufanya diff/Compare ya uchambuzi na kuunganisha VirusTotal (utahitaji kuweka ufunguo wako wa API kwenye MobSF/settings.py na kuwezesha: VT_ENABLED = TRUE
VT_API_KEY = <Ufunguo wako wa API>
VT_UPLOAD = TRUE
). Unaweza pia kuweka VT_UPLOAD
kuwa False
, kisha hash ita tumwa badala ya faili.
Uchambuzi wa Kielelezo ulioandaliwa na MobSF
MobSF inaweza pia kuwa na msaada mkubwa kwa uchambuzi wa kielelezo kwenye Android, lakini katika kesi hiyo utahitaji kusakinisha MobSF na genymotion kwenye mwenyeji wako (VM au Docker haitafanya kazi). Note: Unahitaji kuanza kwanza VM kwenye genymotion na kisha MobSF.
Mchambuzi wa kielelezo wa MobSF unaweza:
- Kudump data ya programu (URL, magogo, ubao wa kunakili, viwambo vilivyofanywa na wewe, viwambo vilivyofanywa na "Exported Activity Tester", barua pepe, mabazo ya SQLite, faili za XML, na faili zingine zilizoundwa). Hii yote inafanyika kiotomatiki isipokuwa viwambo, unahitaji bonyeza wakati unataka kiwambo au unahitaji bonyeza "Exported Activity Tester" ili kupata viwambo vya shughuli zote zilizosafirishwa.
- Kukamata trafiki ya HTTPS
- Kutumia Frida kupata habari za wakati wa utekelezaji
Kuanzia toleo la Android > 5, itaanza Frida kiotomatiki na kuweka mipangilio ya proxy ya kimataifa ili kukamata trafiki. Itakamata trafiki tu kutoka kwenye programu iliyopimwa.
Frida
Kwa chaguo-msingi, pia itatumia Skrini za Frida kwa kusudi la kupitisha SSL pinning, ugunduzi wa root, na ugunduzi wa kudukua na kufuatilia API za kuvutia.
MobSF pia inaweza kuita shughuli zilizosafirishwa, kukamata viwambo vyao na kuhifadhi kwa ajili ya ripoti.
Ku anza upimaji wa kielelezo bonyeza kitufe cha kijani: "Anza Uchunguzi". Bonyeza "Frida Live Logs" kuona magogo yanayozalishwa na skrini za Frida na "Live API Monitor" kuona mwaliko wote kwa njia zilizounganishwa, hoja zilizopitishwa, na thamani zilizorudishwa (hii itaonekana baada ya kubonyeza "Anza Uchunguzi").
MobSF pia inakuwezesha kupakia skrini za Frida zako mwenyewe (kutuma matokeo ya skrini za Frida kwa MobSF tumia kazi send()
). Pia ina skrini zilizoandikwa tayari kadhaa unazoweza kupakia (unaweza kuongeza zaidi kwenye MobSF/DynamicAnalyzer/tools/frida_scripts/others/
), tu zichague, bonyeza "Pakia" na bonyeza "Anza Uchunguzi" (utaweza kuona magogo ya skrini hizo ndani ya "Frida Live Logs").
Zaidi ya hayo, una baadhi ya huduma za ziada za Frida:
- Panga Darasa Zilizosakinishwa: Itaonyesha darasa zote zilizosakinishwa
- Kamata Maneno: Itaonyesha maneno yote yaliyokamatwa wakati wa kutumia programu (kelele nyingi sana)
- Kamata Linganishi la Maneno: Inaweza kuwa na manufaa sana. Itaonyesha maneno 2 yanayolinganishwa na ikiwa matokeo yalikuwa ya kweli au ya uwongo.
- Panga Njia za Darasa: Weka jina la darasa (kama "java.io.File") na itaonyesha njia zote za darasa.
- Tafuta Mfano wa Darasa: Tafuta darasa kwa mfano
- Fuata Njia za Darasa: Fuata darasa zima (angalia pembejeo na pato la njia zote za darasa). Kumbuka kuwa kwa chaguo-msingi MobSF inafuatilia njia kadhaa za kuvutia za Android Api.
Baada ya kuchagua moduli ya ziada unayotaka kutumia, unahitaji bonyeza "Anza Uchunguzi" na utaona matokeo yote katika "Frida Live Logs".
Shell
Mobsf pia inakuletea kikao cha amri na baadhi ya amri za adb, amri za MobSF, na amri za kawaida za shell chini ya ukurasa wa uchambuzi wa kielelezo. Baadhi ya amri za kuvutia:
help
shell ls
activities
exported_activities
services
receivers
Zana za HTTP
Wakati trafiki ya http inakamatwa, unaweza kuona mtazamo mbaya wa trafiki iliyokamatwa chini ya "HTTP(S) Traffic" au mtazamo mzuri zaidi chini ya kifungo cha kijani "Anza HTTPTools". Kutoka chaguo la pili, unaweza kutuma maombi yaliyokamatwa kwa proxies kama Burp au Owasp ZAP.
Kufanya hivyo, washa Burp --> zima Intercept --> katika MobSB HTTPTools chagua ombi --> bonyeza "Tuma kwa Fuzzer" --> chagua anwani ya proxy (http://127.0.0.1:8080\).
Baada ya kumaliza uchambuzi wa kina na MobSF, unaweza bonyeza "Anza Web API Fuzzer" ili kufanya fuzzing kwa maombi ya http na kutafuta udhaifu.
{% hint style="info" %} Baada ya kufanya uchambuzi wa kina na MobSF, mipangilio ya proxy inaweza kuwa imeharibika na huwezi kuzirekebisha kupitia GUI. Unaweza kuzirekebisha mipangilio ya proxy kwa kufuata hatua zifuatazo:
adb shell settings put global http_proxy :0
{% endhint %}
Uchambuzi wa Kielelezo ulioandaliwa na Inspeckage
Unaweza kupata zana hii kutoka kwenye Inspeckage.
Zana hii itatumia Hooks kadhaa kukujulisha kinachoendelea kwenye programu wakati unafanya uchambuzi wa kielelezo.
Yaazhini
Hii ni zana nzuri ya kufanya uchambuzi wa tuli na GUI
Qark
Zana hii imeundwa kutafuta mapungufu ya usalama yanayohusiana na programu za Android, iwe kwenye msimbo wa chanzo au APK zilizopakwa. Zana hii pia inaweza kuunda APK inayoweza kutekelezwa kama "Proof-of-Concept" na amri za ADB, ili kutumia baadhi ya mapungufu yaliyopatikana (shughuli zilizofichuliwa, nia, tapjacking...). Kama ilivyo na Drozer, hakuna haja ya kuroot kifaa cha majaribio.
pip3 install --user qark # --user is only needed if not using a virtualenv
qark --apk path/to/my.apk
qark --java path/to/parent/java/folder
qark --java path/to/specific/java/file.java
ReverseAPK
- Inaonyesha faili zote zilizochimbuliwa kwa urahisi wa kumbukumbu
- Kiotomatiki inachambua faili za APK na kuzigeuza kuwa muundo wa Java na Smali
- Inachunguza AndroidManifest.xml kwa makosa ya kawaida na tabia
- Uchambuzi wa msimbo wa chanzo wa tuli kwa makosa ya kawaida na tabia
- Taarifa za kifaa
- na zaidi
reverse-apk relative/path/to/APP.apk
SUPER Android Analyzer
SUPER ni programu ya mstari wa amri inayoweza kutumika katika Windows, MacOS X na Linux, ambayo inachambua faili za .apk kutafuta udhaifu. Inafanya hivi kwa kufungua faili za APK na kutumia sheria kadhaa za kugundua udhaifu huo.
Sheria zote zinazingatia faili ya rules.json
, na kampuni au mtihani yeyote inaweza kuunda sheria zao wenyewe ili kuchambua wanachohitaji.
Pakua toleo jipya zaidi kutoka kwenye ukurasa wa kupakua
super-analyzer {apk_file}
StaCoAn
StaCoAn ni chombo cha msalaba-jukwaa kinachosaidia waendelezaji, wawindaji wa bugbounty, na wadukuzi wa maadili kufanya uchambuzi wa msimbo wa tuli kwenye programu za simu.
Wazo ni kwamba unaburuta na kuacha faili yako ya programu ya simu (faili ya .apk au .ipa) kwenye programu ya StaCoAn na itazalisha ripoti ya kisasa na inayoweza kubebeka kwako. Unaweza kubadilisha mipangilio na orodha za maneno ili kupata uzoefu ulioboreshwa.
Pakua toleo jipya:
./stacoan
AndroBugs
AndroBugs Framework ni mfumo wa uchambuzi wa udhaifu wa Android ambao husaidia waendelezaji au wadukuzi kupata udhaifu wa usalama katika programu za Android.
Toleo la Windows
python androbugs.py -f [APK file]
androbugs.exe -f [APK file]
Androwarn
Androwarn ni chombo ambacho kusudi lake kuu ni kugundua na kuonya mtumiaji kuhusu tabia mbaya inayotengenezwa na programu ya Android.
Ugunduzi hufanywa na uchambuzi wa tuli wa msimbo wa Dalvik wa programu, ulioonyeshwa kama Smali, na maktaba ya androguard
.
Chombo hiki kinatafuta tabia za kawaida za programu "mbaya" kama vile: utekaji wa vitambulisho vya simu, udukuzi wa mtiririko wa sauti/video, ubadilishaji wa data ya PIM, utekelezaji wa nambari isiyojulikana...
python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
MARA Framework
MARA ni Mfumo wa Analisi na Reverse engineering wa Applikesheni za Mkononi. Ni chombo kinachounganisha zana za kawaida za reverse engineering na uchambuzi wa applikesheni za mkononi, ili kusaidia katika kujaribu applikesheni za mkononi dhidi ya vitisho vya usalama vya OWASP. Lengo lake ni kufanya kazi hii iwe rahisi na rafiki kwa watengenezaji wa applikesheni za mkononi na wataalamu wa usalama.
Inaweza:
- Kutoa Java na Smali code kwa kutumia zana tofauti
- Kuchambua APKs kwa kutumia: smalisca, ClassyShark, androbugs, androwarn, APKiD
- Kutoa taarifa za kibinafsi kutoka kwenye APK kwa kutumia regexps.
- Kuchambua Manifest.
- Kuchambua kikoa kilichopatikana kwa kutumia: pyssltest, testssl na whatweb
- Kufuta obfuscation ya APK kupitia apk-deguard.com
Koodous
Inatumika kugundua programu hasidi: https://koodous.com/
Obfuscating/Deobfuscating code
Kumbuka kuwa kulingana na huduma na usanidi unaoitumia kuobfuscate code. Siri inaweza kuwa imeobfuscate au la.
ProGuard
Kutoka Wikipedia: ProGuard ni chombo cha amri cha chanzo wazi ambacho hupunguza, hupimia na huobfuscate code ya Java. Inaweza kuboresha bytecode pamoja na kugundua na kuondoa maagizo yasiyotumiwa. ProGuard ni programu huria na inasambazwa chini ya Leseni ya Umma ya GNU, toleo la 2.
ProGuard inasambazwa kama sehemu ya Android SDK na inaendesha wakati wa kujenga applikesheni katika hali ya kutolewa.
DexGuard
Pata mwongozo hatua kwa hatua wa kuondoa obfuscation ya apk katika https://blog.lexfo.fr/dexguard.html
(Kutoka kwa mwongozo huo) Wakati wa mwisho tulipoangalia, mode ya Dexguard ya uendeshaji ilikuwa:
- pakia rasilimali kama InputStream;
- toa matokeo kwa darasa linalorithi kutoka FilterInputStream ili kuidhibiti;
- fanya obfuscation isiyo na maana ili kupoteza dakika chache za wakati kutoka kwa mtu anayerejesha nyuma;
- toa matokeo yaliyodhibitiwa kwa ZipInputStream ili kupata faili ya DEX;
- hatimaye pakia DEX iliyopatikana kama Rasilimali kwa kutumia njia ya
loadDex
.
DeGuard
DeGuard inarudisha mchakato wa obfuscation uliofanywa na zana za obfuscation za Android. Hii inawezesha uchambuzi wa usalama nyingi, ikiwa ni pamoja na ukaguzi wa code na kutabiri maktaba.
Unaweza kupakia APK iliyofichwa kwenye jukwaa lao.
Simplify
Ni deobfuscator wa kawaida wa Android. Simplify inatekeleza kwa vitendo applikesheni ili kuelewa tabia yake na kisha jaribu kuiboresha code ili iweze kufanya kazi sawa lakini iwe rahisi kwa binadamu kuelewa. Kila aina ya uboreshaji ni rahisi na ya kawaida, kwa hivyo haijalishi aina maalum ya obfuscation inayotumiwa.
APKiD
APKiD inakupa taarifa juu ya jinsi APK ilivyotengenezwa. Inatambua compilers nyingi, packers, obfuscators, na vitu vingine vya ajabu. Ni PEiD kwa Android.
Manual
Soma mafunzo haya ili kujifunza mbinu kadhaa za jinsi ya kurejesha obfuscation ya desturi
Labs
Androl4b
AndroL4b ni mashine ya kiusalama ya Android iliyotegemea ubuntu-mate inayojumuisha mkusanyiko wa mfumo wa hivi karibuni, mafunzo na maabara kutoka kwa wataalamu na watafiti wa usalama tofauti kwa ajili ya reverse engineering na uchambuzi wa programu hasidi.
Marejeo
- https://owasp.org/www-project-mobile-app-security/
- https://appsecwiki.com/#/ Ni orodha nzuri ya rasilimali
- https://maddiestone.github.io/AndroidAppRE/ Kozi fupi ya Android
- https://manifestsecurity.com/android-application-security/
- https://github.com/Ralireza/Android-Security-Teryaagh
- https://www.youtube.com/watch?v=PMKnPaGWxtg&feature=youtu.be&ab_channel=B3nacSec
Bado kujaribu
Jiunge na HackenProof Discord ili kuwasiliana na wadukuzi wenye uzoefu na wawindaji wa bug bounty!
Hacking Insights
Shiriki na maudhui yanayochunguza msisimko na changamoto za kudukua
Real-Time Hack News
Kuwa na habari za haraka za ulimwengu wa kudukua kupitia habari na ufahamu wa wakati halisi
Latest Announcements
Kuwa na habari za hivi karibuni kuhusu bug bounties mpya zinazozinduliwa na sasisho muhimu za jukwaa
Jiunge nasi kwenye Discord na anza kushirikiana na wadukuzi bora leo!
Jifunze kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako inayotangazwa kwenye HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia SUBSCRIPTION PLANS!
- Pata swag rasmi wa PEASS & HackTricks
- Gundua The PEASS Family, mkusanyiko wetu wa