macOS Kernel Extensions

Support HackTricks

Basic Information

рдХрд░реНрдиреЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди (Kexts) рдкреИрдХреЗрдЬ рд╣реИрдВ рдЬрд┐рдирдХрд╛ .kext рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ macOS рдХрд░реНрдиреЗрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рд╕реАрдзреЗ рд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдореБрдЦреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

Requirements

рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдЗрддрдирд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓реЛрдб рдХрд░рдирд╛ рдЬрдЯрд┐рд▓ рд╣реИред рдпреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдПрдХ рдХрд░реНрдиреЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП:

  • рдЬрдм рд░рд┐рдХрд╡рд░реА рдореЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рдХрд░реНрдиреЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:

  • рдХрд░реНрдиреЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдХрд░реНрдиреЗрд▓ рдХреЛрдб рд╕рд╛рдЗрдирд┐рдВрдЧ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ Apple рджреНрд╡рд╛рд░рд╛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреЛ рдХрдВрдкрдиреА рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рдпрд╣ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

  • рдХрд░реНрдиреЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рднреА рдиреЛрдЯрд░рд╛рдЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, Apple рдЗрд╕реЗ рдореИрд▓рд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рд╕рдХреЗрдЧрд╛ред

  • рдлрд┐рд░, рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реА рдХрд░реНрдиреЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ рдХреА рдлрд╝рд╛рдЗрд▓реЗрдВ рд░реВрдЯ рдХреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

  • рдЕрдкрд▓реЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдкреИрдХреЗрдЬ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдиреЙрди-рд░реВрдЯ рд╕реНрдерд╛рди рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: /Library/StagedExtensions (рдЗрд╕рдХреЗ рд▓рд┐рдП com.apple.rootless.storage.KernelExtensionManagement рдЧреНрд░рд╛рдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)ред

  • рдЕрдВрдд рдореЗрдВ, рдЬрдм рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдкреБрд╖реНрдЯрд┐ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░, рдпрджрд┐ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

Loading process

рдХреИрдЯрд╛рд▓рд┐рдирд╛ рдореЗрдВ рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдерд╛: рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпреВрдЬрд░рд▓реИрдВрдб рдореЗрдВ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЗрд╡рд▓ рд╡реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд┐рдирдХреЗ рдкрд╛рд╕ com.apple.private.security.kext-management рдЧреНрд░рд╛рдВрдЯ рд╣реИ, рд╡реЗ рдХрд░реНрдиреЗрд▓ рд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: kextcache, kextload, kextutil, kextd, syspolicyd

  1. kextutil CLI рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ

  • рдпрд╣ kextd рд╕реЗ Mach рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред

  1. kextd рдХрдИ рдЪреАрдЬреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛, рдЬреИрд╕реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░

  • рдпрд╣ syspolicyd рд╕реЗ рдмрд╛рдд рдХрд░реЗрдЧрд╛ рддрд╛рдХрд┐ рдпрд╣ рдЬрд╛рдВрдЪ рд╕рдХреЗ рдХрд┐ рдХреНрдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  1. syspolicyd рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдкреНрд░реЙрдореНрдкреНрдЯ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд╣рд▓реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

  • syspolicyd kextd рдХреЛ рдкрд░рд┐рдгрд╛рдо рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛

  1. рдЕрдВрддрддрдГ kextd рдХрд░реНрдиреЗрд▓ рдХреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛ рд╕рдХреЗрдЧрд╛

рдпрджрд┐ kextd рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ kextutil рд╡рд╣реА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

Referencias

Support HackTricks

Last updated