macOS Kernel Extensions

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

Taarifa Msingi

Vifurushi vya Kernel (Kexts) ni vifurushi vyenye kifaa cha .kext ambavyo hulandishwa moja kwa moja katika nafasi ya kernel ya macOS, kutoa utendaji wa ziada kwa mfumo wa uendeshaji kuu.

Mahitaji

Kwa wazi, hii ni nguvu sana hivyo ni vigumu kuhifadhi kifurushi cha kernel. Hizi ni mahitaji ambayo kifurushi cha kernel lazima kiyakidhi ili kuhifadhiwe:

  • Wakati wa kuingia kwenye hali ya kupona, vifurushi vya kernel lazima viweze kuhifadhiwa:

  • Kifurushi cha kernel lazima kiwe kimesainiwa na cheti cha usaini wa nambari ya kernel, ambacho kinaweza kupewa tu na Apple. Ambayo itapitia kwa undani kampuni na sababu kwa nini inahitajika.

  • Kifurushi cha kernel pia lazima kiwe kimethibitishwa, Apple itaweza kukagua ikiwa kina programu hasidi.

  • Kisha, mtumiaji wa root ndiye anayeweza kupakia kifurushi cha kernel na faili ndani ya kifurushi hicho lazima ziwe mali ya root.

  • Wakati wa mchakato wa kupakia, kifurushi lazima kiwe tayari katika eneo la ulinzi lisilokuwa la root: /Library/StagedExtensions (inahitaji kibali cha com.apple.rootless.storage.KernelExtensionManagement).

  • Hatimaye, wakati wa kujaribu kuhifadhi, mtumiaji atapokea ombi la uthibitisho na, ikiwa itakubaliwa, kompyuta lazima izimishwe ili kuihifadhi.

Mchakato wa Kuhifadhi

Katika Catalina ilikuwa hivi: Ni muhimu kufahamu kuwa mchakato wa uthibitisho unatokea katika userland. Walakini, programu tu zenye kibali cha com.apple.private.security.kext-management ndizo zinaweza kuomba kernel kuhifadhi kifurushi: kextcache, kextload, kextutil, kextd, syspolicyd

  1. kextutil cli inaanza mchakato wa uthibitisho wa kuhifadhi kifurushi

  • Itazungumza na kextd kwa kutuma kutumia huduma ya Mach.

  1. kextd itachunguza mambo kadhaa, kama vile saini

  • Itazungumza na syspolicyd kuhakikisha ikiwa kifurushi kinaweza kupakiwa.

  1. syspolicyd itamwomba mtumiaji ikiwa kifurushi hakijahifadhiwa hapo awali.

  • syspolicyd itaripoti matokeo kwa kextd

  1. kextd hatimaye itaweza kuambia kernel kuhifadhi kifurushi

Ikiwa kextd haipatikani, kextutil inaweza kufanya ukaguzi sawa.

Marejeo

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

Last updated