Enrolling Devices in Other Organisations
Last updated
Last updated
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)
Daha önce belirtildiği gibi, bir cihazı bir kuruluşa kaydetmek için sadece o Kuruluşa ait bir Seri Numarası gereklidir. Cihaz kaydedildikten sonra, birçok kuruluş yeni cihaza hassas veriler yükleyecektir: sertifikalar, uygulamalar, WiFi şifreleri, VPN yapılandırmaları ve benzeri. Bu nedenle, kayıt süreci doğru bir şekilde korunmazsa, bu saldırganlar için tehlikeli bir giriş noktası olabilir.
Aşağıda, araştırmanın bir özeti bulunmaktadır https://duo.com/labs/research/mdm-me-maybe. Daha fazla teknik detay için kontrol edin!
Bu araştırma, macOS'taki Cihaz Kaydı Programı (DEP) ve Mobil Cihaz Yönetimi (MDM) ile ilişkili ikililere dalmaktadır. Ana bileşenler şunlardır:
mdmclient
: MDM sunucularıyla iletişim kurar ve macOS 10.13.4 öncesi sürümlerde DEP kontrol noktalarını tetikler.
profiles
: Yapılandırma Profillerini yönetir ve macOS 10.13.4 ve sonraki sürümlerde DEP kontrol noktalarını tetikler.
cloudconfigurationd
: DEP API iletişimlerini yönetir ve Cihaz Kaydı profillerini alır.
DEP kontrol noktaları, Aktivasyon Kaydını almak için özel Yapılandırma Profilleri çerçevesinden CPFetchActivationRecord
ve CPGetActivationRecord
işlevlerini kullanır; CPFetchActivationRecord
, cloudconfigurationd
ile XPC üzerinden koordine eder.
DEP kontrol noktası, cloudconfigurationd
'nin iprofiles.apple.com/macProfile adresine şifrelenmiş, imzalı bir JSON yükü göndermesini içerir. Yük, cihazın seri numarasını ve "RequestProfileConfiguration" eylemini içerir. Kullanılan şifreleme şeması dahili olarak "Absinthe" olarak adlandırılmaktadır. Bu şemanın çözülmesi karmaşık olup birçok adım içermektedir; bu da Aktivasyon Kaydı isteğine keyfi seri numaraları eklemek için alternatif yöntemlerin araştırılmasına yol açmıştır.
iprofiles.apple.com adresine yapılan DEP isteklerini Charles Proxy gibi araçlarla kesmeye ve değiştirmeye yönelik girişimler, yük şifrelemesi ve SSL/TLS güvenlik önlemleri nedeniyle engellenmiştir. Ancak, MCCloudConfigAcceptAnyHTTPSCertificate
yapılandırmasını etkinleştirmek, sunucu sertifikası doğrulamasını atlamaya olanak tanır; ancak yükün şifreli doğası, şifre çözme anahtarı olmadan seri numarasının değiştirilmesini engellemektedir.
cloudconfigurationd
gibi sistem ikili dosyalarını enstrümante etmek, macOS'ta Sistem Bütünlüğü Koruması'nın (SIP) devre dışı bırakılmasını gerektirir. SIP devre dışı bırakıldığında, LLDB gibi araçlar sistem süreçlerine bağlanmak ve DEP API etkileşimlerinde kullanılan seri numarasını potansiyel olarak değiştirmek için kullanılabilir. Bu yöntem, yetkilendirmeler ve kod imzalama karmaşıklıklarından kaçındığı için tercih edilmektedir.
İkili Enstrümantasyonun Sömürülmesi: cloudconfigurationd
'de JSON serileştirmeden önce DEP istek yükünü değiştirmek etkili olmuştur. Süreç şunları içermektedir:
LLDB'yi cloudconfigurationd
'ye bağlamak.
Sistem seri numarasının alındığı noktayı bulmak.
Yük şifrelenmeden ve gönderilmeden önce belleğe keyfi bir seri numarası enjekte etmek.
Bu yöntem, keyfi seri numaraları için tam DEP profillerinin alınmasını sağladı ve potansiyel bir zafiyeti gösterdi.
Sömürü süreci, LLDB API'si ile Python kullanılarak otomatikleştirildi ve keyfi seri numaralarının programatik olarak enjekte edilmesi ve karşılık gelen DEP profillerinin alınması mümkün hale getirildi.
Araştırma, önemli güvenlik endişelerini vurgulamıştır:
Bilgi Sızdırma: DEP'e kayıtlı bir seri numarası sağlayarak, DEP profilinde bulunan hassas kurumsal bilgilere erişim sağlanabilir.