paint-brush
Ibinunyag ng Ethical Hackers Kung Paano Pumapasok sa Anumang Mobile Device (Legal!)sa pamamagitan ng@sekurno
937 mga pagbabasa
937 mga pagbabasa

Ibinunyag ng Ethical Hackers Kung Paano Pumapasok sa Anumang Mobile Device (Legal!)

sa pamamagitan ng Sekurno16m2025/02/03
Read on Terminal Reader

Masyadong mahaba; Upang basahin

Ang mobile pentesting ay tungkol sa paghahanap ng mga malikhaing paraan para makapasok sa isang app. Naiiba ito sa karaniwang web pentesting dahil ang mga mobile app: Android at iOS ay may kanya-kanyang panuntunan, modelo ng seguridad, at kakaiba. Kasama sa mga karaniwang hamon ang pagharap sa root/jailbreak detection, pag-bypass sa SSL pinning, at pagsusuri sa parehong client-side at server-side na logic.
featured image - Ibinunyag ng Ethical Hackers Kung Paano Pumapasok sa Anumang Mobile Device (Legal!)
Sekurno HackerNoon profile picture
0-item

Isipin ang isang mobile app tulad ng isang digital vault , na may hawak ng lahat mula sa mga password ng user hanggang sa mga detalye ng pagbabayad. Bilang isang penetration tester, ang iyong trabaho ay tiyakin na ang vault ay selyado nang mahigpit—matagal bago ang sinumang tunay na umaatake ay sumubok na pumasok. Sa gabay na ito, gagabayan ka namin sa buong proseso ng mobile pentesting , mula sa pangangalap ng mga tamang tool hanggang pagsusuri ng code at trapiko. Tara na!

Panimula

Nakatira tayo sa isang mundo kung saan ang mga mobile device ay halos extension ng ating sarili. Dahil ginagawa ng mga tao ang kanilang pagbabangko , pamimili , at pakikisalamuha sa mga telepono, ang pagtiyak sa seguridad ng app ay pinakamahalaga. At iyon ang dahilan kung bakit mahalaga ang mobile pentesting: ginagaya namin ang mga pag-atake laban sa mga app upang ilantad ang mga kahinaan at tulungan ang mga developer na ayusin ang mga ito.


Narito kung ano ang para sa iyo:


  • Peace of Mind : Hindi ka mawawalan ng tulog sa mga paglabas ng data o mga nanakaw na kredensyal.
  • Pagsunod : Ang mga regulator (at ang iyong mga user) ay nangangailangan ng matibay na pamantayan sa proteksyon.
  • Pagpapalakas ng Reputasyon : Ang ibig sabihin ng mga secure na app ay mas maligayang customer at mas kaunting panganib ng mga negatibong headline.

Ano ang Mobile Pentesting?

Sa kaibuturan nito, ang mobile pentesting ay tungkol sa paghahanap ng mga malikhaing paraan upang makapasok sa isang app—tulad ng gagawin ng isang tunay na umaatake—upang maayos mo muna ang mga kahinaan. Iba ito sa karaniwang web pentesting dahil ang mga mobile app:


  • Tumakbo sa Mga Natatanging Platform : Ang Android at iOS ay may kanya-kanyang mga panuntunan, modelo ng seguridad, at kakaiba.

  • Mag-imbak ng Data sa Mga Device : Maaaring ma-save ang sensitibong impormasyon nang lokal, kaya napakahalaga na suriin ang storage na partikular sa device.

  • Lubos na umasa sa mga API : Madalas na nakikipag-usap ang mga mobile app sa mga backend na server sa pamamagitan ng mga API, na maaaring mali ang pagkaka-configure o masugatan kung hindi masusubok nang maayos.


Kasama sa mga karaniwang hamon ang pagharap sa root/jailbreak detection , pag-bypass sa SSL pinning , at pagsusuri sa parehong client-side at server-side na logic.

Mga Karaniwang Banta sa Mga Mobile Application

Isipin ang isang medieval na kuta—ito ang mga tipikal na “weak spot” na tinatarget ng mga umaatake:


  1. Hindi Secure na Imbakan ng Data
    • Ang mga sensitibong token o kredensyal ng user ay iniiwan na hindi naka-encrypt sa device.
  2. Mahina ang Server-Side Controls
    • Nawawalang input validation o may depektong lohika ng API na maaaring pagsamantalahan ng mga hacker.
  3. Hindi Sapat na Proteksyon ng Layer ng Transportasyon
    • Gamit ang HTTP o may depektong HTTPS, nagbibigay-daan sa mga umaatake na maharang o baguhin ang trapiko sa network.
  4. Hindi Secure na Pagpapatotoo at Awtorisasyon
    • Maling ipinatupad na mga system sa pag-log in, pamamahala ng session, o mga pagsusuri sa pahintulot.
  5. Mga Kahinaan sa Side ng Kliyente
    • Code na maaaring i-reverse-engineer upang magbunyag ng mga lihim, o logic na maaaring manipulahin sa runtime.


Tingnan ang OWASP Mobile Top 10 at ang Mobile Application Security Testing Guide (MASTG) para sa higit pa sa mga panganib na ito. Para silang mga mapa na nagha-highlight sa lahat ng posibleng mga pitfalls.


https://owasp.org/www-project-mobile-top-10/


Maghanda para sa Mobile Testing

Bago mo salakayin ang kastilyo, kailangan mo ng tamang sandata at armas . Sa mga termino ng pentesting, nangangahulugan iyon ng pagse-set up ng isang kapaligiran kung saan maaari kang ligtas na mag-eksperimento nang hindi nakakapinsala sa totoong data sa mundo. Saklawin natin ang mga pangunahing kaalaman para sa parehong Android at iOS.

Android

Kapag sinusubukan ang mga Android app, maaari mong paikutin ang mga virtual na device gamit ang mga tool tulad ng Android Emulator o Genymotion . Hinahayaan ka ng mga emulator na ito na mag-install at sumubok ng mga app nang mabilis nang hindi nangangailangan ng pisikal na device. Ang mga detalyadong hakbang sa pag-set up ay makikita sa gabay na ito .


Android Emulator


Android Emulator

Gayunpaman, ang paggamit ng pisikal na device ay kadalasang nagbubunga ng mas tumpak na mga resulta—lalo na kapag kailangan mong subukan ang mga tunay na kondisyon ng network, sensor, o biometric na pagpapatotoo. Kung nagpaplano ka ng mas advanced na mga pagsubok tulad ng root check o in-depth data forensics, ang pagkakaroon ng aktwal na hardware ay isang malaking plus.


Kung magpasya kang bumili o humiram ng nakalaang device, tandaan na ang ilang mga Android phone ay mas madaling i-root . Ang pag-rooting ay nagbibigay sa iyo ng mas malalim na access sa operating system, na nagbibigay-daan sa iyong suriin ang mga nakatagong file, i-bypass ang mga paghihigpit sa app, at magpatakbo ng makapangyarihang mga tool na nangangailangan ng mataas na pahintulot.


Pag-ugat

Ang Android Rooting ay parang paghahanap ng skeleton key sa operating system ng iyong telepono. Karaniwan, ikaw ay:

  1. I-unlock ang bootloader.
  2. Mag-flash ng custom na pagbawi (hal., TWRP).
  3. Mag-install ng tool sa pamamahala ng ugat tulad ng Magisk o SuperSU .

Ang bawat bersyon ng telepono at OS ay may mga kakaiba, kaya maging handa para sa ilang mga pagsubok. Ang magandang balita ay kapag na-root na ang isang device, sa pangkalahatan ay nananatili itong ganoon maliban kung nag-factory reset ka o nag-upgrade ng firmware. Tandaan na maaaring mawala ang mga jailbreak sa iOS pagkatapos ng pag-reboot—kaya nag-aalok ang Android minsan ng mas patuloy na platform para sa pagsubok.


Palaging sundin ang mga pinagkakatiwalaang gabay para sa iyong partikular na telepono—maaaring masira ng hindi wastong pag-rooting ang software o magkaroon ng mga butas sa seguridad. At, siyempre, i-back up ang iyong data bago sumisid! Halimbawa ng pag-rooting ng Pixel 3a

Proxy

Isipin ang isang proxy tulad ng Burp Suite bilang iyong "spyglass." Hinahayaan ka nitong makita at baguhin ang lahat ng trapikong papasok at palabas sa app. Makakakuha ka ng hindi secure na komunikasyon, may depektong pagpapatotoo, o malilim na kahilingan. Ang pag-set up ng proxy para sa mobile ay katulad sa iOS at Android. Makakakita ka ng mga opisyal na tagubilin para sa bawat platform dito .


Nakakalito ang mga bagay sa ilang partikular na frameworks:


  • Minsan binabalewala ng Xamarin ang mga setting ng proxy sa buong system dahil sa mga custom na library ng networking.

  • Maaaring igalang ng Flutter ang mga proxy ngunit maaaring ipatupad ang pag-pin ng certificate , na humahadlang sa iyo sa pagtingin sa trapiko.


Upang malampasan ang mga hadlang na ito, maaari mong i-tweak ang code, gumamit ng mga tool tulad ng Frida o Objection para i-off ang pag-pin o i-set up ang mga reverse proxy (hal., mitmproxy ) upang makuha ang trapiko. Ang pag-aangkop sa iyong diskarte ay bahagi ng kasiyahan!

Pag-install ng App

