iOS App Extensions

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

App ekstenzije poboljšavaju funkcionalnost aplikacija omogućavajući im da komuniciraju sa drugim aplikacijama ili sistemom, pružajući prilagođene funkcije ili sadržaj. Ove ekstenzije uključuju:

  • Prilagođena tastatura: Nudi jedinstvenu tastaturu u svim aplikacijama, zamenjujući podrazumevanu iOS tastaturu.

  • Deljenje: Omogućava deljenje na društvenim mrežama ili direktno sa drugima.

  • Danas (Vidžeti): Pruža sadržaj ili obavlja zadatke brzo iz Pregleda danas u Centru za obaveštenja.

Kada korisnik koristi ove ekstenzije, kao što je deljenje teksta iz glavne aplikacije, ekstenzija obrađuje ovaj unos unutar svog konteksta, koristeći deljene informacije za obavljanje svojih zadataka, kako je detaljno opisano u dokumentaciji Apple-a.

Bezbednosne razmatranja

Ključni bezbednosni aspekti uključuju:

  • Ekstenzije i aplikacije koje ih sadrže komuniciraju putem međuprocesne komunikacije, a ne direktno.

  • Danas vidžet je jedinstven po tome što može zatražiti da se njegova aplikacija otvori putem određene metode.

  • Deljen pristup podacima je dozvoljen unutar privatnog kontejnera, ali direktni pristup je ograničen.

  • Određeni API-ji, uključujući HealthKit, su zabranjeni za aplikacione ekstenzije, koje takođe ne mogu pokretati dugotrajne zadatke, pristupati kameri ili mikrofonu, osim za iMessage ekstenzije.

Statička analiza

Identifikacija aplikacionih ekstenzija

Da biste pronašli aplikacione ekstenzije u izvornom kodu, pretražite NSExtensionPointIdentifier u Xcode-u ili pregledajte paket aplikacije za .appex fajlove koji ukazuju na ekstenzije. Bez izvornog koda, koristite grep ili SSH da biste pronašli ove identifikatore unutar paketa aplikacije.

Podržani tipovi podataka

Proverite Info.plist fajl ekstenzije za NSExtensionActivationRule kako biste identifikovali podržane tipove podataka. Ova postavka osigurava da samo kompatibilni tipovi podataka pokreću ekstenziju u glavnim aplikacijama.

Deljenje podataka

Deljenje podataka između aplikacije i njene ekstenzije zahteva deljeni kontejner, koji se podešava putem "App Groups" i pristupa se putem NSUserDefaults. Ovaj deljeni prostor je neophodan za pozadinske transfere pokrenute od strane ekstenzija.

Ograničavanje ekstenzija

Aplikacije mogu ograničiti određene vrste ekstenzija, posebno prilagođene tastature, kako bi se osiguralo da rukovanje osetljivim podacima bude u skladu sa bezbednosnim protokolima.

Dinamička analiza

Dinamička analiza uključuje:

  • Pregledanje deljenih stavki: Povežite se sa NSExtensionContext - inputItems da biste videli podržane tipove podataka i poreklo.

  • Identifikacija ekstenzija: Otkrijte koje ekstenzije obrađuju vaše podatke posmatranjem internih mehanizama, poput NSXPCConnection.

Alati poput frida-trace mogu pomoći u razumevanju osnovnih procesa, posebno za one koji su zainteresovani za tehničke detalje međuprocesne komunikacije.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated