6.6 KiB
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju oglašenu na HackTricks-u ili preuzmete HackTricks u PDF formatu Proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Deljenje podataka unutar i između aplikacija na iOS uređajima omogućeno je mehanizmom UIPasteboard
, koji se deli na dve osnovne kategorije:
- Sistemski opšti pasteboard: Koristi se za deljenje podataka sa bilo kojom aplikacijom i dizajniran je da trajno čuva podatke čak i nakon restartovanja uređaja ili deinstalacije aplikacije, funkcija koja je dostupna od iOS 10.
- Prilagođeni / Imenovani pasteboard-ovi: Ovi pasteboard-ovi su namenjeni za deljenje podataka unutar aplikacije ili sa drugom aplikacijom koja deli isti ID tima, i nisu dizajnirani da traju duže od životnog veka procesa aplikacije koja ih kreira, u skladu sa promenama uvedenim u iOS 10.
Bezbednosni aspekti 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 umanjio rizik od neovlašćenog praćenja pasteboard-a u pozadini, pristup je ograničen samo kada je aplikacija u prvom planu (od iOS 9).
- Upotreba trajnih imenovanih pasteboard-ova se ne preporučuje zbog problema sa privatnošću, već se preporučuje korišćenje deljenih kontejnera.
- Funkcija Univerzalni Clipboard koja je uvedena sa iOS 10, omogućava deljenje sadržaja između uređaja putem opšteg pasteboard-a, a može se upravljati od strane programera postavljanjem vremena isteka podataka i onemogućavanjem automatskog prenosa sadržaja.
Važno je obezbediti da se osetljive informacije ne čuvaju slučajno na globalnom pasteboard-u. Takođe, aplikacije treba da budu dizajnirane tako da spreče zloupotrebu podataka sa globalnog pasteboard-a za neželjene radnje, a programeri se podstiču da preduzmu mere kako bi sprečili kopiranje osetljivih informacija na clipboard.
Statistička analiza
Za statističku analizu, pretražite izvorni kod ili binarnu datoteku za:
generalPasteboard
kako biste identifikovali upotrebu sistemskog opšteg pasteboard-a.pasteboardWithName:create:
ipasteboardWithUniqueName
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:
ipasteboardWithUniqueName
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žaj (na primer, provera za stringove, URL-ove, slike).
- Broj stavki i tipovi podataka prisutni, koristeći standardne i prilagođene provere tipova podataka.
- Opcije isteka i lokalne opcije pregledom metode
setItems:options:
.
Primer korišćenja alata za praćenje je objection-ov pasteboard monitor, koji svakih 5 sekundi proverava generalPasteboard za promene i prikazuje nove podatke.
Evo jednostavnog primera JavaScript skripta, 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
- 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/
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju oglašenu u HackTricks-u ili preuzmete HackTricks u PDF formatu Proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.