macOS Dangerous Entitlements & TCC perms
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μ μ μΆνμ¬ ν΄νΉ νΈλ¦μ 곡μ νμΈμ.
Warning
**
com.apple**λ‘ μμνλ κΆνμ μ 3μμκ² μ 곡λμ§ μμΌλ©°, μ€μ§ Appleλ§ λΆμ¬ν μ μμ΅λλ€.
High
com.apple.rootless.install.heritable
κΆν **com.apple.rootless.install.heritable**λ SIPλ₯Ό μ°νν μ μκ² ν΄μ€λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
com.apple.rootless.install
κΆν **com.apple.rootless.install**μ SIPλ₯Ό μ°νν μ μκ² ν΄μ€λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
com.apple.system-task-ports (μ΄μ μ΄λ¦: task_for_pid-allow)
μ΄ κΆνμ 컀λμ μ μΈν λͺ¨λ νλ‘μΈμ€μ μμ ν¬νΈλ₯Ό μ»μ μ μκ² ν΄μ€λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
com.apple.security.get-task-allow
μ΄ κΆνμ com.apple.security.cs.debugger κΆνμ κ°μ§ λ€λ₯Έ νλ‘μΈμ€κ° μ΄ κΆνμ κ°μ§ λ°μ΄λλ¦¬λ‘ μ€νλ νλ‘μΈμ€μ μμ
ν¬νΈλ₯Ό μ»κ³ μ½λλ₯Ό μ£Όμ
ν μ μκ² ν΄μ€λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
com.apple.security.cs.debugger
λλ²κΉ
λꡬ κΆνμ κ°μ§ μ±μ task_for_pid()λ₯Ό νΈμΆνμ¬ μλͺ
λμ§ μμ μ 3μ μ±μ μ ν¨ν μμ
ν¬νΈλ₯Ό κ²μν μ μμ΅λλ€. κ·Έλ¬λ λλ²κΉ
λꡬ κΆνμ΄ μμ΄λ, λλ²κ±°λ Get Task Allow κΆνμ΄ μλ νλ‘μΈμ€μ μμ
ν¬νΈλ₯Ό μ»μ μ μμ΅λλ€, λ°λΌμ μμ€ν
λ¬΄κ²°μ± λ³΄νΈμ μν΄ λ³΄νΈλ©λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
com.apple.security.cs.disable-library-validation
μ΄ κΆνμ Appleμ μν΄ μλͺ λμ§ μκ±°λ λ©μΈ μ€ν νμΌκ³Ό λμΌν ν IDλ‘ μλͺ λμ§ μμ νλ μμν¬, νλ¬κ·ΈμΈ λλ λΌμ΄λΈλ¬λ¦¬λ₯Ό λ‘λν μ μκ² ν΄μ€λλ€. λ°λΌμ 곡격μλ μμμ λΌμ΄λΈλ¬λ¦¬ λ‘λλ₯Ό μ μ©νμ¬ μ½λλ₯Ό μ£Όμ ν μ μμ΅λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
com.apple.private.security.clear-library-validation
μ΄ κΆνμ **com.apple.security.cs.disable-library-validation**μ λ§€μ° μ μ¬νμ§λ§, μ§μ μ μΌλ‘ λΌμ΄λΈλ¬λ¦¬ κ²μ¦μ λΉνμ±ννλ λμ , νλ‘μΈμ€κ° csops μμ€ν
νΈμΆμ νΈμΆνμ¬ μ΄λ₯Ό λΉνμ±νν μ μκ² ν΄μ€λλ€.
μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
com.apple.security.cs.allow-dyld-environment-variables
μ΄ κΆνμ DYLD νκ²½ λ³μλ₯Ό μ¬μ©ν μ μκ² ν΄μ£Όλ©°, μ΄λ λΌμ΄λΈλ¬λ¦¬μ μ½λλ₯Ό μ£Όμ νλ λ° μ¬μ©λ μ μμ΅λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
com.apple.private.tcc.manager λλ com.apple.rootless.storage.TCC
μ΄ λΈλ‘κ·Έμ λ°λ₯΄λ©΄ λ° μ΄ λΈλ‘κ·Έμ λ°λ₯΄λ©΄, μ΄ κΆνμ TCC λ°μ΄ν°λ² μ΄μ€λ₯Ό μμ ν μ μκ² ν΄μ€λλ€.
system.install.apple-software λ° system.install.apple-software.standar-user
μ΄ κΆνμ μ¬μ©μμκ² κΆν μμ² μμ΄ μννΈμ¨μ΄λ₯Ό μ€μΉν μ μκ² ν΄μ£Όλ©°, μ΄λ κΆν μμΉμ μ μ©ν μ μμ΅λλ€.
com.apple.private.security.kext-management
컀λμ 컀λ νμ₯μ λ‘λνλλ‘ μμ²νλ λ° νμν κΆνμ λλ€.
com.apple.private.icloud-account-access
κΆν **com.apple.private.icloud-account-access**λ₯Ό ν΅ν΄ com.apple.iCloudHelper XPC μλΉμ€μ ν΅μ ν μ μμΌλ©°, μ΄λ iCloud ν ν°μ μ 곡ν©λλ€.
iMovieμ Garagebandλ μ΄ κΆνμ κ°μ§κ³ μμμ΅λλ€.
μ΄ κΆνμ ν΅ν΄ icloud ν ν°μ μ»λ exploitμ λν λ λ§μ μ 보λ λ€μ κ°μ°μ νμΈνμΈμ: #OBTS v5.0: βWhat Happens on your Mac, Stays on Appleβs iCloud?!β - Wojciech Regula
com.apple.private.tcc.manager.check-by-audit-token
TODO: μ΄ κΆνμ΄ λ¬΄μμ νμ©νλμ§ λͺ¨λ₯΄κ² μ΅λλ€.
com.apple.private.apfs.revert-to-snapshot
TODO: μ΄ λ³΄κ³ μμμ μ¬λΆν ν SSV λ³΄νΈ μ½ν μΈ λ₯Ό μ λ°μ΄νΈνλ λ° μ¬μ©λ μ μλ€κ³ μΈκΈλμμ΅λλ€. λ°©λ²μ μμ λ€λ©΄ PRμ 보λ΄μ£ΌμΈμ!
com.apple.private.apfs.create-sealed-snapshot
TODO: μ΄ λ³΄κ³ μμμ μ¬λΆν ν SSV λ³΄νΈ μ½ν μΈ λ₯Ό μ λ°μ΄νΈνλ λ° μ¬μ©λ μ μλ€κ³ μΈκΈλμμ΅λλ€. λ°©λ²μ μμ λ€λ©΄ PRμ 보λ΄μ£ΌμΈμ!
keychain-access-groups
μ΄ κΆνμ μ ν리μΌμ΄μ μ΄ μ κ·Όν μ μλ ν€μ²΄μΈ κ·Έλ£Ήμ λμ΄ν©λλ€:
<key>keychain-access-groups</key>
<array>
<string>ichat</string>
<string>apple</string>
<string>appleaccount</string>
<string>InternetAccounts</string>
<string>IMCore</string>
</array>
kTCCServiceSystemPolicyAllFiles
μ 체 λμ€ν¬ μ κ·Ό κΆνμ λΆμ¬νλ©°, TCCμμ κ°μ§ μ μλ κ°μ₯ λμ κΆν μ€ νλμ λλ€.
kTCCServiceAppleEvents
μ±μ΄ μμ μλνμ μΌλ°μ μΌλ‘ μ¬μ©λλ λ€λ₯Έ μ ν리μΌμ΄μ μ μ΄λ²€νΈλ₯Ό λ³΄λΌ μ μλλ‘ νμ©ν©λλ€. λ€λ₯Έ μ±μ μ μ΄ν¨μΌλ‘μ¨, μ΄λ¬ν λ€λ₯Έ μ±μ λΆμ¬λ κΆνμ μ μ©ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μμκ² λΉλ°λ²νΈλ₯Ό μμ²νλλ‘ λ§λ€ μ μμ΅λλ€:
osascript -e 'tell app "App Store" to activate' -e 'tell app "App Store" to activate' -e 'tell app "App Store" to display dialog "App Store requires your password to continue." & return & return default answer "" with icon 1 with hidden answer with title "App Store Alert"'
Or making them perform μμμ μμ .
kTCCServiceEndpointSecurityClient
μ¬μ©μμ TCC λ°μ΄ν°λ² μ΄μ€λ₯Ό μ°κΈ°λ₯Ό νμ©νλ λ± μ¬λ¬ κΆνμ νμ©ν©λλ€.
kTCCServiceSystemPolicySysAdminFiles
μ¬μ©μμ ν ν΄λ κ²½λ‘λ₯Ό λ³κ²½νλ NFSHomeDirectory μμ±μ λ³κ²½ν μ μλλ‘ νμ©νλ©°, λ°λΌμ TCCλ₯Ό μ°νν μ μμ΅λλ€.
kTCCServiceSystemPolicyAppBundles
μ± λ²λ€(μ±.app λ΄λΆ) λ΄μ νμΌμ μμ ν μ μλλ‘ νμ©νλ©°, μ΄λ κΈ°λ³Έμ μΌλ‘ κΈμ§λμ΄ μμ΅λλ€.
.png)
μ΄ μ κ·Ό κΆνμ κ°μ§ μ¬μ©μλ₯Ό νμΈν μ μλ λ°©λ²μ μμ€ν μ€μ > κ°μΈμ 보 λ³΄νΈ λ° λ³΄μ > _μ± κ΄λ¦¬_μ λλ€.
kTCCServiceAccessibility
νλ‘μΈμ€λ macOS μ κ·Όμ± κΈ°λ₯μ μ μ©ν μ μμΌλ©°, μλ₯Ό λ€μ΄ ν€ μ λ ₯μ λλ₯Ό μ μμ΅λλ€. λ°λΌμ Finderμ κ°μ μ±μ μ μ΄ν μ μλ μ κ·Ό κΆνμ μμ²νκ³ μ΄ κΆνμΌλ‘ λν μμλ₯Ό μΉμΈν μ μμ΅λλ€.
Medium
com.apple.security.cs.allow-jit
μ΄ κΆνμ mmap() μμ€ν
ν¨μμ MAP_JIT νλκ·Έλ₯Ό μ λ¬νμ¬ μ°κΈ° κ°λ₯νκ³ μ€ν κ°λ₯ν λ©λͺ¨λ¦¬λ₯Ό μμ±ν μ μλλ‘ νμ©ν©λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
com.apple.security.cs.allow-unsigned-executable-memory
μ΄ κΆνμ C μ½λλ₯Ό μ€λ²λΌμ΄λνκ±°λ ν¨μΉν μ μλλ‘ νμ©νλ©°, μ€λλ NSCreateObjectFileImageFromMemory (κ·Όλ³Έμ μΌλ‘ μμ νμ§ μμ)λ₯Ό μ¬μ©νκ±°λ DVDPlayback νλ μμν¬λ₯Ό μ¬μ©ν μ μμ΅λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
Caution
μ΄ κΆνμ ν¬ν¨νλ©΄ λ©λͺ¨λ¦¬ μμ νμ§ μμ μ½λ μΈμ΄μμ μΌλ°μ μΈ μ·¨μ½μ μ μ±μ΄ λ ΈμΆλ©λλ€. μ±μ΄ μ΄ μμΈκ° νμνμ§ μ μ€νκ² κ³ λ €νμΈμ.
com.apple.security.cs.disable-executable-page-protection
μ΄ κΆνμ λμ€ν¬μ μλ μμ μ μ€ν νμΌμ μΉμ μ μμ νμ¬ κ°μ λ‘ μ’ λ£ν μ μλλ‘ νμ©ν©λλ€. μμΈν μ 보λ μ¬κΈ°λ₯Ό νμΈνμΈμ.
Caution
Disable Executable Memory Protection Entitlementλ μ±μμ κΈ°λ³Έ 보μ λ³΄νΈ κΈ°λ₯μ μ κ±°νλ κ·Ήλ¨μ μΈ κΆνμΌλ‘, 곡격μκ° νμ§ μμ΄ μ±μ μ€ν μ½λλ₯Ό μ¬μμ±ν μ μκ² ν©λλ€. κ°λ₯νλ©΄ λ μ’μ κΆνμ μ νΈνμΈμ.
com.apple.security.cs.allow-relative-library-loads
TODO
com.apple.private.nullfs_allow
μ΄ κΆνμ nullfs νμΌ μμ€ν μ λ§μ΄νΈν μ μλλ‘ νμ©ν©λλ€(κΈ°λ³Έμ μΌλ‘ κΈμ§λ¨). λꡬ: mount_nullfs.
kTCCServiceAll
μ΄ λΈλ‘κ·Έ κ²μλ¬Όμ λ°λ₯΄λ©΄, μ΄ TCC κΆνμ μΌλ°μ μΌλ‘ λ€μ νμμΌλ‘ λ°κ²¬λ©λλ€:
[Key] com.apple.private.tcc.allow-prompting
[Value]
[Array]
[String] kTCCServiceAll
νλ‘μΈμ€κ° λͺ¨λ TCC κΆνμ μμ²νλλ‘ νμ©ν©λλ€.
kTCCServicePostEvent
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μ μ μΆνμ¬ ν΄νΉ νΈλ¦μ 곡μ νμΈμ.