Kung wala pa ang app sa Google Play Store—karaniwan para sa mga pentest—malamang na magkakaroon ka ng APK file na i-sideload. Maaari mong ibahagi ang APK sa pamamagitan ng Google Drive o isang direktang link sa pag-download. Ang isa pang maginhawang opsyon ay ang paggamit ng Firebase App Distribution , na nag-aayos ng pagsubok sa pamamagitan ng pagpapadala ng mga imbitasyon sa mga stakeholder.


https://firebase.google.com/codelabs/appdistribution-android#0

iOS

Sa iOS, nag-aalok din ang isang pisikal na device ng pinakatunay na karanasan sa pagsubok. Maaari kang sumisid sa mga feature na partikular sa hardware gaya ng Face ID , Touch ID , at mga sensor habang kumukuha din ng mga makatotohanang pakikipag-ugnayan sa network. Kung bibili ka o gumagamit ng personal na device, isaalang-alang ang mga modelong kilala na mas simple sa jailbreak (dahil hindi lahat ng iPhone ay pantay na palakaibigan sa prosesong ito). Kung kailangan mo ng mga virtual na iOS device, nagbibigay ang Corellium ng malakas na pagsubok na nakabatay sa cloud, kahit na hindi ito libre. Karamihan sa mga tester ay umaasa pa rin sa isang pisikal na device para sa masusing pagsusuri.


Halimbawa ng AppleDB para sa iPhone 8


Jailbreaking

Ang iOS Jailbreaking ay parang inaalis ang mga padlock na inilalagay ng Apple sa mga device nito. Nagkakaroon ka ng mga pribilehiyo sa ugat, hinahayaan kang mag-install ng mga tweak, galugarin ang mga nakatagong direktoryo ng file, o magpatakbo ng mga advanced na pentesting script. Kabilang sa mga sikat na tool ang unc0ver at Checkra1n . Ang pinakamahusay na pagpipilian ay depende sa iyong bersyon ng iOS at modelo ng device.


Tandaan:

  • Ang mga mas bagong device ay maaaring maging mas mahirap sa jailbreak.
  • Ang ilang mga jailbreak ay hindi nakaligtas sa pag-reboot ("semi-untethered").
  • Palaging i-back up ang iyong iPhone bago manggulo sa mga system file.


Tandaan din na ang ilang mga layer ng seguridad ay awtomatikong muling ina-activate kapag nag-restart ang iyong device, kaya maaaring kailanganin mong muling mag-jailbreak sa tuwing magpapagana ka.

Pag-install ng App

Ang mga iOS app ay nasa mga IPA file—katulad ng mga APK sa Android. Sa isang jailbroken na telepono, maaari kang mag-install ng mga IPA gamit ang mga file manager tulad ng Filza o mga app tulad ng Sideloadly . Para sa mas opisyal na ruta, kadalasang umaasa ang mga developer sa TestFlight , na nagbibigay-daan sa kanila na mag-imbita ng mga tester sa pamamagitan ng email—i-tap lang ang link, at ang iOS na ang bahala sa iba.


Sideloadly tool


Ang pagse-set up ng iyong kapaligiran nang maayos—ang pagpili ng mga tamang device (virtual o pisikal), pag-configure ng mga proxy, at pag-unawa kung paano mag-sideload ng mga app—ay tinitiyak na magiging handa ka para sa malalim na pagsisid sa mga panloob na gawain ng isang app. Maaaring tumagal ng ilang pag-iisip, ngunit kapag nakuha mo na ang perpektong pag-setup, maaaring magsimula ang tunay na pentesting!

Static Analysis (SAST)

Ngayon ay magpatuloy tayo sa pagsusuri sa app mismo—nang hindi ito ganap na pinapatakbo. Ito ay tulad ng pagbabasa ng blueprint ng isang kastilyo bago ka pumasok. Naghahanap kami ng mga hardcoded na sikreto , hindi secure na configuration , at iba pang isyu sa code o config file.

