Programu za Android Pentesting

Tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Misingi ya Programu za Android

Inapendekezwa sana kuanza kusoma ukurasa huu ili kujua kuhusu sehemu muhimu zaidi zinazohusiana na usalama wa Android na vipengele hatari zaidi katika programu ya Android:

Android Applications Basics

ADB (Android Debug Bridge)

Hii ni zana kuu unayohitaji kuunganishwa na kifaa cha Android (kilichoemulated au cha kimwili).
ADB inaruhusu kudhibiti vifaa kupitia USB au Network kutoka kwa kompyuta. Zana hii inafanya iwezekane kunakili faili kwa pande zote mbili, kufunga na kuondoa apps, kutekeleza amri za shell, kuhifadhi data, kusoma logs, miongoni mwa kazi nyingine.

Angalia orodha ifuatayo ya ADB Commands ili ujifunze jinsi ya kutumia adb.

Smali

Wakati mwingine ni ya kuvutia kubadilisha msimbo wa programu ili kupata taarifa zilizofichwa (labda nywila zilizoobfuscated vizuri au flags). Basi, inaweza kuwa ya kuvutia kudecopile APK, kubadilisha msimbo na kuirecompile.
In this tutorial you can learn how to decompile and APK, modify Smali code and recompile the APK with the new functionality. Hii inaweza kuwa muhimu sana kama mbadala kwa majaribio kadhaa wakati wa dynamic analysis yatakayowasilishwa. Kwa hiyo, kumbuka kila mara uwezekano huu.

Other interesting tricks

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
  • Unganisha splits zote na base apks kwa kutumia APKEditor:
mkdir splits
adb shell pm path com.android.insecurebankv2 | cut -d ':' -f 2 | xargs -n1 -i adb pull {} splits
java -jar ../APKEditor.jar m -i splits/ -o merged.apk

# after merging, you will need to align and sign the apk, personally, I like to use the uberapksigner
java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed

Android Enterprise & Work Profile Shambulio

Android Enterprise Work Profile Bypass

Masomo ya Kesi & Udhaifu

Air Keyboard Remote Input Injection

Android Rooting Frameworks Manager Auth Bypass Syscall Hook

Uchambuzi wa Static

Kwanza kabisa, kwa kuchambua APK unapaswa kutazama msimbo wa Java kwa kutumia decompiler.
Tafadhali, soma hapa ili kupata taarifa kuhusu decompilers tofauti zilizopo.

Kutafuta Taarifa Zinazovutia

