9.9 KiB
iOS Pentesting Checklist
Koristite Trickest za lako kreiranje i automatizaciju radnih tokova pokretanih najnaprednijim alatima zajednice na svetu.
Pribavite pristup danas:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
{% hint style="success" %}
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
Priprema
- Pročitajte iOS Osnove
- Pripremite svoje okruženje čitajući iOS Testno Okruženje
- Pročitajte sve sekcije iOS Početna Analiza da biste naučili uobičajene radnje za pentesting iOS aplikacije
Skladištenje podataka
- Plist datoteke mogu se koristiti za skladištenje osetljivih informacija.
- Core Data (SQLite baza podataka) može skladištiti osetljive informacije.
- YapDatabases (SQLite baza podataka) može skladištiti osetljive informacije.
- Firebase pogrešna konfiguracija.
- Realm baze podataka mogu skladištiti osetljive informacije.
- Couchbase Lite baze podataka mogu skladištiti osetljive informacije.
- Binarni kolačići mogu skladištiti osetljive informacije.
- Podaci u kešu mogu skladištiti osetljive informacije.
- Automatski snimci mogu sačuvati vizuelne osetljive informacije.
- Keychain se obično koristi za skladištenje osetljivih informacija koje mogu ostati prilikom preprodaje telefona.
- Ukratko, samo proverite osetljive informacije koje aplikacija čuva u datotečnom sistemu.
Tastature
- Da li aplikacija dozvoljava korišćenje prilagođenih tastatura?
- Proverite da li su osetljive informacije sačuvane u datotekama keša tastatura.
Zapisi
- Proverite da li se osetljive informacije beleže.
Bekap
- Bekap se može koristiti za pristup osetljivim informacijama sačuvanim u datotečnom sistemu (proverite početnu tačku ove liste).
- Takođe, bekap se može koristiti za modifikaciju nekih konfiguracija aplikacije, zatim vratite bekap na telefonu, i kako se modifikovana konfiguracija učitava, neka (bezbednosna) funkcionalnost može biti zaobiđena.
Memorija aplikacija
- Proverite osetljive informacije unutar memorije aplikacije.
Povređena kriptografija
- Proverite da li možete pronaći lozinke korišćene za kriptografiju.
- Proverite korišćenje deprecated/slabih algoritama za slanje/skladištenje osetljivih podataka.
- Hook i nadgledajte kriptografske funkcije.
Lokalna autentifikacija
- Ako se u aplikaciji koristi lokalna autentifikacija, trebate proveriti kako autentifikacija funkcioniše.
- Ako koristi Local Authentication Framework, može se lako zaobići.
- Ako koristi funkciju koja se može dinamički zaobići, možete kreirati prilagođeni frida skript.
Izloženost osetljive funkcionalnosti putem IPC
- Prilagođeni URI handleri / Deeplinks / Prilagođene sheme.
- Proverite da li aplikacija registruje bilo koji protokol/shema.
- Proverite da li aplikacija registruje korišćenje bilo kog protokola/sheme.
- Proverite da li aplikacija očekuje da primi bilo koju vrstu osetljivih informacija iz prilagođene sheme koja može biti presretnuta od strane druge aplikacije koja registruje istu shemu.
- Proverite da li aplikacija ne proverava i ne sanitizuje korisnički unos putem prilagođene sheme i da li se neka ranjivost može iskoristiti.
- Proverite da li aplikacija izlaže bilo koju osetljivu akciju koja se može pozvati sa bilo kog mesta putem prilagođene sheme.
- Univerzalne veze.
- Proverite da li aplikacija registruje bilo koji univerzalni protokol/shema.
- Proverite
apple-app-site-association
datoteku. - Proverite da li aplikacija ne proverava i ne sanitizuje korisnički unos putem prilagođene sheme i da li se neka ranjivost može iskoristiti.
- Proverite da li aplikacija izlaže bilo koju osetljivu akciju koja se može pozvati sa bilo kog mesta putem prilagođene sheme.
- UIActivity deljenje.
- Proverite da li aplikacija može primati UIActivities i da li je moguće iskoristiti neku ranjivost sa posebno kreiranom aktivnošću.
- UIPasteboard.
- Proverite da li aplikacija kopira bilo šta u opšti clipboard.
- Proverite da li aplikacija koristi podatke iz opšteg clipboard-a za bilo šta.
- Nadgledajte clipboard da vidite da li je bilo koji osetljivi podatak kopiran.
- App Extensions.
- Da li aplikacija koristi neku ekstenziju?
- WebViews.
- Proverite koje vrste webview-a se koriste.
- Proverite status
javaScriptEnabled
,JavaScriptCanOpenWindowsAutomatically
,hasOnlySecureContent
. - Proverite da li webview može pristupiti lokalnim datotekama sa protokolom file:// (
allowFileAccessFromFileURLs
,allowUniversalAccessFromFileURLs
). - Proverite da li Javascript može pristupiti Native metodama (
JSContext
,postMessage
).
Mrežna komunikacija
- Izvršite MitM na komunikaciji i tražite web ranjivosti.
- Proverite da li se hostname sertifikata proverava.
- Proverite/zaobiđite Certificate Pinning.
Razno
- Proverite mehanizme automatskog zakrčivanja/aktuelizovanja.
- Proverite zlonamerne biblioteke trećih strana.
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Koristite Trickest za lako kreiranje i automatizaciju radnih tokova pokretanih najnaprednijim alatima zajednice na svetu.
Pribavite pristup danas:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}