iOS UIPasteboard

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

Drugi načini podrške HackTricks-u:

Deljenje podataka unutar i između aplikacija na iOS uređajima olakšano je mehanizmom UIPasteboard, koji je podeljen u dve osnovne kategorije:

  • Sistemski opšti pasteboard: Koristi se za deljenje podataka sa bilo kojom aplikacijom i dizajniran je da trajno čuva podatke preko restartovanja uređaja i deinstalacija aplikacija, funkcija koja je dostupna od iOS 10.

  • Prilagođeni / Imenovani pasteboard-ovi: Namijenjeni su deljenju podataka unutar aplikacije ili sa drugom aplikacijom koja deli isti ID tima, i nisu dizajnirani da opstanu izvan životnog veka procesa aplikacije koja ih kreira, u skladu sa promenama uvedenim u iOS 10.

Bezbednosna razmatranja igraju značajnu ulogu prilikom korišćenja pasteboard-ova. Na primer:

  • Ne postoji mehanizam za korisnike da upravljaju dozvolama aplikacije za pristup pasteboard-u.

  • Da bi se smanjio rizik od neovlašćenog praćenja pasteboard-a u pozadini, pristup je ograničen na vreme kada je aplikacija u prvom planu (od iOS 9).

  • Korišćenje imenovanih pasteboard-ova sa trajnim podacima se ne preporučuje zbog problema privatnosti.

  • Funkcija Univerzalnog Clipboard-a predstavljena sa iOS 10, koja omogućava deljenje sadržaja između uređaja putem opšteg pasteboard-a, može biti upravljana od strane programera kako bi postavili istek podataka i onemogućili automatski prenos sadržaja.

Važno je osigurati da se osetljive informacije ne čuvaju slučajno na globalnom pasteboard-u. Pored toga, aplikacije treba da budu dizajnirane tako da spreče zloupotrebu podataka sa globalnog pasteboard-a za neželjene akcije, a programeri se ohrabruju da implementiraju mere za sprečavanje kopiranja osetljivih informacija na clipboard.

Statistička Analiza

Za statičku analizu, pretražite izvorni kod ili binarni fajl za:

  • generalPasteboard kako biste identifikovali korišćenje sistemskog opšteg pasteboard-a.

  • pasteboardWithName:create: i pasteboardWithUniqueName za kreiranje prilagođenih pasteboard-ova. Proverite da li je omogućena trajnost, iako je ovo zastarelo.

Dinamička Analiza

Dinamička analiza uključuje hakovanje ili praćenje određenih metoda:

  • Pratite generalPasteboard za sistemsku upotrebu.

  • Pratite pasteboardWithName:create: i pasteboardWithUniqueName za prilagođene implementacije.

  • Posmatrajte pozive zastarele metode setPersistent: kako biste proverili postavke trajnosti.

Ključni detalji za praćenje uključuju:

  • Imena pasteboard-ova i sadržaje (na primer, provera za stringove, URL-ove, slike).

  • Broj stavki i tipovi podataka prisutni, koristeći provere standardnih i prilagođenih tipova podataka.

  • Opcije isteka i samo-lokalno pregledom metode setItems:options:.

Primer korišćenja alata za praćenje je objection-ov pasteboard monitor, koji proverava generalPasteboard svakih 5 sekundi za promene i prikazuje nove podatke.

Evo jednostavnog primera JavaScript skripte, inspirisanog pristupom objection-a, za čitanje i beleženje promena sa pasteboard-a svakih 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

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