tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Data deel tussen en oor toepassings op iOS-toestelle word gefasiliteer deur die UIPasteboard meganisme, wat in twee primêre kategorieë verdeel is:

  • Sisteemwye algemene plakbord: Dit word gebruik om data te deel met enige toepassing en is ontwerp om data te behou oor toestelherlaai en toepassingsverwydering, 'n kenmerk wat beskikbaar is sedert iOS 10.
  • Pasgemaakte / Genoemde plakborde: Hierdie is spesifiek vir datadeel binne 'n toepassing of met 'n ander toepassing wat dieselfde span-ID deel, en is nie ontwerp om te hou oor die lewe van die toepassingsproses wat hulle skep nie, volgens veranderinge wat in iOS 10 bekendgestel is.

Sekuriteits oorwegings speel 'n beduidende rol wanneer plakborde gebruik word. Byvoorbeeld:

  • Daar is geen meganisme vir gebruikers om toepassingsregte te bestuur om toegang tot die plakbord te verkry nie.
  • Om die risiko van ongeoorloofde agtergrondmonitering van die plakbord te verminder, is toegang beperk tot wanneer die toepassing in die voorgrond is (sedert iOS 9).
  • Die gebruik van volhoubare genoem plakborde word ontmoedig ten gunste van gedeelde houers weens privaatheidskwessies.
  • Die Universele Klembord kenmerk wat met iOS 10 bekendgestel is, wat toelaat dat inhoud oor toestelle gedeel word via die algemene plakbord, kan deur ontwikkelaars bestuur word om data vervaldatums in te stel en outomatiese inhoudsoordrag te deaktiveer.

Om te verseker dat sensitiewe inligting nie per ongeluk gestoor word op die globale plakbord is van kardinale belang. Boonop moet toepassings ontwerp word om die misbruik van globale plakborddata vir onbedoelde aksies te voorkom, en ontwikkelaars word aangemoedig om maatreëls te implementeer om te voorkom dat sensitiewe inligting na die klembord gekopieer word.

Statiese Analise

Vir statiese analise, soek die bronkode of binêre vir:

  • generalPasteboard om gebruik van die sisteemwye algemene plakbord te identifiseer.
  • pasteboardWithName:create: en pasteboardWithUniqueName vir die skep van pasgemaakte plakborde. Verifieer of volhoubaarheid geaktiveer is, alhoewel dit verouderd is.

Dinamiese Analise

Dinamiese analise behels die haak of opspoor van spesifieke metodes:

  • Monitor generalPasteboard vir sisteemwye gebruik.
  • Volg pasteboardWithName:create: en pasteboardWithUniqueName vir pasgemaakte implementasies.
  • Observeer verouderde setPersistent: metode-aanroepe om vir volhoubaarheidinstellings te kyk.

Belangrike besonderhede om te monitor sluit in:

  • Plakbordname en inhoud (byvoorbeeld, om te kyk vir strings, URL's, beelde).
  • Aantal items en datatipes wat teenwoordig is, met gebruik van standaard en pasgemaakte datatipes.
  • Vervaldatums en plaaslike slegs opsies deur die setItems:options: metode te ondersoek.

'n Voorbeeld van die gebruik van 'n moniteringstoestel is objection se plakbordmoniter, wat die generalPasteboard elke 5 sekondes vir veranderinge pols en die nuwe data uitset.

Hier is 'n eenvoudige JavaScript-skripvoorbeeld, geïnspireer deur die objection se benadering, om veranderinge van die plakbord elke 5 sekondes te lees en te log:

javascript
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)

Verwysings

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks