macOS Red Teaming
MDM'leri Kötüye Kullanma
JAMF Pro:
jamf checkJSSConnection
Kandji
Yönetim platformuna erişmek için yönetici kimlik bilgilerini ele geçirirseniz, kötü amaçlı yazılımınızı makinelerde dağıtarak tüm bilgisayarları potansiyel olarak tehlikeye atabilirsiniz.
MacOS ortamlarında kırmızı takım için MDM'lerin nasıl çalıştığını anlamanız şiddetle tavsiye edilir:
pagemacOS MDMMDM'yi C2 Olarak Kullanma
Bir MDM, profilleri yüklemeye, sorgulamaya veya kaldırmaya, uygulamaları yüklemeye, yerel yönetici hesapları oluşturmaya, firmware şifresi belirlemeye, FileVault anahtarını değiştirmeye izin verecektir...
Kendi MDM'nizi çalıştırmak için https://mdmcert.download/ adresinden alabileceğiniz bir CSR'nızı bir satıcı tarafından imzalatmanız gerekmektedir. Apple cihazları için kendi MDM'nizi çalıştırmak için MicroMDM kullanabilirsiniz.
Ancak, bir uygulamayı kayıtlı bir cihaza yüklemek için hala bir geliştirici hesabıyla imzalanmış olması gerekmektedir... ancak, MDM kaydı sırasında cihaz, MDM'nin SSL sertifikasını güvenilir bir CA olarak ekler, böylece artık herhangi bir şeyi imzalayabilirsiniz.
Cihazı bir MDM'ye kaydetmek için kök olarak bir mobileconfig
dosyası yüklemeniz gerekmektedir, bu dosya bir pkg dosyası aracılığıyla teslim edilebilir (zip içine sıkıştırabilir ve safari'den indirildiğinde açılabilir).
Mythic ajanı Orthrus bu tekniği kullanır.
JAMF PRO'yu Kötüye Kullanma
JAMF, özel betikler (sistem yöneticisi tarafından geliştirilen betikler), yerel yükler (yerel hesap oluşturma, EFI şifresi belirleme, dosya/işlem izleme...) ve MDM (cihaz yapılandırmaları, cihaz sertifikaları...) çalıştırabilir.
JAMF otomatik kayıt
https://<şirket-adı>.jamfcloud.com/enroll/
gibi bir sayfaya giderek otomatik kaydı etkinleştirilip etkinleştirilmediğini kontrol edebilirsiniz. Etkinleştirilmişse erişim için kimlik bilgileri isteyebilir.
JamfSniper.py betiğini kullanarak bir şifre sıçratma saldırısı gerçekleştirebilirsiniz.
Ayrıca, uygun kimlik bilgileri bulduktan sonra diğer kullanıcı adlarını kaba kuvvet saldırısı yapabilirsiniz:
JAMF cihaz Kimlik Doğrulama
jamf
ikili dosyası, zamanında herkesle paylaşılan anahtarı açmak için gizliydi ve o zaman keşfedildiğinde: jk23ucnq91jfu9aj
idi.
Ayrıca, jamf /Library/LaunchAgents/com.jamf.management.agent.plist
konumunda bir LaunchDaemon olarak kalıcıdır.
JAMF Cihaz Devralma
jamf
'in kullanacağı JSS (Jamf Yazılım Sunucusu) URL'si, /Library/Preferences/com.jamfsoftware.jamf.plist
konumundadır.
Bu dosya temelde URL'yi içerir:
Bu nedenle, bir saldırgan, bu dosyayı üzerine yazacak şekilde kötü niyetli bir paket (pkg
) bırakabilir ve yüklenirken URL'yi bir Typhon ajanından Mythic C2 dinleyicisine ayarlayabilir ve artık JAMF'ı C2 olarak kötüye kullanabilir.
JAMF Taklit
Bir cihaz ile JMF arasındaki iletişimi taklit etmek için şunlara ihtiyacınız vardır:
Cihazın UUID'si:
ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'
Cihaz sertifikasını içeren JAMF anahtarlığı:
/Library/Application\ Support/Jamf/JAMF.keychain
Bu bilgilerle, çalınan Donanım UUID'si ile ve SIP devre dışı bırakılmış bir VM oluşturun, JAMF anahtarlığını bırakın, Jamf ajansını kancalayın ve bilgilerini çalın.
Sırların Çalınması
Ayrıca, özel betiklerin yerini izleyebilirsiniz /Library/Application Support/Jamf/tmp/
yöneticilerin Jamf aracılığıyla çalıştırmak isteyebileceği çünkü buraya yerleştirilir, çalıştırılır ve kaldırılır. Bu betikler kimlik bilgileri içerebilir.
Ancak, kimlik bilgileri bu betiklere parametreler olarak iletilmiş olabilir, bu nedenle ps aux | grep -i jamf
'yi (root olmadan bile) izlemeniz gerekebilir.
JamfExplorer.py betiği yeni dosyaların eklenmesini ve yeni işlem argümanlarını dinleyebilir.
macOS Uzak Erişim
Ve ayrıca MacOS "özel" ağ protokolleri hakkında:
pagemacOS Network Services & ProtocolsActive Directory
Bazı durumlarda MacOS bilgisayarının bir AD'ye bağlı olduğunu göreceksiniz. Bu senaryoda, genellikle yaptığınız gibi etkin dizini numaralandırmaya çalışmalısınız. Aşağıdaki sayfalarda yardım bulabilirsiniz:
page389, 636, 3268, 3269 - Pentesting LDAPpageActive Directory Methodologypage88tcp/udp - Pentesting KerberosSize yardımcı olabilecek bazı yerel MacOS araçları dscl
'dir:
Ayrıca, MacOS için AD'yi otomatik olarak numaralandırmak ve kerberos ile oynamak için bazı araçlar hazırlanmıştır:
Machound: MacHound, Bloodhound denetleme aracına bir uzantıdır ve MacOS ana bilgisayarlarında Active Directory ilişkilerini toplamayı ve yüklemeyi sağlar.
Bifrost: Bifrost, macOS'ta Heimdal krb5 API'leri ile etkileşim sağlamak üzere tasarlanmış bir Objective-C projesidir. Projenin amacı, hedef üzerinde başka bir çerçeve veya paket gerektirmeden yerel API'leri kullanarak macOS cihazlarında Kerberos etrafında daha iyi güvenlik testleri yapmayı sağlamaktır.
Orchard: JavaScript for Automation (JXA) aracı olan Orchard, Active Directory numaralandırması yapmak için kullanılır.
Alan Bilgileri
Kullanıcılar
MacOS kullanıcılarının üç türü şunlardır:
Yerel Kullanıcılar — Yerel OpenDirectory hizmeti tarafından yönetilir, Active Directory ile herhangi bir şekilde bağlantılı değillerdir.
Ağ Kullanıcıları — Geçici Active Directory kullanıcıları, kimlik doğrulamak için DC sunucusuna bağlantı gerektirirler.
Mobil Kullanıcılar — Yerel yedekleri olan Active Directory kullanıcıları, kimlik bilgileri ve dosyaları için yerel bir yedekleme yaparlar.
Kullanıcılar ve gruplarla ilgili yerel bilgiler, /var/db/dslocal/nodes/Default klasöründe saklanır. Örneğin, mark adlı kullanıcıyla ilgili bilgiler /var/db/dslocal/nodes/Default/users/mark.plist dosyasında saklanır ve admin grubuyla ilgili bilgiler /var/db/dslocal/nodes/Default/groups/admin.plist dosyasında bulunur.
HasSession ve AdminTo kenarlarını kullanmanın yanı sıra, MacHound Bloodhound veritabanına üç yeni kenar ekler:
CanSSH - ana bilgisayara SSH yapmaya izin verilen varlık
CanVNC - ana bilgisayara VNC yapmaya izin verilen varlık
CanAE - ana bilgisayarda AppleEvent betiklerini çalıştırmaya izin verilen varlık
Daha fazla bilgi için https://its-a-feature.github.io/posts/2018/01/Active-Directory-Discovery-with-a-Mac/ adresine bakabilirsiniz.
Anahtarlık Erişimi
Anahtarlık muhtemelen hassas bilgiler içerir ve bir uyarı oluşturmadan erişilirse kırmızı takım egzersizine devam etmede yardımcı olabilir:
pagemacOS KeychainHarici Hizmetler
MacOS Kırmızı Takımı, genellikle MacOS'un doğrudan birkaç harici platformla entegre edilmiş olması nedeniyle normal Windows Kırmızı Takımdan farklıdır. MacOS'un yaygın bir yapılandırması, OneLogin senkronize kimlik bilgileri kullanarak bilgisayara erişim sağlamak ve OneLogin aracılığıyla birkaç harici hizmete (github, aws gibi...) erişmektir.
Çeşitli Kırmızı Takım teknikleri
Safari
Safari'de bir dosya indirildiğinde, eğer "güvenli" bir dosya ise otomatik olarak açılacaktır. Örneğin, bir zip dosyası indirirseniz, otomatik olarak açılacaktır:
Referanslar
Last updated