iOS UIPasteboard

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 binne en oor toepassings op iOS toestelle word gefasiliteer deur die UIPasteboard meganisme, wat in twee primêre kategorieë verdeel is:

  • Stelselswye algemene plakbord: Dit word gebruik om data met enige toepassing te deel en is ontwerp om data oor toestel herlaaiings en app de-installasies te behou, 'n kenmerk wat beskikbaar is sedert iOS 10.

  • Pasgemaakte / Genoemde plakborde: Hierdie is spesifiek vir data deel binne 'n app of met 'n ander app 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 belangrike rol wanneer plakborde gebruik word. Byvoorbeeld:

  • Daar is geen meganisme vir gebruikers om app toestemmings 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 privaatheid bekommernisse.

  • 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 plakbord data 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 stelselswye 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 stelselswye gebruik.

  • Volg pasteboardWithName:create: en pasteboardWithUniqueName vir pasgemaakte implementasies.

  • Observeer verouderde setPersistent: metode oproepe om vir volhoubaarheid instellings te kyk.

Belangrike besonderhede om te monitor sluit in:

  • Plakbord name en inhoud (byvoorbeeld, om te kyk vir strings, URL's, beelde).

  • Aantal items en data tipes teenwoordig, met gebruik van standaard en pasgemaakte data tipe kontroles.

  • Vervaldatums en plaaslike slegs opsies deur die setItems:options: metode te ondersoek.

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

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

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

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

Ondersteun HackTricks

Last updated