mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
94 lines
6.7 KiB
Markdown
94 lines
6.7 KiB
Markdown
# iOS Pentesting Checklist
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|
|
|
|
### Priprema
|
|
|
|
- [ ] Pročitajte [**iOS Osnove**](ios-pentesting/ios-basics.md)
|
|
- [ ] Pripremite svoje okruženje čitajući [**iOS Testno Okruženje**](ios-pentesting/ios-testing-environment.md)
|
|
- [ ] Pročitajte sve sekcije [**iOS Početne Analize**](ios-pentesting/index.html#initial-analysis) da biste naučili uobičajene radnje za pentesting iOS aplikacije
|
|
|
|
### Čuvanje Podataka
|
|
|
|
- [ ] [**Plist datoteke**](ios-pentesting/index.html#plist) se mogu koristiti za čuvanje osetljivih informacija.
|
|
- [ ] [**Core Data**](ios-pentesting/index.html#core-data) (SQLite baza podataka) može čuvati osetljive informacije.
|
|
- [ ] [**YapDatabases**](ios-pentesting/index.html#yapdatabase) (SQLite baza podataka) može čuvati osetljive informacije.
|
|
- [ ] [**Firebase**](ios-pentesting/index.html#firebase-real-time-databases) pogrešna konfiguracija.
|
|
- [ ] [**Realm baze podataka**](ios-pentesting/index.html#realm-databases) mogu čuvati osetljive informacije.
|
|
- [ ] [**Couchbase Lite baze podataka**](ios-pentesting/index.html#couchbase-lite-databases) mogu čuvati osetljive informacije.
|
|
- [ ] [**Binarni kolačići**](ios-pentesting/index.html#cookies) mogu čuvati osetljive informacije
|
|
- [ ] [**Podaci u kešu**](ios-pentesting/index.html#cache) mogu čuvati osetljive informacije
|
|
- [ ] [**Automatski snimci**](ios-pentesting/index.html#snapshots) mogu sačuvati vizuelne osetljive informacije
|
|
- [ ] [**Keychain**](ios-pentesting/index.html#keychain) se obično koristi za čuvanje 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**](ios-pentesting/index.html#custom-keyboards-keyboard-cache)?
|
|
- [ ] Proverite da li su osetljive informacije sačuvane u [**datotekama keša tastatura**](ios-pentesting/index.html#custom-keyboards-keyboard-cache)
|
|
|
|
### **Zapisi**
|
|
|
|
- [ ] Proverite da li se [**osetljive informacije beleže**](ios-pentesting/index.html#logs)
|
|
|
|
### Bekap
|
|
|
|
- [ ] [**Bekap**](ios-pentesting/index.html#backups) se može koristiti za **pristup osetljivim informacijama** sačuvanim u datotečnom sistemu (proverite početnu tačku ove liste)
|
|
- [ ] Takođe, [**bekap**](ios-pentesting/index.html#backups) se može koristiti za **modifikaciju nekih konfiguracija aplikacije**, zatim **vratiti** 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**](ios-pentesting/index.html#testing-memory-for-sensitive-data)
|
|
|
|
### **Slomljena Kriptografija**
|
|
|
|
- [ ] Proverite da li možete pronaći [**lozinke korišćene za kriptografiju**](ios-pentesting/index.html#broken-cryptography)
|
|
- [ ] Proverite korišćenje [**deprecated/slabih algoritama**](ios-pentesting/index.html#broken-cryptography) za slanje/čuvanje osetljivih podataka
|
|
- [ ] [**Hook i nadgledajte kriptografske funkcije**](ios-pentesting/index.html#broken-cryptography)
|
|
|
|
### **Lokalna Autentifikacija**
|
|
|
|
- [ ] Ako se u aplikaciji koristi [**lokalna autentifikacija**](ios-pentesting/index.html#local-authentication), trebate proveriti kako autentifikacija funkcioniše.
|
|
- [ ] Ako koristi [**Okvir za Lokalnu Autentifikaciju**](ios-pentesting/index.html#local-authentication-framework) može se lako zaobići
|
|
- [ ] Ako koristi [**funkciju koja se može dinamički zaobići**](ios-pentesting/index.html#local-authentication-using-keychain) možete kreirati prilagođeni frida skript
|
|
|
|
### Izloženost Osetljive Funkcionalnosti Kroz IPC
|
|
|
|
- [**Prilagođeni URI Handleri / Deeplinks / Prilagođene Šeme**](ios-pentesting/index.html#custom-uri-handlers-deeplinks-custom-schemes)
|
|
- [ ] 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 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**](ios-pentesting/index.html#universal-links)
|
|
- [ ] 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**](ios-pentesting/ios-uiactivity-sharing.md)
|
|
- [ ] Proverite da li aplikacija može primati UIActivities i da li je moguće iskoristiti neku ranjivost sa posebno kreiranom aktivnošću
|
|
- [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
|
|
- [ ] Proverite da li aplikacija **kopira bilo šta u opšti pasteboard**
|
|
- [ ] Proverite da li aplikacija **koristi podatke iz opšteg pasteboard-a za bilo šta**
|
|
- [ ] Nadgledajte pasteboard da vidite da li je bilo koji **osetljivi podatak kopiran**
|
|
- [**App Ekstenzije**](ios-pentesting/ios-app-extensions.md)
|
|
- [ ] Da li aplikacija **koristi neku ekstenziju**?
|
|
- [**WebViews**](ios-pentesting/ios-webviews.md)
|
|
- [ ] 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**](ios-pentesting/index.html#network-communication) i tražite web ranjivosti.
|
|
- [ ] Proverite da li se [**hostname sertifikata**](ios-pentesting/index.html#hostname-check) proverava
|
|
- [ ] Proverite/Zaobiđite [**Pinovanje Sertifikata**](ios-pentesting/index.html#certificate-pinning)
|
|
|
|
### **Razno**
|
|
|
|
- [ ] Proverite za [**automatske zakrpe/aktualizacije**](ios-pentesting/index.html#hot-patching-enforced-updateing) mehanizme
|
|
- [ ] Proverite za [**zloćudne biblioteke trećih strana**](ios-pentesting/index.html#third-parties)
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|