.. | ||
macos-fs-tricks | ||
macos-sandbox | ||
macos-tcc | ||
macos-dangerous-entitlements.md | ||
macos-gatekeeper.md | ||
macos-launch-environment-constraints.md | ||
macos-sip.md | ||
README.md |
macOS Güvenlik Korumaları
Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna katılın](https://discord.gg/hRep4RUj7f) veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks ve HackTricks Cloud github depolarına katkıda bulunun.
Gatekeeper
Gatekeeper genellikle Karantina + Gatekeeper + XProtect kombinasyonunu ifade etmek için kullanılır, bu 3 macOS güvenlik modülü, kullanıcıların potansiyel olarak zararlı yazılımları çalıştırmasını engellemeye çalışacaktır.
Daha fazla bilgi için:
{% content-ref url="macos-gatekeeper.md" %} macos-gatekeeper.md {% endcontent-ref %}
İşlem Sınırlayıcılar
SIP - Sistem Bütünlük Koruması
{% content-ref url="macos-sip.md" %} macos-sip.md {% endcontent-ref %}
Kum Havuzu
MacOS Kum Havuzu, kum havuzu profili ile çalışan uygulamaların sadece beklenen kaynaklara erişeceğinden emin olur, bu da uygulamanın yalnızca beklenen kaynaklara erişeceğini sağlar.
{% content-ref url="macos-sandbox/" %} macos-sandbox {% endcontent-ref %}
TCC - Şeffaflık, Onay ve Kontrol
TCC (Şeffaflık, Onay ve Kontrol) bir güvenlik çerçevesidir. Uygulamaların izinlerini yönetmek için tasarlanmıştır, özellikle hassas özelliklere erişimlerini düzenleyerek. Bu, konum hizmetleri, kişiler, fotoğraflar, mikrofon, kamera, erişilebilirlik ve tam disk erişimi gibi unsurları içerir. TCC, uygulamaların bu özelliklere yalnızca açık kullanıcı onayı aldıktan sonra erişebilmelerini sağlar, böylece gizliliği ve kişisel veriler üzerinde kontrolü güçlendirir.
{% content-ref url="macos-tcc/" %} macos-tcc {% endcontent-ref %}
Başlatma/Çevre Kısıtlamaları ve Güven Önbelleği
MacOS'taki başlatma kısıtlamaları, bir işlemi başlatmayı düzenleyen bir güvenlik özelliğidir, bir işlemi kimin, nasıl ve nereden başlatabileceğini tanımlayarak. macOS Ventura'da tanıtılan bir güven önbelleği içinde sistem ikili dosyalarını kısıtlama kategorilerine ayırır. Her yürütülebilir ikili dosya için başlatma için belirli kurallar vardır, bu da kendisi, ebeveyni ve sorumlu kısıtlamaları içerir. macOS Sonoma'da üçüncü taraf uygulamalara genişletilen Çevre Kısıtlamaları olarak, bu özellikler, işlem başlatma koşullarını yöneterek potansiyel sistem açıklarını azaltmaya yardımcı olur.
{% content-ref url="macos-launch-environment-constraints.md" %} macos-launch-environment-constraints.md {% endcontent-ref %}
MRT - Zararlı Yazılım Kaldırma Aracı
Zararlı Yazılım Kaldırma Aracı (MRT), macOS'ın güvenlik altyapısının bir parçasıdır. Adından da anlaşılacağı gibi, MRT'nin temel işlevi, enfekte sistemlerden bilinen zararlı yazılımları kaldırmaktır.
Bir Mac'te zararlı yazılım tespit edildiğinde (XProtect tarafından veya başka bir şekilde), MRT otomatik olarak zararlı yazılımı kaldırmak için kullanılabilir. MRT genellikle arka planda sessizce çalışır ve genellikle sistem güncellendiğinde veya yeni bir zararlı yazılım tanımı indirildiğinde çalışır (zararlı yazılımı tespit etmek için MRT'nin kurallarının uygulandığı gibi görünüyor).
XProtect ve MRT, macOS'ın güvenlik önlemlerinin bir parçası olsa da, farklı işlevler yerine getirirler:
- XProtect, indirilen dosyaları kontrol eder (belirli uygulamalar aracılığıyla) ve bilinen zararlı yazılım türlerini tespit ederse, dosyanın açılmasını engeller, böylece zararlı yazılımın sisteminizi ilk etapta enfekte etmesini önler.
- MRT ise reaktif bir araçtır. Sistemde zararlı yazılım tespit edildikten sonra çalışır ve sistemi temizlemek için suçlu yazılımı kaldırmayı hedefler.
MRT uygulaması /Library/Apple/System/Library/CoreServices/MRT.app
konumundadır.
Arka Plan Görevleri Yönetimi
macOS, artık bir aracın kod yürütmesini sürdürmek için bilinen bir teknik kullandığında her zaman uyarır (örneğin, Giriş Öğeleri, Daemonlar...), böylece kullanıcı daha iyi hangi yazılımın sürekli olduğunu bilir.
![](/Mirrors/hacktricks/media/commit/42d81e2c9c40234ddd4914d60daa02cce2395656/.gitbook/assets/image%20%281180%29.png)
Bu, /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/backgroundtaskmanagementd
konumunda bulunan bir daemon ile çalışır ve /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app
konumunda bir ajan bulunur.
backgroundtaskmanagementd
'nin bir şeyin sürekli bir klasöre yüklendiğini bilmesinin yolu, FSEvents alarak ve bunlar için bazı işleyiciler oluşturarak gerçekleşir.
Ayrıca, Apple tarafından sık sık sürekli olan bilinen uygulamaları içeren bir plist dosyası bulunur: /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/attributions.plist
[...]
"us.zoom.ZoomDaemon" => {
"AssociatedBundleIdentifiers" => [
0 => "us.zoom.xos"
]
"Attribution" => "Zoom"
"Program" => "/Library/PrivilegedHelperTools/us.zoom.ZoomDaemon"
"ProgramArguments" => [
0 => "/Library/PrivilegedHelperTools/us.zoom.ZoomDaemon"
]
"TeamIdentifier" => "BJ4HAAB9B3"
}
[...]
Sıralama
Apple cli aracını kullanarak yapılandırılmış tüm arka plan öğelerini sıralamak mümkündür:
# The tool will always ask for the users password
sfltool dumpbtm
Ayrıca, bu bilgileri DumpBTM ile de listeleyebilirsiniz.
# You need to grant the Terminal Full Disk Access for this to work
chmod +x dumpBTM
xattr -rc dumpBTM # Remove quarantine attr
./dumpBTM
Bu bilgi /private/var/db/com.apple.backgroundtaskmanagement/BackgroundItems-v4.btm
dizininde saklanıyor ve Terminal'in FDA'ya ihtiyacı var.
BTM ile Oynama
Yeni bir kalıcılık bulunduğunda ES_EVENT_TYPE_NOTIFY_BTM_LAUNCH_ITEM_ADD
türünde bir olay meydana gelir. Bu nedenle, bu olayın gönderilmesini veya ajanın kullanıcıyı uyarısını engellemenin bir yolu bir saldırganın BTM'yi atlatmasına yardımcı olacaktır.
- Veritabanını sıfırlama: Aşağıdaki komutu çalıştırmak veritabanını sıfırlayacaktır (temelden yeniden oluşturmalıdır), ancak bu komutu çalıştırdıktan sonra sistem yeniden başlatılana kadar yeni bir kalıcılık uyarılmayacaktır.
- root yetkisi gereklidir.
# Reset the database
sfltool resettbtm
- Ajanı Durdurun: Ajan'a durdurma sinyali göndermek mümkündür, böylece yeni tespitler bulunduğunda kullanıcıya bildirim göndermeyecektir.
# Get PID
pgrep BackgroundTaskManagementAgent
1011
# Stop it
kill -SIGSTOP 1011
# Check it's stopped (a T means it's stopped)
ps -o state 1011
T
- Hata: Eğer kalıcılığı oluşturan işlem hemen sona ererse, daemon onun hakkında bilgi almaya çalışacak, başarısız olacak ve yeni bir şeyin kalıcı olduğunu gösteren olayı gönderemeyecek.
Referanslar ve BTM hakkında daha fazla bilgi:
- https://youtu.be/9hjUmT031tc?t=26481
- https://www.patreon.com/posts/new-developer-77420730?l=fr
- https://support.apple.com/en-gb/guide/deployment/depdca572563/web
AWS hacklemeyi sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız [ABONELİK PLANLARI]'na göz atın(https://github.com/sponsors/carlospolop)!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Family koleksiyonumuzu keşfedin, özel NFT'lerimiz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'ı takip edin**.
- Hacking püf noktalarınızı paylaşarak PR'ler göndererek HackTricks ve HackTricks Cloud github depolarına katkıda bulunun.