mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
5.2 KiB
5.2 KiB
macOS Çekirdek Uzantıları
htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!
- Bir siber güvenlik şirketinde çalışıyor musunuz? Şirketinizi HackTricks'te duyurmak ister misiniz? PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek ister misiniz? ABONELİK PLANLARINA göz atın!
- The PEASS Family koleksiyonumuzdaki NFT'leri keşfedin.
- PEASS ve HackTricks'in resmi ürünlerini edinin.
- Discord 💬 grubuna katılın veya telegram grubuna veya Twitter'da 🐦@carlospolopm beni takip edin.
- Hacking hilelerinizi göndererek hacktricks repo ve hacktricks-cloud repo ile paylaşın.
Temel Bilgiler
Çekirdek uzantıları (Kext'ler), ana işletim sistemine ek işlevsellik sağlayan .kext
uzantılı paketlerdir ve doğrudan macOS çekirdek alanına yüklenir.
Gereksinimler
Açıkçası, bu kadar güçlü olduğu için bir çekirdek uzantısını yüklemek karmaşık bir işlemdir. Bir çekirdek uzantısının yüklenmesi için karşılanması gereken gereksinimler şunlardır:
- Kurtarma moduna girildiğinde, çekirdek uzantılarının yüklenmesine izin verilmelidir:
- Çekirdek uzantısı, yalnızca Apple tarafından verilebilen bir çekirdek kodu imzalama sertifikasıyla imzalanmalıdır. Apple, şirketi ve nedenlere ayrıntılı olarak inceleyecektir.
- Çekirdek uzantısı ayrıca notarized olmalıdır, Apple tarafından kötü amaçlı yazılım kontrol edilebilir.
- Ardından, root kullanıcısı, çekirdek uzantısını yükleyebilen ve paket içindeki dosyaların root'a ait olması gereken kullanıcıdır.
- Yükleme işlemi sırasında, paketin korunan bir kök olmayan konuma hazırlanması gerekmektedir:
/Library/StagedExtensions
(com.apple.rootless.storage.KernelExtensionManagement
iznini gerektirir). - Son olarak, yüklemeye çalışıldığında, kullanıcı bir onay isteği alacak ve kabul edilirse, bunu yüklemek için bilgisayarın yeniden başlatılması gerekmektedir.
Yükleme işlemi
Catalina'da durum şöyleydi: Doğrulama işlemi kullanıcı alanında gerçekleşir. Ancak, yalnızca com.apple.private.security.kext-management
iznine sahip uygulamalar, çekirdeğe bir uzantı yüklemesini istemek için çekirdeğe başvurabilir: kextcache
, kextload
, kextutil
, kextd
, syspolicyd
kextutil
komut satırı arayüzü, bir uzantıyı yüklemek için doğrulama işlemini başlatır
- Bir Mach hizmeti kullanarak
kextd
ile iletişim kurar.
kextd
, imza gibi birkaç şeyi kontrol eder
syspolicyd
ile iletişim kurarak uzantının yüklenip yüklenemeyeceğini kontrol eder.
syspolicyd
, uzantı daha önce yüklenmediyse kullanıcıya bir onay istemi yapar.
syspolicyd
, sonucukextd
'ye bildirir.
kextd
, sonunda çekirdeğe uzantıyı yüklemek için izin verebilir
kextd
kullanılamıyorsa, kextutil
aynı kontrolleri yapabilir.
Referanslar
- https://www.makeuseof.com/how-to-enable-third-party-kernel-extensions-apple-silicon-mac/
- https://www.youtube.com/watch?v=hGKOskSiaQo
htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!
- Bir siber güvenlik şirketinde çalışıyor musunuz? Şirketinizi HackTricks'te duyurmak ister misiniz? PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek ister misiniz? ABONELİK PLANLARINA göz atın!
- The PEASS Family koleksiyonumuzdaki NFT'leri keşfedin.
- PEASS ve HackTricks'in resmi ürünlerini edinin.
- Discord 💬 grubuna katılın veya telegram grubuna veya Twitter'da 🐦@carlospolopm beni takip edin.
- Hacking hilelerinizi göndererek hacktricks repo ve hacktricks-cloud repo ile paylaşın.