Mga Pangunahing Lugar na Pagtutuunan

  1. Mga Lihim na Naka-hardcode

    Ang mga API key, token, kredensyal, at encryption key kung minsan ay direktang napupunta sa source code. Kung i-reverse-engineer ng mga umaatake ang app, maaari nilang alisin ang mga sikretong ito sa kaunting pagsisikap at magpanggap bilang mga user o serbisyo.

  2. Mga Insecure na Configuration

    Ang mga labis na pinahihintulutang pahintulot, ang mga flag sa pag-debug ay naiwang naka-enable, o ang hindi wastong pag-sign ay maaaring lahat ng butas sa armor ng iyong app. Ang isang setting—tulad ng NSAllowsArbitraryLoads sa isang iOS Info.plist o android:debuggable="true"—ay maaaring magbukas ng pinto sa mga pag-atake ng man-in-the-middle (MITM) o hindi protektadong pag-debug.

  3. Sensitibong Pagkakalantad ng Data

    Ang pag-iimbak ng mga token ng session o personal na impormasyon sa plain text sa device (mga log, nakabahaging kagustuhan, mga lokal na file) ay isang recipe para sa sakuna. Ang sinumang may pisikal na pag-access o isang na-root/jailbroken na telepono ay maaaring sumilip at magnakaw ng mahalagang data—hindi kailangan ng brute force.

  4. Lohika ng App at Mga Kapintasan

    Kadalasan, nagmumula ang mga isyu sa ugat kung paano ipinapatupad ang mga feature. Kapag ang mahahalagang pagsusuri—tulad ng pagpapatotoo—ay nawawala o hindi mahigpit na ipinapatupad, madaling ma-bypass ng mga umaatake ang iyong mga depensa. Katulad nito, ang mahinang cryptographic function o hindi secure na mga bahagi ng app ay maaari ding gawing madali ang buhay para sa sinumang sumusuri sa iyong app.

Checklist ng MSTG

Ang Mobile Security Testing Guide (MSTG) ay nag-aalok ng isang masusing checklist upang matulungan kang harapin ang static na pagsusuri sa paraang paraan:

  • [ ] MSTG-STORAGE-1 : Ang sensitibong data ay hindi naka-imbak nang hindi naka-encrypt sa device.
  • [ ] MSTG-STORAGE-2 : Walang nakaimbak na sensitibong data sa nakabahaging storage.
  • [ ] MSTG-CRYPTO-1 : Wastong paggamit ng mga cryptographic algorithm at library.
  • [ ] MSTG-NETWORK-1 : Mga secure na channel ng komunikasyon (hal., HTTPS/TLS).
  • [ ] MSTG-CODE-1 : Kawalan ng mga hardcoded na sikreto sa source code.
  • [ ] MSTG-CODE-3 : Nalalapat ang code obfuscation nang naaangkop.
  • [ ] MSTG-RESILIENCE-1 : Proteksyon laban sa reverse engineering.
  • [ ] MSTG-RESILIENCE-2 : Ang mga kakayahan sa pag-debug ay hindi pinagana sa produksyon.
  • [ ] MSTG-PRIVACY-1 : Wastong pangangasiwa ng mga pahintulot ng user at pribadong data.

Mga Tool ng SAST

Makakatulong sa iyo ang iba't ibang tool na i-dissect ang iyong code, mga config, at binary nang hindi pinapatakbo ang app:


MobSF (Mobile Security Framework)

Gamitin : Mag-plug in ng APK/IPA at bubuo ang MobSF ng isang detalyadong ulat: maglilista ito ng mga potensyal na maling pagsasaayos, kahina-hinalang pahintulot, o mga naka-hardcode na lihim.


Bonus : Mayroon din itong ilang dynamic na feature, na ginagawa itong isang maayos na all-in-one na solusyon.


Halimbawa ng MobSF https://mobsf.live/ para sa AndroGoat app


APKTool (Android)

Gamitin ang : I-decompile at pagkatapos ay muling i-compile ang isang APK upang makita kung ano ang nasa loob. Ito ay perpekto para sa pagbabasa ng AndroidManifest.xml, pagsusuri ng mga mapagkukunan, o pagsasaayos ng app.


apktool d app.apk -o output_director


JADX (Android)

Gamitin ang : I-convert ang Dalvik bytecode (.dex) sa nababasang Java. Mahusay para sa pagtukoy ng mga linya ng code na may mga potensyal na kahinaan, tulad ng mga API key.


jadx app.apk -d output_directory


Class-Dump, Hopper, Ghidra (iOS)

Gamitin ang : I-extract ang mga header ng klase ng Objective-C (Class-Dump) o i-disassemble ang mga binary ng iOS (Hopper/Ghidra). Kung na-Swiftify ang app, makikita mo rin ang Swift metadata.

Mga halimbawa

Android

  • Pagbubunyag ng impormasyon


Halimbawa ng AndroidManifest.xml file


  • Maaaring i-decompile ang mga Android app mula sa kanilang mga APK file gamit ang mga tool tulad ng APKTool , JADX , o MobSF .

    Ang prosesong ito ay nagpapakita ng source code, istraktura ng application, at mga sensitibong bahagi tulad ng AndroidManifest.xml o .smali na mga file, na maaaring maglantad ng lohika ng app at mga pahintulot.


  • Pinapayagan ang Cleartext Traffic

<application android:usesCleartextTraffic="true" />


Maaaring samantalahin ng mga umaatake ang hindi naka-encrypt (HTTP) na komunikasyon para sa pag-eavesdropping o pakikialam.


  • Debuggable na Application

<application android:debuggable="true" />


Ang sinumang may device (o emulator) ay maaaring mag-attach ng debugger at paghalungkat sa pamamagitan ng sensitibong data o logic.


  • Mga Hardcoded na API Key

public class ApiClient { private static final String API_KEY = "12345-abcdef-67890"; private static final String API_SECRET = "superSecretPassword123!"; }


Ang isang mabilis na pag-decompile gamit ang APKTool o JADX ay nagpapakita ng mga key na ito, na nagpapahintulot sa mga umaatake na gayahin ang app o i-access ang mga serbisyo ng backend nang hindi awtorisado.


  • Sensitibong Data sa Plaintext

<map> <string name="session_token">abc123XYZ987</string> <string name="user_email">user@example.com</string> </map>


Kung ang mga token o mga detalye ng user ay naka-store sa plain text, madaling makuha ng isang naka-root na device ang mga ito.

iOS

  • Maling na-configure ang Info.plist

<key>NSAppTransportSecurity</key> <dict>

<key>NSAllowsArbitraryLoads</key> <true/> </dict>


Ipinapatupad ng Apple ang mga secure na koneksyon bilang default, kaya ang pag-override nito ay magbubukas sa app sa mga panganib sa MITM o hindi naka-encrypt na trapiko.


Mga tool sa decompilation tulad ng Class-Dump , Hopper Disassembler , at Ghidra extract ang content ng IPA file ng app, kabilang ang mga klase ng Objective-C, pangalan ng pamamaraan, at binary file.


info.plist


Dynamic na Pagsusuri (DAST)

Kung pinag-aaralan ng static analysis ang blueprint ng kastilyo, ang dynamic na pagsusuri ay naglalakad sa loob ng kastilyo habang sinusuri ang bawat pinto at bintana. Pinapatakbo namin ang app, panoorin kung paano ito kumikilos, at tingnan kung maaari naming pagsamantalahan ang anumang mga kahinaan sa real time.

Mga Pangunahing Lugar na Pagtutuunan

  1. Komunikasyon sa Network

    Tiyaking hindi tumutulo ang data ng iyong app habang nagbibiyahe. Kung umaasa ang iyong app sa HTTP o hindi wastong na-configure na HTTPS, maaaring pumasok, humarang, o kahit na baguhin ng isang attacker ang data. Ganoon din sa nawawala o mahinang SSL/TLS certificate pinning , na naglalantad sa iyong app sa mga pag-atake ng man-in-the-middle (MITM).

  2. Pagpapatunay at Awtorisasyon

    Kahit na ang iyong mga screen sa pag-log in at mga tungkulin ng user ay mukhang maganda sa papel, ang tunay na pagsubok ay kung ang isang tao ay maaaring lampasan ang mga ito sa runtime. Halimbawa, maaari bang muling gamitin ng isang attacker ang mga token ng session o hulaan ang mga ito? Tama ba ang pag-time out ng app o pinapanatili nitong bukas ang mga session nang tuluyan?

  3. Runtime Integrity at Mga Pagsusuri sa Seguridad

    Maraming app ang sumusubok na tuklasin kung ang isang device ay naka-root (Android) o jailbroken (iOS) at pagkatapos ay tumanggi na patakbuhin o i-block ang ilang partikular na feature. Sa panahon ng dynamic na pagsusuri, gusto mong makita kung makakalagpas ka sa mga pagsusuring ito sa pamamagitan ng pag-hook sa code ng app, para mapanatili mo pa rin ang pagsubok. Kung madali mong malalampasan ang mga hakbang na ito, magagawa rin ng mga umaatake.

  4. Pag-leakage ng Data Habang Nagpapatupad

    Nagla-log ba ang app ng sensitibong impormasyon (tulad ng mga password o token) sa plaintext? Kapag nagpalit ka ng mga app o background sa device, ang screen ba ay nakunan na may kumpidensyal na data pa rin ang ipinapakita? Ang ganitong uri ng hindi sinasadyang trail na "breadcrumb" ay maaaring humantong sa mga umaatake patungo sa kayamanan.

  5. API at Server-Side Verification

    Maaaring magmukhang secure ang app mula sa pananaw ng kliyente, ngunit kung hindi ma-validate ng backend API ang mga pahintulot o input ng user, maaaring mabilis na mag-tweak ang isang attacker ng mga kahilingan upang makakuha ng hindi awtorisadong pag-access o masira ang system. Napakahalaga na subukan ang parehong pag-uugali ng kliyente at server nang magkasabay.

Checklist ng MSTG