Kwa kuangalia tu strings za APK unaweza kutafuta nywila, URLs (https://github.com/ndelphit/apkurlgrep), api keys, ufichaji, bluetooth uuids, tokens na chochote kinachovutia… angalia hata kwa code execution backdoors au authentication backdoors (cheo cha admin kilicho hardcoded ndani ya app).

Firebase

Lipa kipaumbele maalum kwa Firebase URLs na angalia kama imewekwa vibaya. Taarifa zaidi kuhusu nini ni Firebase na jinsi ya kuitumia hapa.

Uelewa wa Msingi wa Programu - Manifest.xml, strings.xml

Uchunguzi wa faili za programu Manifest.xml na strings.xml unaweza kufichua udhaifu wa usalama. Faili hizi zinaweza kupatikana kwa kutumia decompilers au kwa kubadilisha extension ya APK kuwa .zip kisha kuizifungua.

Udhaifu unaoweza kubainika kutoka kwa Manifest.xml ni pamoja na:

  • Debuggable Applications: Programu zilizowekwa kama debuggable (debuggable="true") katika Manifest.xml zinaweza kuwa hatari kwani zinaruhusu connections ambazo zinaweza kusababisha kutumiwa vibaya. Kwa uelewa zaidi juu ya jinsi ya kutumia programu zilizo debuggable, rejea mwongozo wa kupata na kutumia programu zilizo debuggable kwenye kifaa.
  • Backup Settings: Sifa android:allowBackup="false" inapaswa kuwekwa wazi kwa programu zinazoshughulikia taarifa nyeti ili kuzuia backups zisizoidhinishwa kupitia adb, hasa wakati usb debugging imewezeshwa.
  • Network Security: Custom network security configurations (android:networkSecurityConfig="@xml/network_security_config") katika res/xml/ zinaweza kuelezea maelezo ya usalama kama certificate pins na mipangilio ya trafiki ya HTTP. Mfano ni kuruhusu trafiki ya HTTP kwa domain maalum.
  • Exported Activities and Services: Kutambua activities na services zilizoorodheshwa kama exported kwenye manifest kunaweza kuonyesha vipengele vinavyoweza kutumiwa vibaya. Uchambuzi zaidi wakati wa majaribio ya dynamic unaweza kufichua jinsi ya kutumia vipengele hivyo.
  • Content Providers and FileProviders: content providers zilizofunguliwa zinaweza kuruhusu upatikanaji au mabadiliko yasiyoidhinishwa ya data. Mpangilio wa FileProviders pia unapaswa kuchunguzwa kwa umakini.
  • Broadcast Receivers and URL Schemes: Vipengele hivi vinaweza kutumika kwa ajili ya kutekeleza shambulio, hasa ukizingatia jinsi URL schemes zinavyosimamiwa kwa udhaifu wa input.
  • SDK Versions: minSdkVersion, targetSDKVersion, na maxSdkVersion zinaonyesha toleo za Android zinazoungwa mkono, zikibainisha umuhimu wa kuto support toleo la Android lililo zamani na lenye udhaifu kwa sababu za usalama.

Kutoka kwa faili ya strings.xml, taarifa nyeti kama API keys, schemas za kawaida, na noti nyingine za developer zinaweza kugunduliwa, ikisisitiza umuhimu wa kupitia rasilimali hizi kwa uangalifu.

Tapjacking

Tapjacking ni shambulio ambalo programu ya malicious inazinduliwa na kujipanga juu ya programu ya mwathiri. Mara inapozaa muonekano juu ya app ya mwathiri, interface yake imeundwa ili kumdanganya mtumiaji kuingiliana nayo, huku ikipitisha mwingiliano huo kwa app ya mwathiri.
Kwa vitendo, inamficha mtumiaji akidhani anafanya shughuli kwenye programu yake, wakati kwa kweli anafanya vitendo kwenye app ya mwathiri.

Pata taarifa zaidi katika:

Tapjacking

Task Hijacking

Activity ikiwa na launchMode imewekwa kwa singleTask bila taskAffinity yoyote iliyoelezwa ni dhaifu kwa task Hijacking. Hii inamaanisha, kwamba programu inaweza kusakinishwa na ikiwa itaendeshwa kabla ya programu halisi inaweza hijack task ya programu halisi (hivyo mtumiaji atakuwa akielewa kuwa anaingiliana na programu ya malicious akidhani anatumia ile halisi).

Taarifa zaidi katika:

Android Task Hijacking

Uhifadhi wa Data Usio Salama

Internal Storage

Katika Android, faili zilizo hifadhiwa kwenye internal storage zimetengenezwa kuwa zinapatikana pekee kwa app iliyozitengeneza. Kipimo hiki cha usalama kinatekelezwa na mfumo wa uendeshaji wa Android na kwa ujumla kinatosheleza mahitaji ya usalama ya programu nyingi. Hata hivyo, waendelezaji wakati mwingine hutumia modes kama MODE_WORLD_READABLE na MODE_WORLD_WRITABLE kuruhusu faili kushirikiwa kati ya programu tofauti. Modes hizi hazizuii upatikanaji wa faili hizi na programu nyingine, ikiwa ni pamoja na zile zinazoweza kuwa malicious.

  1. Static Analysis:
  • Hakikisha matumizi ya MODE_WORLD_READABLE na MODE_WORLD_WRITABLE yanachunguzwa kwa uangalifu. Modes hizi zinaweza kufichua faili kwa upatikanaji usiokusudiwa au usioidhinishwa.
  1. Dynamic Analysis:
  • Thibitisha ruhusa zilizowekwa kwa faili zinazotengenezwa na app. Kabla ya yote, angalia kama faili zozote zimeruhusiwa kusomwa au kuandikwa kwa ulimwengu wote. Hii inaweza kuwa hatari sana kwa usalama, kwani itamruhusu app yoyote iliyosakinishwa kwenye kifaa, bila kujali asili yake au nia, kusoma au kubadilisha faili hizi.

External Storage

Unaposhughulika na faili kwenye external storage, kama SD Cards, tahadhari fulani zinapaswa kuchukuliwa:

  1. Accessibility:
  • Faili kwenye external storage ni zinazosomwa na kuandikwa kwa wote. Hii inamaanisha programu au mtumiaji yeyote anaweza kufikia faili hizi.
  1. Security Concerns:
  • Kutokana na upatikanaji rahisi, inapendekezwa kutoweka taarifa nyeti kwenye external storage.
  • External storage inaweza kuondolewa au kufikiwa na programu yoyote, hivyo kufanya kuwa isiyo salama.
  1. Handling Data from External Storage:
  • Daima fanya input validation kwa data inayotokana na external storage. Hii ni muhimu kwa sababu data inatoka kwenye chanzo kisichoaminika.
  • Kuhifadhi executables au class files kwenye external storage kwa ajili ya dynamic loading ni jambo linaloshauriwa kuepukwa.
  • Ikiwa app yako lazima ipokee faili za executable kutoka external storage, hakikisha faili hizi zimesainiwa na kuthibitishwa kwa cryptographic kabla ya kuzipakia kwa dynamic. Hatua hii ni muhimu kwa kudumisha uadilifu wa usalama wa programu yako.

External storage inaweza kupatikana katika /storage/emulated/0 , /sdcard , /mnt/sdcard

Tip

Kuanzia Android 4.4 (API 17), SD card ina muundo wa directory ambao unapunguza upatikanaji kutoka kwa app hadi directory iliyotengwa mahsusi kwa app hiyo. Hii inazuia application malicious kupata upatikanaji wa kusoma au kuandika faili za app nyingine.

Taarifa nyeti zilizo hifadhiwa kwa maandishi wazi

  • Shared preferences: Android inaruhusu kila application kuhifadhi kwa urahisi faili za xml kwenye njia /data/data/<packagename>/shared_prefs/ na wakati mwingine inawezekana kupata taarifa nyeti kwa maandishi wazi katika folda hiyo.
  • Databases: Android inaruhusu kila application kuhifadhi kwa urahisi databases za sqlite kwenye njia /data/data/<packagename>/databases/ na wakati mwingine inawezekana kupata taarifa nyeti kwa maandishi wazi katika folda hiyo.

TLS Iliyovunjika

Kupokea Vyeti Vyote

Kwa sababu fulani wakati mwingine developers wanakubali vyeti vyote hata kama kwa mfano hostname haitolingani na mistari ya msimbo kama ifuatavyo:

SSLSocketFactory sf = new cc(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

Njia nzuri ya kujaribu hili ni kukamata trafiki kwa kutumia proxy kama Burp bila kuidhinisha Burp CA ndani ya kifaa. Pia, unaweza kuunda na Burp cheti kwa hostname tofauti na kukitumia.

Kriptografia iliyovunjika

Mchakato mbaya wa usimamizi wa funguo

Baadhi ya watengenezaji huhifadhi data nyeti kwenye storage ya ndani na kuiweka kwa encryption kwa funguo iliyowekwa ndani/kutabirika kwenye code. Hili halipaswi kufanywa kwani reverse engineering inaweza kumruhusu mshambuliaji kutoa taarifa nyeti.

Matumizi ya Algorithms zisizo salama na/au zilizopitwa na wakati

Watengenezaji hawapaswi kutumia algorithms zilizopitwa na wakati kufanya ukaguzi wa idhinishaji, kuhifadhi au kutuma data. Baadhi ya algorithms hizi ni: RC4, MD4, MD5, SHA1… Ikiwa hashes zinatumika kuhifadhi nywila kwa mfano, ni vyema kutumia hashes zisizo rahisi kwa brute-force pamoja na salt.

Other checks

  • Inashauriwa kuficha (obfuscate) APK ili kuleta ugumu kwa kazi ya reverse engineer kwa washambuliaji.
  • Ikiwa app ni nyeti (kama app za benki), inapaswa kufanya ukaguzi wake kuona kama mobile ime-rooted na kuchukua hatua ipasavyo.
  • Ikiwa app ni nyeti (kama app za benki), inapaswa kuangalia kama emulator inatumiwa.
  • Ikiwa app ni nyeti (kama app za benki), inapaswa kuangalia uadilifu wake mwenyewe kabla ya kutekeleza ili kuangalia kama imebadilishwa.
  • Tumia APKiD kuangalia compiler/packer/obfuscator gani ilitumiwa kujenga APK

React Native Application

Soma ukurasa ufuatao ili kujifunza jinsi ya kupata kwa urahisi javascript code ya React applications:

React Native Application

Xamarin Applications

Soma ukurasa ufuatao ili kujifunza jinsi ya kupata kwa urahisi C# code ya xamarin applications:

Xamarin Apps

Superpacked Applications

Kulingana na blog post superpacked ni algorithm ya Meta inayobanisha compress ya maudhui ya application ndani ya faili moja. Blogu inazungumzia uwezekano wa kuunda app inayo decompress aina hizi za apps… na njia ya haraka ambayo inahusisha kutekeleza application na kukusanya faili zilizookolewa kwenye filesystem.

Uchambuzi wa msimbo wa staitiki uliotautomatika

Chombo mariana-trench kina uwezo wa kupata vulnerabilities kwa skanning ya code ya application. Chombo hiki kina mfululizo wa known sources (ambazo zinaonyesha kwa chombo maeneo ambapo input iko kikontrolwa na mtumiaji), sinks (ambazo zinaonyesha kwa chombo maeneo hatari ambapo input ya mtumiaji mharibu inaweza kusababisha madhara) na rules. Kanuni hizi zinaonyesha mchanganyiko wa sources-sinks unaoonyesha udhaifu.

Kwa maarifa haya, mariana-trench itapitia code na kupata udhaifu unaowezekana ndani yake.

Secrets leaked

Programu inaweza kuwa na siri (API keys, passwords, urls zilizofichwa, subdomains…) ndani yake ambazo unaweza kuweza kugundua. Unaweza kutumia chombo kama https://github.com/dwisiswant0/apkleaks

Bypass Biometric Authentication

Bypass Biometric Authentication (Android)

Kazi nyingine za kuvutia

  • Code execution: Runtime.exec(), ProcessBuilder(), native code:system()
  • Send SMSs: sendTextMessage, sendMultipartTestMessage
  • Native functions declared as native: public native, System.loadLibrary, System.load
  • Soma hii ili kujifunza jinsi ya kuweka reverse native functions
  • In-memory native code execution via JNI (downloaded shellcode → mmap/mprotect → call):

In Memory Jni Shellcode Execution

Other tricks

content:// protocol



Uchambuzi Dinamiki

Kwanza kabisa, unahitaji mazingira ambapo unaweza kusanidi application na mazingira yote (Burp CA cert, Drozer na Frida hasa). Kwa hivyo, kifaa kilicho-root (emulated au siyo) kinapendekezwa sana.

Online Dynamic analysis

Unaweza kuunda akaunti ya bure kwa: https://appetize.io/. Jukwaa hili linakuwezesha kupakia na kutekeleza APKs, hivyo ni muhimu kuona jinsi apk inavyoenda.

Unaweza hata kuona logs za application yako kwenye wavuti na kuungana kupitia adb.

Shukrani kwa muunganisho wa ADB unaweza kutumia Drozer na Frida ndani ya emulators.

Local Dynamic Analysis

Using an emulator

  • Android Studio (Unaweza kuunda vifaa x86 na arm, na kulingana na hii matoleo ya hivi karibuni ya x86 yanaunga mkono maktaba za ARM bila hitaji la emulator polepole ya arm).
  • Jifunze jinsi ya kuiweka kwenye ukurasa huu:

AVD - Android Virtual Device

  • Genymotion (Toleo la bure: Personal Edition, unahitaji kuunda akaunti. Inapendekezwa kupakua toleo NA VirtualBox ili kuepuka makosa ya uwezekano.)
  • Nox (Bure, lakini haiungi mkono Frida au Drozer).

Tip

Unapotengeneza emulator mpya kwenye jukwaa lolote kumbuka kuwa skrini kubwa, emulator itafanya kazi polepole. Hivyo chagua skrini ndogo inapowezekana.

Ili kuweka huduma za google (kama AppStore) katika Genymotion unahitaji kubonyeza kitufe kilicho na alama nyekundu kwenye picha ifuatayo:

Pia, kumbuka kuwa katika config ya Android VM katika Genymotion unaweza kuchagua Bridge Network mode (hili litakuwa muhimu ikiwa utakuwa unakuza kuungana kwenye Android VM kutoka VM tofauti yenye zana).

Use a physical device

Unahitaji kuwezesha chaguo za debugging na itakuwa nzuri ukiona kama unaweza kui root:

  1. Settings.
  2. (Kuanzia Android 8.0) Chagua System.
  3. Chagua About phone.
  4. Bonyeza Build number mara 7.
  5. Rudi nyuma utaona Developer options.

Mara tu utakapokuwa umesanidi application, jambo la kwanza unapaswa kufanya ni kuijaribu na kuchunguza inafanya nini, jinsi inavyofanya kazi na kujisikia mwenye raha nayo.
Ninapendekeza kufanya uchambuzi huu wa awali wa dinamiki kwa kutumia MobSF dynamic analysis + pidcat, hivyo tutaweza kujifunza jinsi application inavyofanya kazi wakati MobSF inakayamata data nyingi zinazovutia ambazo unaweza kupitia baadaye.

Magisk/Zygisk quick notes (inayopendekezwa kwenye vifaa vya Pixel)

  • Patch boot.img na app ya Magisk na flash kwa fastboot kupata systemless root
  • Washa Zygisk + DenyList kwa kuficha root; fikiria LSPosed/Shamiko wakati kuficha kwa nguvu zaidi kunahitajika
  • Hifadhi boot.img ya asili ili kurejesha baada ya OTA updates; re-patch baada ya kila OTA
  • Kwa mirror ya screen, tumia scrcpy kwenye host

Unintended Data Leakage

Logging

Watengenezaji wanapaswa kuwa waangalifu kutoonyesha taarifa za debugging hadharani, kwani inaweza kusababisha data nyeti ku-leak. Zana pidcat na adb logcat zinapendekezwa kwa kusimamia logs za application ili kubaini na kulinda taarifa nyeti. Pidcat inapendekezwa kwa urahisi wake wa matumizi na kusomeka.

Warning

Kumbuka kuwa kuanzia matoleo mapya kuliko Android 4.0, programu zinaweza kufikia logi zao wenyewe tu. Hivyo programu haziwezi kufikia logi za apps nyingine.
Hata hivyo, bado inashauriwa kutoandika taarifa nyeti kwenye logi.

Copy/Paste Buffer Caching

Mfumo wa clipboard-based wa Android unawezesha utendaji wa copy-paste katika apps, lakini unaweka hatari kwani apps nyingine zinaweza kupata clipboard, na hivyo kuonyesha data nyeti. Ni muhimu kuzima kazi za copy/paste kwa sehemu nyeti za app, kama taarifa za kadi ya mkopo, ili kuzuia data ku-leak.

Crash Logs

Iwapo application inagyuka (crashes) na inaweka logi, logi hizi zinaweza kumsaidia mshambuliaji, hasa wakati application haiwezi kureverse-engineered. Ili kupunguza hatari hii, epuka logging wakati wa crashes, na ikiwa logi lazima zitumiwe mtandaoni, hakikisha zinatumwa kupitia channel ya SSL kwa usalama.

Kama pentester, jaribu kuangalia logi hizi.

Analytics Data Sent To 3rd Parties

Applications mara nyingi hujumuisha huduma kama Google Adsense, ambayo kwa bahati mbaya inaweza ku-leak data nyeti kutokana na utekelezaji usio sahihi na watengenezaji. Ili kubaini uwezekano wa ku-leak kwa data, inashauriwa kusimamia trafiki ya application na kuangalia kama taarifa nyeti zinatumwa kwa huduma za watu wa tatu.

SQLite DBs

Programu nyingi zitakuwa zikitumia internal SQLite databases kuhifadhi taarifa. Wakati wa pentest tazama databases zilizotengenezwa, majina ya meza na safuku na data zote zilizohifadhiwa kwa sababu unaweza kupata taarifa nyeti (ambazo zingekuwa udhaifu).
Databases zinapaswa kupatikana katika /data/data/the.package.name/databases kama /data/data/com.mwr.example.sieve/databases

Ikiwa database inahifadhi taarifa za siri na ime encrypted lakini unaweza kupata nywila ndani ya application bado ni udhaifu.

Taja meza kwa kutumia .tables na taja safu za meza kwa kufanya .schema <table_name>

Drozer (Exploit Activities, Content Providers and Services)

Kutoka Drozer Docs: Drozer inakuwezesha kuchukua nafasi ya Android app na kuingiliana na apps nyingine. Inaweza kufanya kila kitu ambacho app iliyowekwa inaweza kufanya, kama kutumia mekanismo ya Inter-Process Communication (IPC) ya Android na kuingiliana na operating system inayozingatia. .
Drozer ni zana muhimu ya kufanya exploit kwa exported activities, exported services na Content Providers kama utakavyojifunza katika sehemu zilizo hapa chini.

Exploiting exported Activities

Soma hii ikiwa unataka kukumbusha ni nini Android Activity.
Kumbuka pia kuwa code ya activity inaanza katika method ya onCreate.

Authorisation bypass

Wakati Activity ime-exported unaweza kuitisha skrini yake kutoka kwa app ya nje. Hivyo, ikiwa activity yenye taarifa nyeti ime exported unaweza kupitishwa kwa authentication ili kuiingia.

Jifunze jinsi ya kutumia exported activities na Drozer.

Unaweza pia kuanza exported activity kutoka adb:

  • PackageName is com.example.demo
  • Exported ActivityName is com.example.test.MainActivity
adb shell am start -n com.example.demo/com.example.test.MainActivity

TAARIFA: MobSF itatafuta kama hatari matumizi ya singleTask/singleInstance kama android:launchMode katika activity, lakini kutokana na this, inaonekana hii ni hatari tu katika toleo za zamani (API versions < 21).

Tip

Kumbuka kwamba authorisation bypass si kila mara udhaifu, itategemea jinsi bypass inavyofanya kazi na ni taarifa gani zinafunuliwa.

Uvujaji wa taarifa nyeti

Activities can also return results. Ikiwa utafanikiwa kupata exported na isiyolindwa activity inayoita method ya setResult na kurudisha taarifa nyeti, kuna uvujaji wa taarifa nyeti.

Tapjacking

Ikiwa tapjacking haizuiziwi, unaweza kutumia exported activity kufanya mtumiaji afanye vitendo visivyotarajiwa. Kwa taarifa zaidi kuhusu nini Tapjacking fuata kiungo.

Exploiting Content Providers - Kupata na kuhariri taarifa nyeti

Soma hii ikiwa unataka kukumbusha ni nini Content Provider.
Content providers kwa msingi hutumika kushiriki data. Ikiwa app ina content providers zinazopatikana unaweza kuwa na uwezo wa kutoa data nyeti kutoka kwazo. Pia ni muhimu kujaribu SQL injections na Path Traversals kwani zinaweza kuwa zenye udhaifu.

Jifunze jinsi ya exploit Content Providers na Drozer.

Exploiting Services

Soma hii ikiwa unataka kukumbusha ni nini Service.
Kumbuka kwamba vitendo vya Service huanza katika method onStartCommand.

Service kwa msingi ni kitu ambacho kinaweza kupokea data, kui-process na kurudisha (au la) jibu. Hivyo, ikiwa application inatoa services fulani unapaswa kagua code ili kuelewa inafanya nini na kuifanyia test kwa dinamiki ili kutoa taarifa za siri, kupita hatua za uthibitishaji…
Jifunze jinsi ya exploit Services na Drozer.

Exploiting Broadcast Receivers

Soma hii ikiwa unataka kukumbusha ni nini Broadcast Receiver.
Kumbuka kwamba vitendo vya Broadcast Receiver huanza katika method onReceive.

Broadcast receiver itakuwa inasubiri aina fulani ya ujumbe. Kulingana na jinsi receiver inavyoshughulikia ujumbe inaweza kuwa na udhaifu.
Jifunze jinsi ya exploit Broadcast Receivers na Drozer.

Unaweza kutafuta deep links kwa mkono, ukitumia zana kama MobSF au scripts kama this one.
Unaweza ku-fungua scheme iliyotangazwa kwa kutumia adb au browser:

adb shell am start -a android.intent.action.VIEW -d "scheme://hostname/path?param=value" [your.package.name]

Kumbuka kwamba unaweza kuacha jina la kifurushi na simu itaitisha moja kwa moja app inayofaa kufungua kiungo hicho.

<!-- 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>

Msimbo unaotekelezwa

Ili kupata msimbo utakaoendeshwa kwenye App, nenda kwenye activity inayoitwa na deeplink na tafuta function onNewIntent.

Taarifa nyeti

Kila mara unapopata deep link hakikisha haipoki taarifa nyeti (kama nywila) kupitia URL parameters, kwa sababu programu nyingine yoyote inaweza kuiga deep link na kuiba data hiyo!

Parameters in path

Lazima pia ukague kama deep link yoyote inatumia parameter ndani ya path ya URL kama: https://api.example.com/v1/users/{username} , katika hali hiyo unaweza kulazimisha path traversal kwa kufikia kitu kama: example://app/users?username=../../unwanted-endpoint%3fparam=value .
Kumbuka kwamba ikiwa utapata endpoints sahihi ndani ya application unaweza kusababisha Open Redirect (ikiwa sehemu ya path inatumika kama domain name), account takeover (ikiwa unaweza kubadilisha maelezo ya watumiaji bila CSRF token na endpoint yenye udhaifu ilitumia method sahihi) na udhaifu mwingine wowote. More info about this here.

More examples

An interesting bug bounty report about links (/.well-known/assetlinks.json).

Transport Layer Inspection and Verification Failures

  • Certificates hazichunguzwi kila mara kwa usahihi na applications za Android. Ni kawaida kwa applications hizi kupuuza onyo na kukubali self-signed certificates au, wakati mwingine, kurudi kutumia HTTP connections.
  • Mizwada wakati wa SSL/TLS handshake mara nyingine huwa dhaifu, ikitumia insecure cipher suites. Udhaifu huu unafanya connection iwe nyeti kwa man-in-the-middle (MITM) attacks, kuruhusu mashambulizi kuvunja usimbuaji wa data.
  • Leakage of private information ni hatari wakati applications zinathibitisha kwa kutumia channels salama kisha kuwasiliana kwa channels zisizo salama kwa miamala mingine. Njia hii haifanyi ulinzi wa data nyeti, kama session cookies au maelezo ya mtumiaji, dhidi ya kupigwa mkono na wadudu.

Certificate Verification

Tutazingatia certificate verification. Uadilifu wa cheti cha server lazima uthibitishe ili kuongeza usalama. Hii ni muhimu kwa sababu misanidi miiko isiyo salama ya TLS na usafirishaji wa data nyeti kupitia channels zisizoencrypted inaweza kusababisha hatari kubwa. Kwa hatua za kina juu ya jinsi ya kuthibitisha server certificates na kutatua udhaifu, this resource inatoa mwongozo kamili.

SSL Pinning

SSL Pinning ni hatua ya usalama ambapo application inathibitisha cheti la server dhidi ya nakala inayojulikana iliyohifadhiwa ndani ya application yenyewe. Njia hii ni muhimu kwa kuzuia MITM attacks. Inashauriwa sana kutekeleza SSL Pinning kwa applications zinazoshughulikia taarifa nyeti.

Traffic Inspection

Ili kuchunguza trafiki ya HTTP, inahitajika kuuza/install cheti cha proxy tool (mfano, Burp). Bila kuingiza cheti hiki, trafiki iliyosimbazwa inaweza isionekane kupitia proxy. Kwa mwongozo juu ya jinsi ya kuinstall custom CA certificate, click here.

Applications zinazolenga API Level 24 and above zinahitaji mabadiliko kwenye Network Security Config ili kukubali CA certificate ya proxy. Hatua hii ni muhimu kwa kuchunguza trafiki iliyosimbazwa. Kwa maelekezo ya kubadilisha Network Security Config, refer to this tutorial.

Ikiwa Flutter inatumiwa unahitaji kufuata maagizo kwenye this page. Hii ni kwa sababu, kuongeza cheti tu kwenye store haitafanya kazi kwani Flutter ina orodha yake ya CA halali.

Static detection of SSL/TLS pinning

Kabla ya kujaribu runtime bypasses, panga kwa haraka maeneo ambapo pinning inatekelezwa ndani ya APK. Ugunduzi wa static utakusaidia kupanga hooks/patches na kuzingatia code paths sahihi.

Tool: SSLPinDetect

  • Open-source static-analysis utility inayofanya decompile ya APK hadi Smali (kupitia apktool) na kuchunguza patterns za regex zilizokusanywa za utekelezaji wa SSL/TLS pinning.
  • Inaripoti file path halisi, namba ya mstari, na snippet ya code kwa kila match.
  • Inafunika frameworks za kawaida na custom code paths: OkHttp CertificatePinner, custom javax.net.ssl.X509TrustManager.checkServerTrusted, SSLContext.init with custom TrustManagers/KeyManagers, na Network Security Config XML pins.

Install

  • Prereqs: Python >= 3.8, Java on PATH, apktool
git clone https://github.com/aancw/SSLPinDetect
cd SSLPinDetect
pip install -r requirements.txt

Matumizi

# Basic
python sslpindetect.py -f app.apk -a apktool.jar

# Verbose (timings + per-match path:line + snippet)
python sslpindetect.py -a apktool_2.11.0.jar -f sample/app-release.apk -v

Mifano ya kanuni za pattern (JSON) Tumia au ongeza signatures ili kugundua mitindo ya pinning ya proprietary/custom. Unaweza kupakia JSON yako mwenyewe na kukagua kwa wingi.

{
"OkHttp Certificate Pinning": [
"Lcom/squareup/okhttp/CertificatePinner;",
"Lokhttp3/CertificatePinner;",
"setCertificatePinner"
],
"TrustManager Override": [
"Ljavax/net/ssl/X509TrustManager;",
"checkServerTrusted"
]
}

Vidokezo na ushauri

  • Usaka wa haraka kwenye apps kubwa kupitia multi-threading na memory-mapped I/O; pre-compiled regex hupunguza mzigo na false positives.
  • Mkusanyiko wa patterni: https://github.com/aancw/smali-sslpin-patterns
  • Lengo la utambuzi la kawaida kwa triage inayofuata:
  • OkHttp: matumizi ya CertificatePinner, setCertificatePinner, marejeo ya package okhttp3/okhttp
  • Custom TrustManagers: javax.net.ssl.X509TrustManager, checkServerTrusted overrides
  • Custom SSL contexts: SSLContext.getInstance + SSLContext.init with custom managers
  • Declarative pins katika res/xml network security config na marejeo kwenye manifest
  • Tumia maeneo yaliyopatikana kupanga Frida hooks, static patches, au mapitio ya config kabla ya dynamic testing.

Kuepuka SSL Pinning

Wakati SSL Pinning imetekelezwa, kuepuka kunakuwa muhimu ili kuchunguza trafiki ya HTTPS. Mbinu mbalimbali zinapatikana kwa madhumuni haya:

Kutafuta Web Vulnerabilities za Kawaida

Ni muhimu pia kutafuta web vulnerabilities za kawaida ndani ya application. Taarifa za kina kuhusu kutambua na kupunguza vulnerabilities hizi ziko nje ya muhtasari huu lakini zimeelezewa kwa undani mahali pengine.

Frida

Frida ni dynamic instrumentation toolkit kwa developers, reverse-engineers, na security researchers.
Unaweza kufikia application inayoendesha na hook methods wakati wa run time kubadilisha tabia, kubadilisha thamani, kutoa thamani, kuendesha code tofauti…
Kama unataka pentest Android applications lazima ujue jinsi ya kutumia Frida.

Anti-instrumentation & SSL pinning bypass workflow

Android Anti Instrumentation And Ssl Pinning Bypass

Dump Memory - Fridump

Angalia kama application inahifadhi taarifa nyeti ndani ya memory ambazo haipaswi kuhifadhi kama passwords au mnemonics.

Kutumia Fridump3 unaweza dump memory ya app na:

# With PID
python3 fridump3.py -u <PID>

# With name
frida-ps -Uai
python3 fridump3.py -u "<Name>"

Hii itafanya dump ya memory kwenye folda ./dump, na huko unaweza grep kwa kitu kama:

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]+$"

Data nyeti katika Keystore

Katika Android Keystore ni mahali bora kuhifadhi data nyeti, hata hivyo, kwa ruhusa za kutosha bado ni inawezekana kuifikia. Kwa kuwa programu huwa zinaweka hapa data nyeti kwa maandishi wazi, pentests zinapaswa kuikagua kwa mtumiaji root au mtu mwenye ufikiaji wa kimwili kwa kifaa ambaye anaweza kuiba data hii.

Hata kama app imehifadhi data katika Keystore, data inapaswa kuwa imesimbwa.

To access the data inside the keystore you could use this Frida script: 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

Fingerprint/Biometrics Bypass

Kwa kutumia Frida script ifuatayo inaweza kuwa inawezekana bypass fingerprint authentication ambayo programu za Android zinaweza kufanyia ili kulinda maeneo nyeti fulani:

frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app.package>

Picha za Mandharinyuma

Unapoweka app kwa mandharinyuma, Android huhifadhi snapshot ya app ili inaporejeshwa kwenye foreground inaanza kupakia picha kabla ya app, hivyo inaonekana kama app ilifunguliwa haraka zaidi.

Hata hivyo, ikiwa snapshot hii ina taarifa nyeti, mtu mwenye ufikiaji wa snapshot anaweza kuiba taarifa hiyo (kumbuka: unahitaji root ili kuifikia).

Snapshots kawaida huhifadhiwa katika: /data/system_ce/0/snapshots

Android inatoa njia ya kuzuia kuchukuliwa kwa screenshot kwa kuweka parameter ya layout FLAG_SECURE. Kwa kutumia flag hii, maudhui ya window yanachukuliwa kuwa salama, zikizuia kuonekana kwenye screenshots au kutazamwa kwenye displays zisizo salama.

getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);

Android Application Analyzer

Zana hii inaweza kukusaidia kusimamia zana mbalimbali wakati wa dynamic analysis: https://github.com/NotSoSecure/android_application_analyzer

Intent Injection

Waundaji mara nyingi huunda proxy components kama activities, services, na broadcast receivers vinavyoshughulikia Intents hizi na kuzipitisha kwa methods kama startActivity(...) au sendBroadcast(...), jambo ambalo linaweza kuwa hatari.

Hatari iko katika kuruhusu washambuliaji kuzindua non-exported app components au kupata access kwa sensitive content providers kwa kumrudisha Intents hizi kwa njia isiyo sahihi. Mfano mmoja ni component ya WebView inayobadilisha URLs kuwa Intent objects kupitia Intent.parseUri(...) kisha kuvitekeleza, jambo ambalo linaweza kusababisha malicious Intent injections.

Essential Takeaways

  • Intent Injection ni sawa na Open Redirect ya web.
  • Exploits zinahusisha kupitisha Intent objects kama extras, ambazo zinaweza kurekebishwa ili kutekeleza operesheni zisizokuwa salama.
  • Inaweza kufichua non-exported components na content providers kwa washambuliaji.
  • Mabadiliko ya URL hadi Intent katika WebView yanaweza kuwezesha vitendo visivyokusudiwa.

Android Client Side Injections and others

Huenda unajua aina hizi za vulnerabilities kutoka kwa Web. Lazima uwe makini sana na vulnerabilities hizi katika Android application:

  • SQL Injection: Unaposhughulika na dynamic queries au Content-Providers hakikisha unatumia parameterized queries.
  • JavaScript Injection (XSS): Hakikisha JavaScript na Plugin support zimezimwa kwa WebViews zote (zimelizwa kwa default). More info here.
  • Local File Inclusion: WebViews zinapaswa kutopewa access kwenye file system (zinaamilishwa kwa default) - (webview.getSettings().setAllowFileAccess(false);). More info here.
  • Eternal cookies: Katika matukio kadhaa wakati android application inamaliza session cookie haifutwi au inaweza hata kuokolewa kwenye disk
  • Secure Flag in cookies

Uchambuzi wa Kiotomatiki

MobSF

Uchambuzi statiki

Tathmini ya vulnerabilities ya application kwa kutumia frontend nzuri ya web. Unaweza pia kufanya dynamic analysis (lakini unahitaji kuandaa mazingira).

docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest

Tafadhali kumbuka kwamba MobSF inaweza kuchambua Android(apk), IOS(ipa) and Windows(apx) applications (Windows applications must be analyzed from a MobSF installed in a Windows host).
Pia, ikiwa utaunda faili ya ZIP yenye source code ya app ya Android au IOS (enda kwenye root folder ya application, chagua kila kitu na tengeneza ZIPfile), itakuwa inayo uwezo wa kuichambua pia.

