macOS Kernel Vulnerabilities
Reading time: 5 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Pwning OTA
Bu raporda yazılım güncelleyicisini tehlikeye atan çekirdek zafiyetleri açıklanmaktadır.
PoC.
2024: Doğada Kernel 0-günler (CVE-2024-23225 & CVE-2024-23296)
Apple, Mart 2024'te iOS ve macOS'a karşı aktif olarak istismar edilen iki bellek bozulma hatasını yamanladı (macOS 14.4/13.6.5/12.7.4'te düzeltildi).
- CVE-2024-23225 – Kernel
• XNU sanal bellek alt sisteminde sınır dışı yazma, ayrıcalıksız bir işlemin çekirdek adres alanında keyfi okuma/yazma elde etmesine olanak tanır, PAC/KTRR'yi atlar.
• Mesaj ayrıştırıldığında
libxpc
içindeki bir tamponu taşan bir XPC mesajı aracılığıyla kullanıcı alanından tetiklenir ve ardından çekirdeğe geçiş yapar. - CVE-2024-23296 – RTKit • Apple Silicon RTKit (gerçek zamanlı yardımcı işlemci) içindeki bellek bozulması. • Gözlemlenen istismar zincirleri, çekirdek R/W için CVE-2024-23225 ve güvenli yardımcı işlemci kumandasından çıkmak ve PAC'yi devre dışı bırakmak için CVE-2024-23296 kullanmıştır.
Yaman düzeyi tespiti:
sw_vers # ProductVersion 14.4 or later is patched
authenticate sudo sysctl kern.osversion # 23E214 or later for Sonoma
Eğer yükseltme mümkün değilse, savunmasız hizmetleri devre dışı bırakarak azaltın:
launchctl disable system/com.apple.analyticsd
launchctl disable system/com.apple.rtcreportingd
2023: MIG Tür Karışıklığı – CVE-2023-41075
mach_msg()
istekleri, ayrıcalıksız bir IOKit kullanıcı istemcisine gönderildiğinde, MIG tarafından üretilen yapıştırıcı kodda bir tür karışıklığına yol açar. Yanıt mesajı, başlangıçta tahsis edilenden daha büyük bir dıştan tanımlayıcı ile yeniden yorumlandığında, bir saldırgan kontrol edilen bir OOB yazma işlemi gerçekleştirebilir ve nihayetinde root
yetkisine yükselebilir.
Temel taslak (Sonoma 14.0-14.1, Ventura 13.5-13.6):
// userspace stub
typed_port_t p = get_user_client();
uint8_t spray[0x4000] = {0x41};
// heap-spray via IOSurfaceFastSetValue
io_service_open_extended(...);
// malformed MIG message triggers confusion
mach_msg(&msg.header, MACH_SEND_MSG|MACH_RCV_MSG, ...);
Public exploits, hatayı silahlandırarak:
- Aktif port işaretçileri ile
ipc_kmsg
tamponlarını doldurmak. - Bir sarkan portun
ip_kobject
'ını üzerine yazmak. mprotect()
kullanarak PAC-taklit adresinde haritalanmış shellcode'a atlamak.
2024-2025: Üçüncü Taraf Kext'ler Üzerinden SIP Bypass – CVE-2024-44243 (aka “Sigma”)
Microsoft'tan güvenlik araştırmacıları, yüksek ayrıcalıklı daemon storagekitd
'nin imzasız bir çekirdek uzantısını yüklemeye zorlanabileceğini ve böylece tamamen yamanmış macOS'ta (15.2'den önce) Sistem Bütünlüğü Koruması (SIP)'nı tamamen devre dışı bırakabileceğini gösterdi. Saldırı akışı şudur:
- Saldırgan kontrolünde bir yardımcı oluşturmak için özel yetki
com.apple.storagekitd.kernel-management
'i kötüye kullanmak. - Yardımcı, kötü niyetli bir kext paketine işaret eden hazırlanmış bir bilgi sözlüğü ile
IOService::AddPersonalitiesFromKernelModule
'u çağırır. - SIP güven kontrolü,
storagekitd
tarafından kext sahneye konduktan sonra gerçekleştirildiğinden, kod ring-0'da doğrulama öncesinde çalışır ve SIPcsr_set_allow_all(1)
ile kapatılabilir.
Tespit ipuçları:
kmutil showloaded | grep -v com.apple # list non-Apple kexts
log stream --style syslog --predicate 'senderImagePath contains "storagekitd"' # watch for suspicious child procs
Acil düzeltme, macOS Sequoia 15.2 veya daha yenisine güncellemektir.
Hızlı Sayım Kılavuzu
uname -a # Kernel build
kmutil showloaded # List loaded kernel extensions
kextstat | grep -v com.apple # Legacy (pre-Catalina) kext list
sysctl kern.kaslr_enable # Verify KASLR is ON (should be 1)
csrutil status # Check SIP from RecoveryOS
spctl --status # Confirms Gatekeeper state
Fuzzing & Research Tools
- Luftrauser – Mach mesaj fuzzer'ı, MIG alt sistemlerini hedef alır (
github.com/preshing/luftrauser
). - oob-executor – CVE-2024-23225 araştırmasında kullanılan IPC out-of-bounds primitive üreticisi.
- kmutil inspect – Yüklemeden önce kext'leri statik olarak analiz etmek için kullanılan yerleşik Apple aracı (macOS 11+):
kmutil inspect -b io.kext.bundleID
.
References
- Apple. “About the security content of macOS Sonoma 14.4.” https://support.apple.com/en-us/120895
- Microsoft Security Blog. “Analyzing CVE-2024-44243, a macOS System Integrity Protection bypass through kernel extensions.” https://www.microsoft.com/en-us/security/blog/2025/01/13/analyzing-cve-2024-44243-a-macos-system-integrity-protection-bypass-through-kernel-extensions/
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.