Sinasaklaw din ng Mobile Security Testing Guide (MSTG) ang dynamic na pagsusuri. Narito ang ilang mga tseke na dapat tandaan:


  • [ ] MSTG-RESILIENCE-1 : Nakikita at pinipigilan ng app ang pakikialam o pag-reverse ng mga pagtatangka sa engineering.

  • [ ] MSTG-RESILIENCE-2 : Nakikita ng app ang mga naka-root o jailbroken na device.

  • [ ] MSTG-RESILIENCE-3 : Pinapatunayan ng app ang integridad ng code at mga mapagkukunan nito sa runtime.

  • [ ] MSTG-NETWORK-1 : Ini-encrypt ng app ang lahat ng trapiko sa network gamit ang malakas na cryptography.

  • [ ] MSTG-NETWORK-3 : Ipinapatupad ng app ang pag-pin ng certificate kung saan naaangkop.

  • [ ] MSTG-PLATFORM-1 : Hindi umaasa ang app sa mga mekanismo ng seguridad ng platform lamang at independiyenteng nagpapatupad ng mga hakbang sa seguridad.

  • [ ] MSTG-AUTH-2 : Ang app ay maayos na nagpapatupad ng mga session timeout at mga kinakailangan sa muling pagpapatotoo ng user.

  • [ ] MSTG-STORAGE-4 : Hindi nagla-log ang app ng sensitibong data sa mga log ng system.

  • [ ] MSTG-STORAGE-5 : Ang app ay hindi nag-iimbak ng sensitibong data sa isang hindi secure na lokasyon.

  • [ ] MSTG-CRYPTO-1 : Gumagamit ang app ng up-to-date na mga cryptographic algorithm para sa mga pagpapatakbo ng runtime.


Isipin ang mga ito bilang isang roadmap para sa iyong mga pagsubok sa totoong mundo. Tinutulungan ka nila na sistematikong sundutin ang bawat pinto at bintana para kumpirmahin na naka-lock ito.

Mga Tool ng DAST

Hindi tulad ng SAST, na nakatutok sa inspeksyon ng code, umiikot ang DAST sa pagpapatakbo ng app at pagsuri. Nasa ibaba ang mga sikat na tool upang gawing mas maayos ang prosesong iyon:


Burp Suite / OWASP ZAP

Gamitin : Parehong humaharang sa mga proxy na nagbibigay-daan sa iyong makuha at baguhin ang trapiko sa pagitan ng app at mga backend na server. Tamang-tama para makita ang mga hindi secure na endpoint, mga bahid ng session, o mga pagtagas ng data.


Mga setting ng Burp Suite Proxy


Frida

Gamitin ang : Isang dynamic na instrumentation toolkit na nakakabit sa mga tumatakbong proseso, na tumutulong sa iyong i-bypass ang SSL pinning, root/jailbreak detection, o iba pang mga paghihigpit sa panig ng kliyente.


kasangkapan ni Frida



Mga Karaniwang Utos ni Frida

Aksyon

Utos

Mag-attach sa isang Tumatakbong Proseso

frida -U -n <process_name>

Ilista ang Lahat ng Tumatakbong Proseso

frida-ps -U

Mag-inject ng Custom na Script

frida -U -n <process_name> -c script.js

Pagsubaybay sa Mga Tiyak na Pag-andar

frida-trace -U -n <process_name>

Hook ng isang Tiyak na Function

frida -U -n <process_name> --eval 'Interceptor.attach(Module.findExportByName(null, "function_name"), { onEnter: function (args) { console.log(args[0].toInt32()); } })'


Drozer (Android)

Gamitin : Nakatuon sa pag-scan ng mga bahagi ng Android gaya ng Mga Aktibidad, Serbisyo, Broadcast Receiver, at Content Provider para sa mga kahinaan sa seguridad.


Drozer tool



Mga Karaniwang Utos ng Drozer

Aksyon

Utos

Kumonekta sa isang Device

drozer console connect

Isa-isahin ang mga Gawain

run app.activity.info -a <package_name>

Makipag-ugnayan sa Mga Na-export na Aktibidad

run app.activity.start --component <package_name> <activity_name>

Pagsubok para sa SQL Injection

run scanner.provider.injection -a <package_name>


pagtutol

Gamitin ang : Binuo noong Frida, ngunit may mas simpleng command para sa mga gawain tulad ng hindi pagpapagana ng SSL pin o pag-explore sa file system ng app. Perpekto kung hindi ka isang scripting guru.


Tool sa pagtutol



Mga Karaniwang Utos ng Pagtutol

Aksyon

Utos

Mag-attach sa isang Tumatakbong App

objection -g <app_package> explore

Huwag paganahin ang SSL Pinning

android sslpinning disable / ios sslpinning disable

I-print ang Impormasyon ng Application

android application info or ios application info


Mga halimbawa

Android

  • Network Interception at Pagbabago

Sa pamamagitan ng pagruruta ng trapiko sa Android sa pamamagitan ng isang tool tulad ng Burp Suite , maaaring harangin at baguhin ng mga tester ang mga kahilingan. Halimbawa, kung ang app ay nagpapadala ng mga kredensyal sa pamamagitan ng HTTP o hindi na-validate nang maayos ang mga TLS certificate, maaaring magsagawa ng man-in-the-middle (MITM) attack ang isang attacker.


