Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
Data-deling binne en tussen programme op iOS-toestelle word gefasiliteer deur die [`UIPasteboard`](https://developer.apple.com/documentation/uikit/uipasteboard) meganisme, wat verdeel is in twee primêre kategorieë:
- **Stelselwye algemene plakbord**: Dit word gebruik vir die deling van data met **enige toepassing** en is ontwerp om data te behou oor toestelherstarts en toepassingsverwyderings, 'n funksie wat beskikbaar is sedert iOS 10.
- **Aangepaste / Genoemde plakborde**: Hierdie is spesifiek vir die deling van data **binne 'n toepassing of met 'n ander toepassing** wat dieselfde span-ID deel, en is nie ontwerp om te behou buite die leeftyd van die toepassingsproses wat dit skep nie, volgens veranderinge wat in iOS 10 ingevoer is.
**Veiligheidsoorwegings** speel 'n belangrike rol wanneer plakborde gebruik word. Byvoorbeeld:
- Daar is geen meganisme vir gebruikers om toepassingstoestemming om die **plakbord** te gebruik, te bestuur 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 afgeraai ten gunste van gedeelde houers as gevolg van privaatheidskwessies.
- Die **Universele Knipbord**-funksie wat met iOS 10 bekendgestel is en dit moontlik maak om inhoud oor toestelle te deel via die algemene plakbord, kan deur ontwikkelaars bestuur word om data-verval en outomatiese inhoudsoordrag te deaktiveer.
Dit is belangrik om te verseker dat **sensitiewe inligting nie per ongeluk op die globale plakbord gestoor word nie**. Daarbenewens 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 die kopieer van sensitiewe inligting na die knipbord te voorkom.
### Statische Analise
Vir statiese analise, soek die bronkode of binêre kode vir:
- `generalPasteboard` om die gebruik van die **stelselwye algemene plakbord** te identifiseer.
- `pasteboardWithName:create:` en `pasteboardWithUniqueName` om **aangepaste plakborde** te skep. Verifieer of volhoubaarheid geaktiveer is, alhoewel dit verouderd is.
### Dinamiese Analise
Dinamiese analise behels die hake of naspeur van spesifieke metodes:
- Monitor `generalPasteboard` vir stelselwye gebruik.
- Volg `pasteboardWithName:create:` en `pasteboardWithUniqueName` vir aangepaste implementasies.
- Neem kennis van verouderde `setPersistent:` metode-oproepe om volhoubaarheidsinstellings te kontroleer.
Sleutelbesonderhede om dop te hou, sluit in:
- **Plakbordname** en **inhoud** (byvoorbeeld deur te kyk vir strings, URL's, afbeeldings).
- **Aantal items** en **datatipes** teenwoordig, deur gebruik te maak van standaard- en aangepaste datatipekontroles.
- **Verval- en slegs-plaaslike opsies** deur die `setItems:options:` metode te ondersoek.
'n Voorbeeld van die gebruik van 'n moniteringsinstrument is die **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:
```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
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8](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://hackmd.io/@robihamanto/owasp-robi)
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0073/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0073/)
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.