MobSF pia inakuwezesha kufanya diff/Compare analysis na kuingiza VirusTotal (utahitaji kuweka API key yako katika MobSF/settings.py na kuiwezesha: VT_ENABLED = TRUE VT_API_KEY = <Your API key> VT_UPLOAD = TRUE). Unaweza pia kuweka VT_UPLOAD kuwa False, basi hash itakuwa upload badala ya faili.

Iliyosaidiwa Dynamic analysis na MobSF

MobSF pia inaweza kuwa msaada mkubwa kwa dynamic analysis kwenye Android, lakini katika kesi hiyo utahitaji kusanidi MobSF na genymotion kwenye host yako (a VM or Docker won’t work). Kumbuka: Unahitaji kuanza kwanza a VM in genymotion na kisha MobSF.\ The MobSF dynamic analyser inaweza:

  • Dump application data (URLs, logs, clipboard, screenshots ulizotamka mwenyewe, screenshots zilizofanywa na “Exported Activity Tester”, emails, SQLite databases, XML files, na faili nyingine zilizoundwa). Haya yote hufanyika kwa kiotomatiki isipokuwa screenshots; lazima ubofye unapotaka screenshot au ubofye “Exported Activity Tester” ili kupata screenshots za exported activities zote.
  • Kukamata HTTPS traffic
  • Tumia Frida kupata runtime information