POST /login HTTP/1.1 Host: api.example.com Content-Type: application/json { "username": "test_user", "password": "secret_password" }


Maaaring ilantad o manipulahin ang mga token ng session, personal na data, o impormasyon sa pagbabayad.


  • Mga Debug Log na Nagpapakita ng Sensitibong Data

03-09 12:34:56.789 1234 5678 I MyAppLogger: User token = "abc123XYZ987" 03-09 12:34:56.789 1234 5678 I MyAppLogger: Payment info: "card_number=4111111111111111"


Maaaring basahin ng sinumang may ADB (o malisyosong app) ang mga log na ito at pagsamantalahan ang mga ito.


  • Mga Insecure na Aktibidad / Content Provider


Halimbawa ng output mula sa drozer tool


Gamit ang Drozer , matutuklasan ng mga tagasubok ang mga na-export na aktibidad o provider ng nilalaman na hindi nangangailangan ng pagpapatunay.

drozer console connect run app.provider.query

content://com.example.app.provider/users


Kung ibinalik ang data nang walang wastong pahintulot, maaaring basahin o baguhin ng mga umaatake ang impormasyon ng isang user.


  • Pag-bypass sa Root Detection

Nagbibigay-daan sa iyo ang mga tool tulad ng Frida o Objection na i-bypass ang root detection o SSL pinning checks sa runtime:

frida -U -n com.example.app --eval "..." objection -g com.example.app explore android sslpinning disable android root disable ios sslpinning disable ios root disable


Ang mga umaatake sa mga rooted na telepono ay maaaring magpatuloy sa pagsubok o pag-hook sa mga sensitibong function, pagbubunyag ng mga lihim o pakikialam sa logic ng app.

iOS

  • Jailbreak Detection Bypass

Halimbawa ng hooking para sa iOS app


Maraming iOS app ang hindi tatakbo kung makakita sila ng jailbroken na telepono. Sa Frida , maaari mong i-hook at i-override ang paraan ng pagtuklas:

