iOS UIPasteboard

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Kugawana data ndani na kati ya programu kwenye vifaa vya iOS kunarahisishwa na mbinu ya UIPasteboard, ambayo imegawanywa katika makundi mawili makuu:

  • Ubao wa kunakili wa jumla kwa mfumo mzima: Hii hutumiwa kugawana data na programu yoyote na imeundwa kudumu data hata baada ya kuanzisha upya kifaa au kuondoa programu, kipengele kilichopatikana tangu iOS 10.

  • Ubao wa kunakili wa desturi / wenye majina: Hizi ni maalum kwa kugawana data ndani ya programu au na programu nyingine inayoshiriki kitambulisho cha timu sawa, na hazijabuniwa kudumu zaidi ya maisha ya mchakato wa programu inayounda, kufuatia mabadiliko yaliyoletwa katika iOS 10.

Mambo ya kuzingatia kiusalama yanacheza jukumu muhimu wakati wa kutumia ubao wa kunakili. Kwa mfano:

  • Hakuna mbinu ya watumiaji kusimamia ruhusa za programu kupata ubao wa kunakili.

  • Ili kupunguza hatari ya ufuatiliaji usioidhinishwa wa ubao wa kunakili, upatikanaji umefungwa wakati programu iko mbele (tangu iOS 9).

  • Matumizi ya ubao wa kunakili wenye majina ya kudumu yanapendekezwa badala ya vyombo vya kushiriki kutokana na wasiwasi wa faragha.

  • Kipengele cha Ubao wa Kielelezo kilicholetwa na iOS 10, kuruhusu yaliyomo kushirikiwa kati ya vifaa kupitia ubao wa jumla, kinaweza kusimamiwa na watengenezaji kuweka muda wa kumalizika kwa data na kulemaza uhamishaji wa yaliyomo kiotomatiki.

Kuhakikisha kwamba taarifa nyeti hazihifadhiwi kimakosa kwenye ubao wa kunakili wa jumla ni muhimu. Aidha, programu zinapaswa kuundwa kuzuia matumizi mabaya ya data ya ubao wa kunakili wa jumla kwa hatua zisizokusudiwa, na watengenezaji wanahimizwa kutekeleza hatua za kuzuia kunakili wa taarifa nyeti kwenye ubao wa kunakili.

Uchambuzi Stahiki

Kwa uchambuzi stahiki, tafuta msimbo wa chanzo au binary kwa:

  • generalPasteboard kutambua matumizi ya ubao wa kunakili wa jumla kwa mfumo mzima.

  • pasteboardWithName:create: na pasteboardWithUniqueName kwa kuunda ubao wa kunakili wa desturi. Thibitisha ikiwa kudumu kumewezeshwa, ingawa hii imepitwa na wakati.

Uchambuzi wa Kudumu

Uchambuzi wa kudumu unahusisha kufunga au kufuatilia njia maalum:

  • Angalia generalPasteboard kwa matumizi ya mfumo mzima.

  • Fuatilia pasteboardWithName:create: na pasteboardWithUniqueName kwa utekelezaji wa desturi.

  • Angalia wito wa mbinu ya zamani ya setPersistent: kuthibitisha mipangilio ya kudumu.

Maelezo muhimu ya kufuatilia ni pamoja na:

  • Majina ya ubao wa kunakili na maudhui (kwa mfano, kuchunguza herufi, URL, picha).

  • Idadi ya vitu na aina za data zilizopo, kwa kutumia ukaguzi wa aina za data za kawaida na desturi.

  • Muda wa kumalizika na chaguzi za ndani-pekee kwa kuchunguza njia ya setItems:options:.

Mfano wa matumizi ya zana ya ufuatiliaji ni ufuatiliaji wa ubao wa kunakili wa objection, ambao unachunguza ubao wa kunakili wa jumla kila sekunde 5 kwa mabadiliko na kutoa data mpya.

Hapa kuna mfano rahisi wa skripti ya JavaScript, iliyochochewa na njia ya objection, kusoma na kurekodi mabadiliko kutoka kwenye ubao wa kunakili 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);

Marejeo

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated