iOS Pentesting Checklist
Reading time: 5 minutes
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)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Preparation
- Read iOS Basics
- Prepare your environment reading iOS Testing Environment
- Read all the sections of iOS Initial Analysis to learn common actions to pentest an iOS application
Data Storage
- Plist files zinaweza kutumika kuhifadhi taarifa nyeti.
- Core Data (SQLite database) inaweza kuhifadhi taarifa nyeti.
- YapDatabases (SQLite database) inaweza kuhifadhi taarifa nyeti.
- Firebase kukosekana kwa usanidi sahihi.
- Realm databases zinaweza kuhifadhi taarifa nyeti.
- Couchbase Lite databases zinaweza kuhifadhi taarifa nyeti.
- Binary cookies zinaweza kuhifadhi taarifa nyeti.
- Cache data zinaweza kuhifadhi taarifa nyeti.
- Automatic snapshots zinaweza kuhifadhi taarifa nyeti za kuona.
- Keychain kwa kawaida hutumika kuhifadhi taarifa nyeti ambazo zinaweza kuachwa wakati wa kuuza simu.
- Kwa muhtasari, angalia taarifa nyeti zilizohifadhiwa na programu katika mfumo wa faili.
Keyboards
- Je, programu inaruhusu kutumia keyboards za kawaida?
- Angalia kama taarifa nyeti zimehifadhiwa katika keyboards cache files.
Logs
- Angalia kama taarifa nyeti zinaandikwa.
Backups
- Backups zinaweza kutumika kupata taarifa nyeti zilizohifadhiwa katika mfumo wa faili (angalia kipengele cha mwanzo cha orodha hii).
- Pia, backups zinaweza kutumika kubadilisha usanidi wa programu, kisha rejesha backup kwenye simu, na kama usanidi uliobadilishwa unachukuliwa, baadhi ya (usalama) kazi zinaweza kuepukwa.
Applications Memory
- Angalia taarifa nyeti ndani ya kumbukumbu ya programu.
Broken Cryptography
- Angalia kama unaweza kupata nywila zinazotumika kwa ajili ya cryptography.
- Angalia matumizi ya algorithms zilizopitwa na wakati/za udhaifu kutuma/kuhifadhi taarifa nyeti.
- Hook and monitor cryptography functions.
Local Authentication
- Ikiwa uthibitishaji wa ndani unatumika katika programu, unapaswa kuangalia jinsi uthibitishaji unavyofanya kazi.
- Ikiwa inatumia Local Authentication Framework inaweza kuepukwa kwa urahisi.
- Ikiwa inatumia kazi ambayo inaweza kuepukwa kwa dinamik unaweza kuunda script maalum ya frida.
Sensitive Functionality Exposure Through IPC
- Custom URI Handlers / Deeplinks / Custom Schemes
- Angalia kama programu inasajili protokali/scheme yoyote.
- Angalia kama programu inasajili kutumia protokali/scheme yoyote.
- Angalia kama programu inasubiri kupokea aina yoyote ya taarifa nyeti kutoka kwa scheme maalum ambayo inaweza kukamatwa na programu nyingine inayosajili scheme hiyo hiyo.
- Angalia kama programu haiangalii na kusafisha pembejeo za watumiaji kupitia scheme maalum na baadhi ya udhaifu unaweza kutumika.
- Angalia kama programu inasambaza hatua yoyote nyeti ambayo inaweza kuitwa kutoka mahali popote kupitia scheme maalum.
- Universal Links
- Angalia kama programu inasajili protokali/scheme yoyote ya ulimwengu.
-
Angalia faili ya
apple-app-site-association
. - Angalia kama programu haiangalii na kusafisha pembejeo za watumiaji kupitia scheme maalum na baadhi ya udhaifu unaweza kutumika.
- Angalia kama programu inasambaza hatua yoyote nyeti ambayo inaweza kuitwa kutoka mahali popote kupitia scheme maalum.
- UIActivity Sharing
- Angalia kama programu inaweza kupokea UIActivities na ikiwa inawezekana kutumia udhaifu wowote na shughuli iliyoundwa kwa njia maalum.
- UIPasteboard
- Angalia kama programu ina nakala chochote kwenye pasteboard ya jumla.
- Angalia kama programu ina matumizi ya data kutoka pasteboard ya jumla kwa chochote.
- Fuata pasteboard ili kuona kama taarifa nyeti inakopwa.
- App Extensions
- Je, programu inatumia nyongeza yoyote?
- WebViews
- Angalia ni aina gani ya webviews zinazotumika.
-
Angalia hali ya
javaScriptEnabled
,JavaScriptCanOpenWindowsAutomatically
,hasOnlySecureContent
. -
Angalia kama webview inaweza kupata faili za ndani kwa protokali file:// (
allowFileAccessFromFileURLs
,allowUniversalAccessFromFileURLs
). -
Angalia kama Javascript inaweza kupata mbinu za asili (
JSContext
,postMessage
).
Network Communication
- Fanya MitM to the communication na tafuta udhaifu wa wavuti.
- Angalia kama hostname ya cheti inakaguliwa.
- Angalia/Kuepuka Certificate Pinning.
Misc
- Angalia kwa automatic patching/updating mifumo.
- Angalia kwa maktaba za tatu zenye uharibifu.
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)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.