6.9 KiB
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kontroleer die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS-familie, ons versameling eksklusiewe NFT's
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
{% embed url="https://websec.nl/" %}
Data deling binne en tussen toepassings op iOS-toestelle word gefasiliteer deur die UIPasteboard
meganisme, wat verdeel is in twee primêre kategorieë:
- Stelselwye algemene plakbord: Dit word gebruik vir die deel van data met enige toepassing en is ontwerp om data oor toestelherstarts en toepassingsverwyderings te behou, 'n funksie wat beskikbaar is sedert iOS 10.
- Aangepaste / Genoemde plakborde: Hierdie is spesifiek vir data deling binne 'n toepassing of met 'n ander toepassing wat dieselfde span-ID deel, en is nie ontwerp om verder te bestaan as die leeftyd van die toepassingsproses wat hulle skep nie, volgens veranderinge wat in iOS 10 ingevoer is.
Sekuriteits oorwegings speel 'n belangrike rol wanneer plakborde gebruik word. Byvoorbeeld:
- Daar is geen meganisme vir gebruikers om toepassingsregte te bestuur om die plakbord te benader nie.
- Om die risiko van ongemagtigde agtergrondmonitering van die plakbord te verminder, is toegang beperk tot wanneer die toepassing in die voorgrond is (sedert iOS 9).
- Die gebruik van volhoubare genoemde plakborde word afgeraad ten gunste van gedeelde houers weens privaatheidskwessies.
- Die Universele Plakbord-funksie wat met iOS 10 ingevoer is, wat inhoud toelaat om oor toestelle gedeel te word via die algemene plakbord, kan deur ontwikkelaars bestuur word om dataverval en die outomatiese oordrag van inhoud te deaktiveer.
Dit is belangrik om te verseker dat sensitiewe inligting nie per ongeluk op die globale plakbord gestoor word nie. Daarbenewens behoort toepassings ontwerp te wees om die misbruik van globale plakborddata vir onbedoelde aksies te voorkom, en word ontwikkelaars aangemoedig om maatreëls te implementeer om die kopie van sensitiewe inligting na die knipbord te voorkom.
Statische Analise
Vir statiese analise, soek deur die bronkode of binêre lêer vir:
generalPasteboard
om die gebruik van die stelselwye algemene plakbord te identifiseer.pasteboardWithName:create:
enpasteboardWithUniqueName
vir die skep van aangepaste plakborde. Verifieer of volhoubaarheid ingeskakel is, alhoewel dit verouderd is.
Dinamiese Analise
Dinamiese analise behels die hake of naspeuring van spesifieke metodes:
- Monitor
generalPasteboard
vir stelselwye gebruik. - Spoor
pasteboardWithName:create:
enpasteboardWithUniqueName
vir aangepaste implementasies. - Waarneming van verouderde
setPersistent:
metode-oproepe om volhoubaarheidsinstellings te kontroleer.
Belangrike besonderhede om te monitor sluit in:
- Plakbordname en inhoud (byvoorbeeld, soek vir strings, URL's, beelde).
- Aantal items en datatipes teenwoordig, wat standaard en aangepaste datatipekontroles benut.
- Verval- en plaaslike-alleen-opsies deur die
setItems:options:
metode te ondersoek.
'n Voorbeeld van 'n moniteringstoolgebruik is objection se plakbordmoniter, wat elke 5 sekondes die generalPasteboard ondervra vir veranderinge en die nuwe data uitvoer.
Hier is 'n eenvoudige JavaScript-skripsievoorbeeld, geïnspireer deur die benadering van objection, om elke 5 sekondes veranderinge van die plakbord 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
- 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/
{% embed url="https://websec.nl/" %}
Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien jou maatskappy geadverteer in HackTricks of laai HackTricks af in PDF Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling van eksklusiewe NFTs
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.