iOS Pentesting Checklist
Reading time: 5 minutes
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Voorbereiding
- Lees iOS Basiese Beginsels
- Berei jou omgewing voor deur iOS Toets Omgewing te lees
- Lees al die afdelings van iOS Beginanalise om algemene aksies te leer om 'n iOS-toepassing te pentest
Data Berging
- Plist-lêers kan gebruik word om sensitiewe inligting te stoor.
- Core Data (SQLite-databasis) kan sensitiewe inligting stoor.
- YapDatabases (SQLite-databasis) kan sensitiewe inligting stoor.
- Firebase mis-konfigurasie.
- Realm-databasisse kan sensitiewe inligting stoor.
- Couchbase Lite-databasisse kan sensitiewe inligting stoor.
- Binaire koekies kan sensitiewe inligting stoor
- Cache data kan sensitiewe inligting stoor
- Outomatiese skote kan visuele sensitiewe inligting stoor
- Keychain word gewoonlik gebruik om sensitiewe inligting te stoor wat agtergelaat kan word wanneer die telefoon weer verkoop word.
- In samevatting, net kyk vir sensitiewe inligting wat deur die toepassing in die lêerstelsel gestoor is
Sleutels
- Laat die toepassing toe om pasgemaakte sleutels te gebruik?
- Kontroleer of sensitiewe inligting in die sleutels cache-lêers gestoor word
Logs
- Kontroleer of sensitiewe inligting gelog word
Rugsteun
- Rugsteun kan gebruik word om toegang tot die sensitiewe inligting wat in die lêerstelsel gestoor is (kyk na die aanvanklike punt van hierdie kontrolelys)
- Ook, rugsteun kan gebruik word om sekere konfigurasies van die toepassing te wysig, dan herstel die rugsteun op die telefoon, en soos die gewysigde konfigurasie gelaai word, kan sommige (sekuriteit) funksionaliteit omseil word
Toepassingsgeheue
- Kontroleer vir sensitiewe inligting binne die toepassing se geheue
Gebroke Kryptografie
- Kontroleer of jy wagwoorde wat vir kryptografie gebruik word kan vind
- Kontroleer vir die gebruik van verouderde/ swak algoritmes om sensitiewe data te stuur/stoor
- Haal en monitor kryptografie funksies
Plaaslike Verifikasie
- As 'n plaaslike verifikasie in die toepassing gebruik word, moet jy kyk hoe die verifikasie werk.
- As dit die Plaaslike Verifikasie Raamwerk gebruik, kan dit maklik omseil word
- As dit 'n funksie wat dinamies omseil kan word gebruik, kan jy 'n pasgemaakte frida-skrip skep
Sensitiewe Funksionaliteit Blootstelling Deur IPC
- Pasgemaakte URI Hanteerders / Deeplinks / Pasgemaakte Skemas
- Kontroleer of die toepassing enige protokol/skema registreer
- Kontroleer of die toepassing registreer om enige protokol/skema te gebruik
- Kontroleer of die toepassing verwag om enige soort sensitiewe inligting van die pasgemaakte skema te ontvang wat deur 'n ander toepassing wat dieselfde skema registreer, geïntcepteer kan word
- Kontroleer of die toepassing nie kontroleer en sanitiseer nie gebruikersinvoer via die pasgemaakte skema en dat 'n kwesbaarheid benut kan word
- Kontroleer of die toepassing enige sensitiewe aksie blootstel wat van oral via die pasgemaakte skema aangeroep kan word
- Universele Skakels
- Kontroleer of die toepassing enige universele protokol/skema registreer
-
Kontroleer die
apple-app-site-association
lêer - Kontroleer of die toepassing nie kontroleer en sanitiseer nie gebruikersinvoer via die pasgemaakte skema en dat 'n kwesbaarheid benut kan word
- Kontroleer of die toepassing enige sensitiewe aksie blootstel wat van oral via die pasgemaakte skema aangeroep kan word
- UIActivity Deel
- Kontroleer of die toepassing UIActivities kan ontvang en of dit moontlik is om enige kwesbaarheid met spesiaal saamgestelde aktiwiteit te benut
- UIPasteboard
- Kontroleer of die toepassing iets na die algemene plakbord kopieer
- Kontroleer of die toepassing data van die algemene plakbord vir enigiets gebruik
- Monitor die plakbord om te sien of enige sensitiewe data gekopieer word
- App Uitbreidings
- Gebruik die toepassing enige uitbreiding?
- WebViews
- Kontroleer watter soort webviews gebruik word
-
Kontroleer die status van
javaScriptEnabled
,JavaScriptCanOpenWindowsAutomatically
,hasOnlySecureContent
-
Kontroleer of die webview lokale lêers met die protokol file:// kan toegang (
allowFileAccessFromFileURLs
,allowUniversalAccessFromFileURLs
) -
Kontroleer of Javascript Native metodes (
JSContext
,postMessage
) kan toegang
Netwerk Kommunikasie
- Voer 'n MitM na die kommunikasie uit en soek na web kwesbaarhede.
- Kontroleer of die hostname van die sertifikaat gekontroleer word
- Kontroleer/Omseil Sertifikaat Pinning
Verskeie
- Kontroleer vir outomatiese patching/opdatering meganismes
- Kontroleer vir kwaadwillige derdeparty biblioteke
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.