tip
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.
Deljenje podataka unutar i između aplikacija na iOS uređajima olakšano je mehanizmom UIPasteboard
, koji je podeljen u dve glavne kategorije:
- Sistemsku opštu pasteboard: Ovo se koristi za deljenje podataka sa bilo kojom aplikacijom i dizajnirano je da zadrži podatke tokom ponovnog pokretanja uređaja i deinstalacija aplikacija, funkcija koja je dostupna od iOS 10.
- Prilagođene / imenovane pasteboard: Ove su specifične za deljenje podataka unutar aplikacije ili sa drugom aplikacijom koja deli isti tim ID, i nisu dizajnirane da traju duže od života procesa aplikacije koja ih kreira, u skladu sa promenama uvedenim u iOS 10.
Bezbednosna razmatranja igraju značajnu ulogu prilikom korišćenja pasteboard-a. Na primer:
- Ne postoji mehanizam za korisnike da upravljaju dozvolama aplikacija za pristup pasteboard-u.
- Da bi se smanjio rizik od neovlašćenog praćenja pasteboard-a u pozadini, pristup je ograničen na trenutke kada je aplikacija u prvom planu (od iOS 9).
- Korišćenje trajnih imenovanih pasteboard-a se ne preporučuje zbog briga o privatnosti.
- Universal Clipboard funkcija uvedena sa iOS 10, koja omogućava deljenje sadržaja između uređaja putem opšteg pasteboard-a, može se upravljati od strane programera kako bi se postavila isteka podataka i onemogućio automatski prenos sadržaja.
Osiguranje da osetljive informacije nisu nenamerno sačuvane na globalnom pasteboard-u je ključno. Pored toga, aplikacije bi trebale biti dizajnirane da spreče zloupotrebu podataka globalnog pasteboard-a za neželjene radnje, a programeri se podstiču da implementiraju mere za sprečavanje kopiranja osetljivih informacija u međuspremnik.
Staticka analiza
Za statičku analizu, pretražujte izvorni kod ili binarni fajl za:
generalPasteboard
da identifikujete korišćenje sistemske opšte pasteboard.pasteboardWithName:create:
ipasteboardWithUniqueName
za kreiranje prilagođenih pasteboard-a. Proverite da li je trajnost omogućena, iako je ovo zastarelo.
Dinamička analiza
Dinamička analiza uključuje povezivanje ili praćenje specifičnih metoda:
- Pratite
generalPasteboard
za sistemsku upotrebu. - Pratite
pasteboardWithName:create:
ipasteboardWithUniqueName
za prilagođene implementacije. - Posmatrajte zastarele pozive
setPersistent:
da proverite postavke trajnosti.
Ključni detalji koje treba pratiti uključuju:
- Imena pasteboard-a i sadržaj (na primer, provere za stringove, URL-ove, slike).
- Broj stavki i tipovi podataka prisutni, koristeći standardne i prilagođene provere tipova podataka.
- Opcije isteka i lokalno samo inspekcijom metode
setItems:options:
.
Primer korišćenja alata za praćenje je objection-ov monitor pasteboard-a, koji proverava generalPasteboard svake 5 sekundi za promene i ispisuje nove podatke.
Evo jednostavnog primera JavaScript skripte, inspirisane pristupom objection-a, za čitanje i logovanje promena iz pasteboard-a svake 5 sekundi:
const UIPasteboard = ObjC.classes.UIPasteboard
const Pasteboard = UIPasteboard.generalPasteboard()
var items = ""
var count = Pasteboard.changeCount().toString()
setInterval(function () {
const currentCount = Pasteboard.changeCount().toString()
const currentItems = Pasteboard.items().toString()
if (currentCount === count) {
return
}
items = currentItems
count = currentCount
console.log(
"[* Pasteboard changed] count: " +
count +
" hasStrings: " +
Pasteboard.hasStrings().toString() +
" hasURLs: " +
Pasteboard.hasURLs().toString() +
" hasImages: " +
Pasteboard.hasImages().toString()
)
console.log(items)
}, 1000 * 5)
Reference
- https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8
- https://hackmd.io/@robihamanto/owasp-robi
- https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0073/
tip
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.