Interceptor.attach(Module.findExportByName(null, "jailbreakDetectionFunction"), { onEnter: function (args) { console.log("Bypassed jailbreak check!"); // Force return a 'clean' status } });


Maaaring patakbuhin ng mga attacker ang app sa mga nakompromisong device at maghalughog sa data o mga hook.


  • Sensitibong Data sa Mga Log ng System

2023-03-09 12:34:56.789 MyApp[1234:5678] Payment info: card_number=4111111111111111 2023-03-09 12:34:56.789 MyApp[1234:5678] session_token=abc123XYZ987


Sa mga jailbroken na device—o sa pamamagitan ng external na pagkolekta ng log—direktang kumukuha ang mga attacker ng sensitibong data.

Mga Karaniwang Hamon sa Mobile Pentesting

  • Platform Fragmentation : Ang mga Android device ay malawak na nag-iiba sa mga bersyon ng OS, mga custom na ROM, at mga pagbabago ng manufacturer, na ginagawang kumplikado ang pagsubok.
  • Mga Panukala sa Seguridad ng Application : Maaaring hadlangan ng mga feature tulad ng SSL pinning, root/jailbreak detection, at obfuscation ang pentesting.
  • Limitadong Access sa Source Code : Ang pagsusuri sa black-box ay kadalasang nangangailangan ng reverse engineering na may mga tool tulad ng APKTool o JADX, na maaaring magtagal.
  • Mga Paghihigpit sa Dynamic na Pagsusuri : Ang sandboxing, proteksyon ng memorya, at ang pangangailangan para sa mga naka-root/jailbroken na device ay nagpapalubha ng mga pagsubok sa real-world na workflow.
  • Network Security at Traffic Inspection : Ang pag-pin ng SSL, pagpapatunay ng certificate, o mga VPN ay maaaring maiwasan ang mga karaniwang MITM proxy. Ang mga tool tulad ng Frida , Burp Suite , at mitmproxy ay nagiging mahalaga para sa bypass.

Mga Madalas Itanong (FAQ)

  • Ano ang mobile pentesting?

    Sinusubukan nito kung gaano ka-secure ang isang mobile app sa pamamagitan ng pagtulad sa mga pag-atake sa totoong mundo—na naghahanap ng anumang mga bitak bago gawin ng mga umaatake.

  • Bakit mahalaga ang mobile pentesting?

    Dahil ang mga smartphone ay nagtataglay ng malaking halaga ng personal at pampinansyal na data, sila ang mga pangunahing target para sa mga cybercriminal.

  • Ano ang mga pangunahing hakbang?

    • Mag-set up ng isang kinokontrol na kapaligiran, magsagawa ng static na pagsusuri (SAST), magsagawa ng dynamic na pagsusuri (DAST), mga natuklasan sa dokumento, at muling suriin pagkatapos ng mga pag-aayos.
  • Anong mga tool ang kailangan ko?

    Burp Suite o ZAP para sa traffic interception, MobSF para sa mga scan, APKTool/JADX (Android), Class-Dump/Hopper (iOS), at mga hooking tool tulad ng Frida o Objection.

  • Gaano kadalas tayo dapat mag-pentest?

    Pagkatapos ng malalaking update, bagong feature, o makabuluhang pagbabago sa imprastraktura. Sa isip, isama ito sa CI/CD para sa tuluy-tuloy na pagsusuri.

  • Ano ang mga karaniwang kahinaan?

    Hindi secure na storage ng data, walang HTTPS, mga hardcode na sikreto, hindi magandang pamamahala ng session, at mga maling na-configure na API.

  • Maaari bang maging awtomatiko ang lahat?

    Hindi naman. Maaaring i-automate ng mga tool ang ilang mga pag-scan, ngunit ang manu-manong pagsubok ay nagbubunyag ng mas mapanlinlang na mga bahid ng lohika o kumplikadong mga panuntunan sa negosyo.

  • Kailangan ba nating subukan ang parehong Android at iOS?

    Oo, bawat isa ay may natatanging mga modelo ng seguridad at mga pitfalls.

  • Legal ba ang pentest?

    Talagang, kung mayroon kang tahasang pahintulot mula sa may-ari ng app. Kung hindi, ito ay labag sa batas.

  • Saan ako magsisimula?

    Pag-aralan ang OWASP Mobile Security Testing Guide (MASTG) , alamin ang pangunahing pagbabaligtad, at magsanay sa mga open-source na app o sample na mga target.

Konklusyon

Ang mobile pentesting ay parang isang grand quest —magsisimula ka sa pangangalap ng gear (mga tool at device), pagkatapos ay scout the terrain (SAST), at sa wakas ay gumawa ng hands-on approach (DAST) upang mahanap ang bawat mahinang lugar. Sa pamamagitan ng regular na paggawa nito at pag-uulat ng iyong mga natuklasan, mapapanatili mong solid ang iyong mga app at ligtas ang iyong mga user.


Tandaan: ang software ay nagbabago araw-araw, at gayundin ang mga pagbabanta. Gawing patuloy na bahagi ng iyong lifecycle ng pag-unlad ang pentesting—dahil ang pinakamahusay na paraan upang ma-secure ang isang kaharian ay sa pamamagitan ng hindi pagpapabaya sa iyong pagbabantay.

Tungkol sa May-akda

Ang artikulong ito ay inihanda ni Anastasiia Tolkachova , isang Security Testing Engineer sa Sekurno , at sinuri ni Alex Rozhniatovskyi , ang CTO ng Sekurno . Ang Anastasiia ay may higit sa limang taon ng hands-on na karanasan sa penetration testing at mga pagtatasa ng seguridad. Dalubhasa siya sa pagsubok ng mga web application, imprastraktura (parehong nasa lugar at cloud), at mga mobile platform (iOS at Android). Ang kanyang kadalubhasaan ay sumasaklaw sa mga pamamaraan ng Black Box, Gray Box, at White Box, kasama ng kahusayan sa mga pagsusuri sa kahinaan at mga pagsusuri sa seguridad ng source code.


Si Alex ay may pitong taong karanasan sa pag-unlad at cybersecurity. Siya ay isang AWS Open-source Contributor na nakatuon sa pagsulong ng mga secure na kasanayan sa coding. Ang kanyang kadalubhasaan ay nagtulay sa agwat sa pagitan ng software development at seguridad, na nagbibigay ng mahahalagang insight sa pagprotekta sa mga modernong web application.

Gabay sa Mobile Pentesting: Mga Sanggunian

Mga Tool at Mapagkukunan

  1. Mobile-Security-Framework-MobSF
  2. Apktool
  3. jadx
  4. Burp Suite
  5. Frida
  6. Drozer
  7. pagtutol
  8. Genymotion
  9. Corellium Virtual Hardware
  10. appledb.dev
  11. reflutter
  12. platform-tools
  13. Magisk
  14. Root Checker
  15. checkra1n
  16. unc0ver
  17. Filza

Mga Gabay at Artikulo

  1. Nangungunang 10 ng OWASP Mobile
  2. Seguridad ng OWASP Mobile Application
  3. OWASP MASTG
  4. NIST SP 800-163
  5. I-download at i-install ang Android Studio
  6. Pag-configure ng Android device para gumana sa Burp Suite
  7. Pag-configure ng iOS device para gumana sa Burp Suite Professional
  8. Pag-hack ng Xamarin apps