macOS Kernel Extensions

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Basiese Inligting

Kernel-uitbreidings (Kexts) is pakkette met 'n .kext-uitbreiding wat direk in die macOS-kernelruimte gelaai word, wat addisionele funksionaliteit aan die hoofbedryfstelsel bied.

Vereistes

Dit is vanselfsprekend so kragtig dat dit ingewikkeld is om 'n kernel-uitbreiding te laai. Dit is die vereistes wat 'n kernel-uitbreiding moet nakom om gelaai te word:

  • Wanneer jy herstelmodus betree, moet kernel-uitbreidings toegelaat word om gelaai te word:

  • Die kernel-uitbreiding moet onderteken wees met 'n kernel-kodesertifikaat, wat slegs deur Apple toegeken kan word. Wie sal in detail die maatskappy en die redes waarom dit benodig word, ondersoek.

  • Die kernel-uitbreiding moet ook genoteer wees, Apple sal dit vir malware kan nagaan.

  • Dan is die root-gebruiker die een wat die kernel-uitbreiding kan laai en die lêers binne die pakkie moet aan root behoort.

  • Tydens die oplaai-proses moet die pakkie voorberei word in 'n beskermde nie-root-plek: /Library/StagedExtensions (vereis die com.apple.rootless.storage.KernelExtensionManagement toekenning).

  • Laastens, wanneer daar gepoog word om dit te laai, sal die gebruiker 'n bevestigingsversoek ontvang en, indien aanvaar, moet die rekenaar herlaai word om dit te laai.

Laaiproses

In Catalina was dit so: Dit is interessant om op te let dat die verifikasieproses in gebruikersruimte plaasvind. Tog kan slegs aansoeke met die com.apple.private.security.kext-management toekenning die kernel vra om 'n uitbreiding te laai: kextcache, kextload, kextutil, kextd, syspolicyd

  1. kextutil kliek begin die verifikasieproses vir die laai van 'n uitbreiding

  • Dit sal met kextd praat deur 'n Mach-diens te stuur.

  1. kextd sal verskeie dinge nagaan, soos die handtekening

  • Dit sal met syspolicyd praat om te kontroleer of die uitbreiding gelaai kan word.

  1. syspolicyd sal die gebruiker vra as die uitbreiding nie voorheen gelaai is nie.

  • syspolicyd sal die resultaat aan kextd rapporteer

  1. kextd sal uiteindelik die kernel kan sê om die uitbreiding te laai

As kextd nie beskikbaar is nie, kan kextutil dieselfde kontroles uitvoer.

Verwysings

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Last updated