9.4 KiB
iOS Pentesting Checklist
Koristite Trickest da lako izgradite i automatizujete radne tokove pokretane od strane najnaprednijih alata zajednice.
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.
Priprema
- Pročitajte iOS Osnove
- Pripremite svoje okruženje čitajući iOS Testno Okruženje
- Pročitajte sve sekcije iOS Početne Analize da biste naučili uobičajene radnje za pentesting iOS aplikacije
Skladištenje Podataka
- Plist datoteke se mogu 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
Logovi
- 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 mogli biste kreirati prilagođeni frida skript
Izloženost Osetljive Funkcionalnosti Kroz IPC
- Prilagođeni URI Handleri / Deeplinks / Prilagođeni Šeme
- Proverite da li aplikacija registruje bilo koji protokol/šemu
- Proverite da li aplikacija registruje korišćenje bilo kog protokola/šeme
- Proverite da li aplikacija očekuje da primi bilo koju vrstu osetljivih informacija iz prilagođene šeme koja može biti presretnuta od strane druge aplikacije koja registruje istu šemu
- Proverite da li aplikacija ne proverava i ne sanitizuje korisnički unos putem prilagođene šeme i neka ranjivost može biti iskorišćena
- Proverite da li aplikacija izlaže bilo koju osetljivu akciju koja se može pozvati sa bilo kog mesta putem prilagođene šeme
- Univerzalne Poveznice
- Proverite da li aplikacija registruje bilo koji univerzalni protokol/šemu
- Proverite
apple-app-site-association
datoteku - Proverite da li aplikacija ne proverava i ne sanitizuje korisnički unos putem prilagođene šeme i neka ranjivost može biti iskorišćena
- Proverite da li aplikacija izlaže bilo koju osetljivu akciju koja se može pozvati sa bilo kog mesta putem prilagođene šeme
- 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 Ekstenzije
- 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 automatske mehanizme zakrčivanja/aktuelizacije
- Proverite maliciozne biblioteke trećih strana
{% 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 da lako izgradite i automatizujete radne tokove pokretane od strane najnaprednijih alata zajednice.
Pribavite pristup danas:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}