6.8 KiB
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
{% embed url="https://websec.nl/" %}
Kushiriki data ndani na kati ya programu kwenye vifaa vya iOS kunarahisishwa na mekanizma ya UIPasteboard
, ambayo imegawanywa katika makundi mawili makuu:
- Pasteboard ya jumla ya mfumo: Hii inatumika kwa kushiriki data na programu yoyote na imeundwa kudumisha data hata baada ya vifaa kuanzishwa upya na kufutwa kwa programu, kipengele ambacho kimekuwa kinapatikana tangu iOS 10.
- Pasteboards za Kawaida / Zilizotajwa: Hizi ni maalum kwa kushiriki data ndani ya programu au na programu nyingine inayoshiriki kitambulisho sawa cha timu, na hazijaundwa kudumisha zaidi ya maisha ya mchakato wa programu unaozizalisha, kufuatia mabadiliko yaliyoanzishwa katika iOS 10.
Mambo ya usalama yana jukumu muhimu wakati wa kutumia pasteboards. Kwa mfano:
- Hakuna mekanizma kwa watumiaji kudhibiti ruhusa za programu kufikia pasteboard.
- Ili kupunguza hatari ya ufuatiliaji usioidhinishwa wa nyuma wa pasteboard, ufikiaji umewekwa mipaka wakati programu iko mbele (tangu iOS 9).
- Matumizi ya pasteboards za kudumu zenye majina yanakabiliwa na kupuuziliwa mbali kwa ajili ya vyombo vya kushiriki kutokana na wasiwasi wa faragha.
- Kipengele cha Universal Clipboard kilichozinduliwa na iOS 10, kinachoruhusu maudhui kushirikiwa kati ya vifaa kupitia pasteboard ya jumla, kinaweza kudhibitiwa na wabunifu kuweka muda wa kuisha wa data na kuzima uhamishaji wa maudhui kiotomatiki.
Kuhakikisha kwamba taarifa nyeti hazihifadhiwi bila kukusudia kwenye pasteboard ya ulimwengu ni muhimu. Zaidi ya hayo, programu zinapaswa kubuniwa ili kuzuia matumizi mabaya ya data ya pasteboard ya ulimwengu kwa vitendo visivyokusudiwa, na wabunifu wanahimizwa kutekeleza hatua za kuzuia kunakiliwa kwa taarifa nyeti kwenye clipboard.
Uchambuzi wa Kijamii
Kwa uchambuzi wa kijamii, tafuta msimbo wa chanzo au binary kwa:
generalPasteboard
ili kubaini matumizi ya pasteboard ya jumla ya mfumo.pasteboardWithName:create:
napasteboardWithUniqueName
kwa kuunda pasteboards za kawaida. Thibitisha ikiwa kudumu kumewashwa, ingawa hii imeondolewa.
Uchambuzi wa Kijamii
Uchambuzi wa kijamii unahusisha kuunganisha au kufuatilia mbinu maalum:
- Fuata
generalPasteboard
kwa matumizi ya mfumo mzima. - Fuata
pasteboardWithName:create:
napasteboardWithUniqueName
kwa utekelezaji wa kawaida. - Angalia wito wa mbinu ya zamani
setPersistent:
ili kuangalia mipangilio ya kudumu.
Maelezo muhimu ya kufuatilia ni pamoja na:
- Majina ya pasteboard na maudhui (kwa mfano, kuangalia nyuzi, URLs, picha).
- Idadi ya vitu na aina za data zilizopo, ukitumia ukaguzi wa aina za data za kawaida na za kawaida.
- Muda wa kuisha na chaguo za ndani pekee kwa kukagua mbinu ya
setItems:options:
.
Mfano wa matumizi ya zana ya kufuatilia ni monitor ya pasteboard ya objection, ambayo inachunguza generalPasteboard kila sekunde 5 kwa mabadiliko na kutoa data mpya.
Hapa kuna mfano rahisi wa skripti ya JavaScript, iliyochochewa na mbinu ya objection, kusoma na kurekodi mabadiliko kutoka kwa pasteboard kila sekunde 5:
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);
References
- 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/" %}
{% hint style="success" %}
Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au fuata sisi kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud github repos.