macOS Kernel & System Extensions
Tip
AWS ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:HackTricks Training GCP Red Team Expert (GRTE)
Azure ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks μ§μνκΈ°
- ꡬλ κ³ν νμΈνκΈ°!
- **π¬ λμ€μ½λ κ·Έλ£Ή λλ ν λ κ·Έλ¨ κ·Έλ£Ήμ μ°Έμ¬νκ±°λ νΈμν° π¦ @hacktricks_liveλ₯Ό νλ‘μ°νμΈμ.
- HackTricks λ° HackTricks Cloud κΉνλΈ λ¦¬ν¬μ§ν 리μ PRμ μ μΆνμ¬ ν΄νΉ νΈλ¦μ 곡μ νμΈμ.
XNU Kernel
macOSμ ν΅μ¬μ XNUλ‘, βXλ μ λμ€κ° μλλ€βλ₯Ό μλ―Έν©λλ€. μ΄ μ»€λμ κΈ°λ³Έμ μΌλ‘ Mach λ§μ΄ν¬λ‘컀λ(νμ λ Όμλ μμ )κ³Ό **λ²ν΄λ¦¬ μννΈμ¨μ΄ λ°°ν¬(BSD)**μ μμλ‘ κ΅¬μ±λμ΄ μμ΅λλ€. XNUλ I/O Kitμ΄λΌλ μμ€ν μ ν΅ν΄ 컀λ λλΌμ΄λ²λ₯Ό μν νλ«νΌμ μ 곡ν©λλ€. XNU 컀λμ λ€μ μ€ν μμ€ νλ‘μ νΈμ μΌλΆλ‘, μμ€ μ½λλ μμ λ‘κ² μ κ·Όν μ μμ΅λλ€.
보μ μ°κ΅¬μλ μ λμ€ κ°λ°μμ κ΄μ μμ macOSλ μ°μν GUIμ λ€μν λ§μΆ€ν μ ν리μΌμ΄μ μ κ°μΆ FreeBSD μμ€ν κ³Ό λ§€μ° μ μ¬νκ² λκ»΄μ§ μ μμ΅λλ€. BSDμ©μΌλ‘ κ°λ°λ λλΆλΆμ μ ν리μΌμ΄μ μ μμ μμ΄ macOSμμ μ»΄νμΌλκ³ μ€νλ μ μμΌλ©°, μ λμ€ μ¬μ©μμκ² μΉμν λͺ λ Ήμ€ λκ΅¬κ° λͺ¨λ macOSμ μ‘΄μ¬ν©λλ€. κ·Έλ¬λ XNU 컀λμ΄ Machμ ν΅ν©νκ³ μκΈ° λλ¬Έμ μ ν΅μ μΈ μ λμ€ μ μ¬ μμ€ν κ³Ό macOS κ°μλ λͺ κ°μ§ μ€μν μ°¨μ΄μ μ΄ μμΌλ©°, μ΄λ¬ν μ°¨μ΄μ μ μ μ¬μ μΈ λ¬Έμ λ₯Ό μΌμΌν€κ±°λ λ νΉν μ΄μ μ μ 곡ν μ μμ΅λλ€.
XNUμ μ€ν μμ€ λ²μ : https://opensource.apple.com/source/xnu/
Mach
Machλ UNIX νΈνμ±μ μν΄ μ€κ³λ λ§μ΄ν¬λ‘컀λμ λλ€. κ·Έ μ£Όμ μ€κ³ μμΉ μ€ νλλ 컀λ 곡κ°μμ μ€νλλ μ½λμ μμ μ΅μννκ³ λμ νμΌ μμ€ν , λ€νΈμνΉ λ° I/Oμ κ°μ λ§μ μ νμ μΈ μ»€λ κΈ°λ₯μ΄ μ¬μ©μ μμ€ μμ μΌλ‘ μ€νλλλ‘ νμ©νλ κ²μ΄μμ΅λλ€.
XNUμμ Machλ 컀λμ΄ μΌλ°μ μΌλ‘ μ²λ¦¬νλ λ§μ μ€μν μ μμ€ μμ , μ¦ νλ‘μΈμ μ€μΌμ€λ§, λ©ν°νμ€νΉ λ° κ°μ λ©λͺ¨λ¦¬ κ΄λ¦¬ λ±μ μ± μμ§λλ€.
BSD
XNU 컀λμ λν FreeBSD νλ‘μ νΈμμ νμλ μλΉλμ μ½λλ₯Ό ν¬ν¨ν©λλ€. μ΄ μ½λλ Machμ ν¨κ» 컀λμ μΌλΆλ‘ κ°μ μ£Όμ 곡κ°μμ μ€νλ©λλ€. κ·Έλ¬λ XNU λ΄μ FreeBSD μ½λλ Machκ³Όμ νΈνμ±μ 보μ₯νκΈ° μν΄ μμ μ΄ νμνκΈ° λλ¬Έμ μλ FreeBSD μ½λμ μλΉν λ€λ₯Ό μ μμ΅λλ€. FreeBSDλ λ€μμ ν¬ν¨ν λ§μ 컀λ μμ μ κΈ°μ¬ν©λλ€:
- νλ‘μΈμ€ κ΄λ¦¬
- μ νΈ μ²λ¦¬
- μ¬μ©μ λ° κ·Έλ£Ή κ΄λ¦¬ λ± κΈ°λ³Έ 보μ λ©μ»€λμ¦
- μμ€ν νΈμΆ μΈνλΌ
- TCP/IP μ€ν λ° μμΌ
- λ°©νλ²½ λ° ν¨ν· νν°λ§
BSDμ Mach κ°μ μνΈμμ©μ μ΄ν΄νλ κ²μ κ·Έλ€μ μλ‘ λ€λ₯Έ κ°λ μ νλ μμν¬ λλ¬Έμ 볡μ‘ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, BSDλ νλ‘μΈμ€λ₯Ό κΈ°λ³Έ μ€ν λ¨μλ‘ μ¬μ©νμ§λ§ Machμ μ€λ λλ₯Ό κΈ°λ°μΌλ‘ μλν©λλ€. μ΄ λΆμΌμΉλ XNUμμ κ° BSD νλ‘μΈμ€λ₯Ό νλμ Mach μ€λ λλ₯Ό ν¬ν¨νλ Mach μμ κ³Ό μ°κ²°νμ¬ μ‘°μ λ©λλ€. BSDμ fork() μμ€ν νΈμΆμ΄ μ¬μ©λ λ, 컀λ λ΄μ BSD μ½λλ Mach ν¨μλ₯Ό μ¬μ©νμ¬ μμ λ° μ€λ λ ꡬ쑰λ₯Ό μμ±ν©λλ€.
κ²λ€κ°, Machκ³Ό BSDλ κ°κ° λ€λ₯Έ 보μ λͺ¨λΈμ μ μ§ν©λλ€: Machμ 보μ λͺ¨λΈμ ν¬νΈ κΆνμ κΈ°λ°νκ³ , BSDμ 보μ λͺ¨λΈμ νλ‘μΈμ€ μμ κΆμ κΈ°λ°ν©λλ€. μ΄ λ λͺ¨λΈ κ°μ μ°¨μ΄λ‘ μΈν΄ λλλ‘ λ‘컬 κΆν μμΉ μ·¨μ½μ μ΄ λ°μνμ΅λλ€. μΌλ°μ μΈ μμ€ν νΈμΆ μΈμλ μ¬μ©μ κ³΅κ° νλ‘κ·Έλ¨μ΄ 컀λκ³Ό μνΈμμ©ν μ μλλ‘ νλ Mach νΈλ©λ μμ΅λλ€. μ΄λ¬ν λ€μν μμλ€μ΄ ν¨κ» macOS 컀λμ λ€λ©΄μ μ΄κ³ νμ΄λΈλ¦¬λ μν€ν μ²λ₯Ό νμ±ν©λλ€.
I/O Kit - Drivers
I/O Kitμ XNU 컀λ λ΄μ μ€ν μμ€ κ°μ²΄ μ§ν₯ μ₯μΉ λλΌμ΄λ² νλ μμν¬λ‘, λμ μΌλ‘ λ‘λλ μ₯μΉ λλΌμ΄λ²λ₯Ό μ²λ¦¬ν©λλ€. μ΄λ λ€μν νλμ¨μ΄λ₯Ό μ§μνλ©° 컀λμ λͺ¨λμ μ½λλ₯Ό μ¦μ μΆκ°ν μ μκ² ν΄μ€λλ€.
IPC - Inter Process Communication
macOS IPC - Inter Process Communication
macOS Kernel Extensions
macOSλ 컀λ νμ₯(.kext)μ λ‘λνλ λ° λ§€μ° μ νμ μ λλ€. μ΄λ μ½λκ° λμ κΆνμΌλ‘ μ€νλκΈ° λλ¬Έμ λλ€. μ€μ λ‘ κΈ°λ³Έμ μΌλ‘ μ°ν λ°©λ²μ΄ λ°κ²¬λμ§ μλ ν μ¬μ€μ λΆκ°λ₯ν©λλ€.
λ€μ νμ΄μ§μμλ macOSκ° kernelcache λ΄μμ λ‘λνλ .kextλ₯Ό 볡ꡬνλ λ°©λ²λ λ³Ό μ μμ΅λλ€:
macOS Kernel Extensions & Kernelcache
macOS System Extensions
컀λ νμ₯μ μ¬μ©νλ λμ macOSλ 컀λκ³Ό μνΈμμ©νκΈ° μν μ¬μ©μ μμ€ APIλ₯Ό μ 곡νλ μμ€ν νμ₯μ λ§λ€μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μλ 컀λ νμ₯μ μ¬μ©ν νμκ° μμ΅λλ€.
References
Tip
AWS ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:HackTricks Training GCP Red Team Expert (GRTE)
Azure ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks μ§μνκΈ°
- ꡬλ κ³ν νμΈνκΈ°!
- **π¬ λμ€μ½λ κ·Έλ£Ή λλ ν λ κ·Έλ¨ κ·Έλ£Ήμ μ°Έμ¬νκ±°λ νΈμν° π¦ @hacktricks_liveλ₯Ό νλ‘μ°νμΈμ.
- HackTricks λ° HackTricks Cloud κΉνλΈ λ¦¬ν¬μ§ν 리μ PRμ μ μΆνμ¬ ν΄νΉ νΈλ¦μ 곡μ νμΈμ.