Kuanzia android versions > 5, itatazama automatically start Frida na itaweka global proxy settings ili capture traffic. It itakamata traffic tu kutoka kwa tested application.

Frida

Kwa chaguo-msingi, itatumia baadhi ya Frida Scripts ili bypass SSL pinning, root detection na debugger detection na monitor interesting APIs.
MobSF pia inaweza invoke exported activities, kupiga screenshots zao na save kwa ajili ya ripoti.

Ili start dynamic testing bonyeza kitufe cha kijani: “Start Instrumentation”. Bonyeza “Frida Live Logs” kuona logs zinazozalishwa na Frida scripts na “Live API Monitor” kuona invocation zote za hooked methods, arguments passed na returned values (hii itaonekana baada ya kubonyeza “Start Instrumentation”).
MobSF pia inakuwezesha ku-load Frida scripts zako mwenyewe (kutuma matokeo ya Frida scripts zako kwa MobSF tumia function send()). Pia ina several pre-written scripts unazoweza ku-load (unaweza kuongeza zaidi katika MobSF/DynamicAnalyzer/tools/frida_scripts/others/), chagua tu, bonyeza “Load” na bonyeza “Start Instrumentation” (utaweza kuona logs za scripts hizo ndani ya “Frida Live Logs”).

Zaidi ya hayo, kuna baadhi ya Auxiliary Frida functionalities:

  • Enumerate Loaded Classes: Itataja classes zote zilizopakiwa
  • Capture Strings: Itaonyesha strings zote zinazopatikana wakati wa kutumia application (sana noisy)
  • Capture String Comparisons: Inaweza kuwa ya msaada mkubwa. Itataja the 2 strings being compared na kama matokeo yalikuwa True au False.
  • Enumerate Class Methods: Weka class name (kama “java.io.File”) na itaonyesha methods zote za class.
  • Search Class Pattern: Tafuta classes kwa pattern
  • Trace Class Methods: Trace class nzima (ona inputs na outputs za methods zote za class). Kumbuka kwamba kwa default MobSF traces several interesting Android Api methods.

Mara utakapochagua module ya ziada unayotaka kutumia unahitaji kubonyeza “Start Intrumentation” na utaona outputs zote ndani ya “Frida Live Logs”.

Shell

MobSF pia inakuja na shell yenye baadhi ya adb commands, MobSF commands, na common shell commands chini ya ukurasa wa dynamic analysis. Baadhi ya commands za kuvutia:

help
shell ls
activities
exported_activities
services
receivers

Zana za HTTP

Wakati traffic ya HTTP inakamatwa unaweza kuona mtazamo mbaya wa traffic iliyokamatwa kwenye kitufe cha “HTTP(S) Traffic” au mtazamo mzuri kwenye kitufe cha kijani cha “Start HTTPTools”. Kutoka kwenye chaguo la pili, unaweza kutuma maombi yaliyokamatwa kwa proxies kama Burp au Owasp ZAP.
Ili kufanya hivyo, washa Burp –> zima Intercept –> katika MobSB HTTPTools chagua request –> bonyeza “Send to Fuzzer” –> chagua anwani ya proxy (http://127.0.0.1:8080\).

Mara utakapo maliza dynamic analysis na MobSF unaweza kubonyeza “Start Web API Fuzzer” ili fuzz http requests na kutafuta vulnerabilities.

Tip

Baada ya kufanya dynamic analysis na MobSF mipangilio ya proxy inaweza kuwa imepangwa vibaya na hutaweza kuirekebisha kutoka GUI. Unaweza kurekebisha mipangilio ya proxy kwa kufanya:

adb shell settings put global http_proxy :0

Assisted Dynamic Analysis with Inspeckage

Unaweza kupata zana kutoka Inspeckage.
Zana hii itatumia baadhi ya Hooks kukujulisha ni nini kinatokea katika application wakati unafanya dynamic analysis.

Yaazhini

Hii ni zana nzuri ya kufanya static analysis kwa GUI

Qark

Zana hii imeundwa kutafuta tofauti za security related Android application vulnerabilities, ama kwenye source code au packaged APKs. Zana pia ina uwezo wa kuzalisha APK ya “Proof-of-Concept” inayoweza ku-deploy na ADB commands, ili ku-exploit baadhi ya vulnerabilities zilizopatikana (Exposed activities, intents, tapjacking…). Kama ilivyo kwa Drozer, hakuna haja ya ku-root kifaa cha mtihani.

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 zilizotolewa kwa marejeleo rahisi
  • Ina-decompile faili za APK kwa otomatiki hadi muundo wa Java na Smali
  • Inachambua AndroidManifest.xml kwa udhaifu wa kawaida na tabia
  • Static source code analysis kwa ajili ya udhaifu wa 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 kutumiwa kwenye Windows, MacOS X na Linux, ambayo inachambua faili za .apk kwa ajili ya kutafuta udhaifu. Hufanya hivyo kwa kukunja APKs na kutekeleza mfululizo wa sheria ili kugundua udhaifu.

Sheria zote ziko katika faili rules.json, na kila kampuni au mjaribu anaweza kuunda sheria zake ili kuchambua wanachohitaji.

Pakua binaries za hivi karibuni kutoka kwenye download page

super-analyzer {apk_file}

StaCoAn

StaCoAn ni zana inayofanya kazi kwenye majukwaa mbalimbali inayowawezesha waendelezaji, bugbounty hunters na ethical hackers kufanya static code analysis kwenye programu za simu.

Dhana ni kwamba unavuta na kuachilia faili ya programu yako ya simu (faili ya .apk au .ipa) kwenye programu ya StaCoAn, na itatengeneza ripoti ya kuona inayobebeka kwa ajili yako. Unaweza kubadilisha mipangilio na wordlists ili kupata uzoefu uliobinafsishwa.

Pakua latest release:

./stacoan

AndroBugs

AndroBugs Framework ni mfumo wa uchambuzi wa udhaifu wa Android unaosaidia waendelezaji au hackers kupata udhaifu wa usalama unaowezekana katika programu za Android.
Windows releases

python androbugs.py -f [APK file]
androbugs.exe -f [APK file]

Androwarn

Androwarn ni zana ambayo lengo kuu ni kugundua na kuwaonya mtumiaji kuhusu tabia zinazoweza kuharibu zinazotengenezwa na programu ya Android.

Uchunguzi unafanywa kwa static analysis ya Dalvik bytecode ya programu, inayowakilishwa kama Smali, kwa kutumia maktaba ya androguard.

Zana hii inatafuta tabia za kawaida za programu “mbaya” kama: Telephony identifiers exfiltration, Audio/video flow interception, PIM data modification, Arbitrary code execution…

python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3

MARA Framework

MARA is a Mobile Application Reverse engineering and Analysis Framework. Ni chombo kinachoiweka pamoja zana zinazotumika mara kwa mara za mobile application reverse engineering na analysis, kusaidia katika kupima mobile applications dhidi ya vitisho vya usalama vya OWASP. Lengo lake ni kufanya kazi hii iwe rahisi na rafiki kwa watengenezaji wa mobile applications na wataalamu wa usalama.

Inaweza:

Koodous

Useful to detect malware: https://koodous.com/

Obfuscating/Deobfuscating code

Kumbuka kwamba, kulingana na huduma na usanidi unayotumia kuobfuscate msimbo, Secrets zinaweza au zisiwe zimeobfuscated.

ProGuard

From Wikipedia: ProGuard is an open source command-line tool that shrinks, optimizes and obfuscates Java code. Ina uwezo wa kuboresha bytecode pamoja na kugundua na kuondoa maagizo yasiyotumika. ProGuard ni programu ya bure na inasambazwa chini ya GNU General Public License, version 2.

ProGuard inasambazwa kama sehemu ya Android SDK na inafanya kazi wakati wa kujenga application katika release mode.

DexGuard

Find a step-by-step guide to deobfuscate the apk in https://blog.lexfo.fr/dexguard.html

(Kutoka kwenye mwongozo huo) Mara ya mwisho tulipokagua, Dexguard mode of operation ilikuwa:

  • load a resource as an InputStream;
  • feed the result to a class inheriting from FilterInputStream to decrypt it;
  • do some useless obfuscation to waste a few minutes of time from a reverser;
  • feed the decrypted result to a ZipInputStream to get a DEX file;
  • finally load the resulting DEX as a Resource using the loadDex method.

DeGuard

DeGuard reverses the process of obfuscation performed by Android obfuscation tools. This enables numerous security analyses, including code inspection and predicting libraries.

Unaweza kupakia APK iliyobfuscated kwenye platform yao.

[Deobfuscate android App]https://github.com/In3tinct/deobfuscate-android-app

This is a LLM tool to find any potential security vulnerabilities in android apps and deobfuscate android app code. Uses Google’s Gemini public API.

Simplify

It is a generic android deobfuscator. Simplify virtually executes an app to understand its behavior and then tries to optimize the code so it behaves identically but is easier for a human to understand. Each optimization type is simple and generic, so it doesn’t matter what the specific type of obfuscation is used.

APKiD

APKiD gives you information about how an APK was made. It identifies many compilers, packers, obfuscators, and other weird stuff. It’s PEiD for Android.

Manual

Read this tutorial to learn some tricks on how to reverse custom obfuscation

Labs

Androl4b

AndroL4b ni mashine pepe ya usalama ya Android (Android security virtual machine) inayotokana na ubuntu-mate na inajumuisha mkusanyiko wa frameworks, tutorials na labs za kisasa kutoka kwa wapendaji wa usalama na watafiti mbalimbali kwa ajili ya reverse engineering na malware analysis.

References

Tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks