macOS Security Protections
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Gatekeeper
Ο Gatekeeper χρησιμοποιείται συνήθως για να αναφέρεται στον συνδυασμό Quarantine + Gatekeeper + XProtect, 3 μονάδες ασφαλείας του macOS που προσπαθούν να αποτρέψουν τους χρήστες από το να εκτελούν δυνητικά κακόβουλο λογισμικό που έχει κατεβεί.
Περισσότερες πληροφορίες στο:
macOS Gatekeeper / Quarantine / XProtectProcesses Limitants
SIP - System Integrity Protection
macOS SIPSandbox
Το MacOS Sandbox περιορίζει τις εφαρμογές που εκτελούνται μέσα στο sandbox στις επιτρεπόμενες ενέργειες που καθορίζονται στο προφίλ Sandbox με το οποίο εκτελείται η εφαρμογή. Αυτό βοηθά να διασφαλιστεί ότι η εφαρμογή θα έχει πρόσβαση μόνο σε αναμενόμενους πόρους.
macOS SandboxTCC - Transparency, Consent, and Control
TCC (Transparency, Consent, and Control) είναι ένα πλαίσιο ασφαλείας. Είναι σχεδιασμένο για να διαχειρίζεται τις άδειες των εφαρμογών, ρυθμίζοντας συγκεκριμένα την πρόσβασή τους σε ευαίσθητες δυνατότητες. Αυτό περιλαμβάνει στοιχεία όπως υπηρεσίες τοποθεσίας, επαφές, φωτογραφίες, μικρόφωνο, κάμερα, προσβασιμότητα και πλήρη πρόσβαση δίσκου. Το TCC διασφαλίζει ότι οι εφαρμογές μπορούν να έχουν πρόσβαση σε αυτές τις δυνατότητες μόνο μετά την απόκτηση ρητής συγκατάθεσης του χρήστη, ενισχύοντας έτσι την ιδιωτικότητα και τον έλεγχο των προσωπικών δεδομένων.
macOS TCCLaunch/Environment Constraints & Trust Cache
Οι περιορισμοί εκκίνησης στο macOS είναι μια λειτουργία ασφαλείας για να ρυθμίζουν την εκκίνηση διαδικασιών καθορίζοντας ποιος μπορεί να εκκινήσει μια διαδικασία, πώς και από πού. Εισήχθη στο macOS Ventura, κατηγοριοποιούν τα συστήματα δυαδικών σε κατηγορίες περιορισμών εντός ενός trust cache. Κάθε εκτελέσιμο δυαδικό έχει καθορισμένους κανόνες για την εκκίνηση του, συμπεριλαμβανομένων των self, parent και responsible περιορισμών. Επεκτάθηκε σε εφαρμογές τρίτων ως Environment Constraints στο macOS Sonoma, αυτές οι δυνατότητες βοηθούν στη μείωση πιθανών εκμεταλλεύσεων του συστήματος ρυθμίζοντας τις συνθήκες εκκίνησης διαδικασιών.
macOS Launch/Environment Constraints & Trust CacheMRT - Malware Removal Tool
Το Malware Removal Tool (MRT) είναι άλλο ένα μέρος της υποδομής ασφαλείας του macOS. Όπως υποδηλώνει το όνομα, η κύρια λειτουργία του MRT είναι να αφαιρεί γνωστό κακόβουλο λογισμικό από μολυσμένα συστήματα.
Μόλις ανιχνευθεί κακόβουλο λογισμικό σε ένα Mac (είτε από το XProtect είτε με κάποιο άλλο μέσο), το MRT μπορεί να χρησιμοποιηθεί για να αφαιρέσει αυτόματα το κακόβουλο λογισμικό. Το MRT λειτουργεί σιωπηλά στο παρασκήνιο και συνήθως εκτελείται κάθε φορά που το σύστημα ενημερώνεται ή όταν κατεβαίνει μια νέα ορισμός κακόβουλου λογισμικού (φαίνεται ότι οι κανόνες που έχει το MRT για την ανίχνευση κακόβουλου λογισμικού είναι μέσα στο δυαδικό).
Ενώ τόσο το XProtect όσο και το MRT είναι μέρος των μέτρων ασφαλείας του macOS, εκτελούν διαφορετικές λειτουργίες:
XProtect είναι ένα προληπτικό εργαλείο. Ελέγχει τα αρχεία καθώς κατεβαίνουν (μέσω ορισμένων εφαρμογών), και αν ανιχνεύσει οποιουσδήποτε γνωστούς τύπους κακόβουλου λογισμικού, αποτρέπει το άνοιγμα του αρχείου, αποτρέποντας έτσι το κακόβουλο λογισμικό από το να μολύνει το σύστημά σας εξαρχής.
MRT, από την άλλη πλευρά, είναι ένα αντιδραστικό εργαλείο. Λειτουργεί αφού ανιχνευθεί κακόβουλο λογισμικό σε ένα σύστημα, με στόχο την αφαίρεση του ενοχλητικού λογισμικού για να καθαρίσει το σύστημα.
Η εφαρμογή MRT βρίσκεται στο /Library/Apple/System/Library/CoreServices/MRT.app
Background Tasks Management
macOS τώρα ειδοποιεί κάθε φορά που ένα εργαλείο χρησιμοποιεί μια γνωστή τεχνική για την επιμονή εκτέλεσης κώδικα (όπως τα Login Items, Daemons...), έτσι ώστε ο χρήστης να γνωρίζει καλύτερα ποιο λογισμικό επιμένει.
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F916570657-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fr3Cb8nKOYrlGZdSyjbAy%252Fuploads%252Fgit-blob-0deb4465206224404ce7d0daca23c5da00d07031%252Fimage%2520%281183%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5b0fdb2d&sv=1)
Αυτό λειτουργεί με έναν daemon που βρίσκεται στο /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/backgroundtaskmanagementd
και τον agent στο /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app
Ο τρόπος που backgroundtaskmanagementd
γνωρίζει ότι κάτι είναι εγκατεστημένο σε έναν επίμονο φάκελο είναι μέσω της λήψης των FSEvents και της δημιουργίας ορισμένων handlers για αυτά.
Επιπλέον, υπάρχει ένα αρχείο plist που περιέχει γνωστές εφαρμογές που συχνά επιμένουν και διατηρούνται από την Apple που βρίσκεται στο: /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/attributions.plist
Enumeration
Είναι δυνατόν να καταμετρήσετε όλα τα ρυθμισμένα στοιχεία παρασκηνίου που εκτελούνται με το εργαλείο cli της Apple:
Επιπλέον, είναι επίσης δυνατό να καταχωρηθεί αυτή η πληροφορία με το DumpBTM.
Αυτές οι πληροφορίες αποθηκεύονται στο /private/var/db/com.apple.backgroundtaskmanagement/BackgroundItems-v4.btm
και το Terminal χρειάζεται FDA.
Ανακατεύοντας με το BTM
Όταν βρεθεί μια νέα επιμονή, δημιουργείται ένα γεγονός τύπου ES_EVENT_TYPE_NOTIFY_BTM_LAUNCH_ITEM_ADD
. Έτσι, οποιοσδήποτε τρόπος για να αποτραπεί αυτή η εκδήλωση από το να σταλεί ή ο πράκτορας από το να ειδοποιήσει τον χρήστη θα βοηθήσει έναν επιτιθέμενο να παρακάμψει το BTM.
Επαναφορά της βάσης δεδομένων: Η εκτέλεση της παρακάτω εντολής θα επαναφέρει τη βάση δεδομένων (θα πρέπει να την ξαναχτίσει από την αρχή), ωστόσο, για κάποιο λόγο, μετά την εκτέλεση αυτού, καμία νέα επιμονή δεν θα ειδοποιηθεί μέχρι να επανεκκινήσει το σύστημα.
Απαιτείται root.
Σταματήστε τον Πράκτορα: Είναι δυνατόν να στείλετε ένα σήμα διακοπής στον πράκτορα ώστε να μην ειδοποιεί τον χρήστη όταν εντοπίζονται νέες ανιχνεύσεις.
Σφάλμα: Αν η διαδικασία που δημιούργησε την επιμονή υπάρχει γρήγορα αμέσως μετά από αυτήν, ο δαίμονας θα προσπαθήσει να λάβει πληροφορίες γι' αυτήν, θα αποτύχει, και δεν θα μπορέσει να στείλει το γεγονός που υποδεικνύει ότι ένα νέο πράγμα επιμένει.
Αναφορές και περισσότερες πληροφορίες σχετικά με το BTM:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated