macOS Red Teaming
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο. Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
JAMF Pro: jamf checkJSSConnection
Kandji
Εάν καταφέρετε να συμβιβάσετε τα διαπιστευτήρια διαχειριστή για να αποκτήσετε πρόσβαση στην πλατφόρμα διαχείρισης, μπορείτε να συμβιβάσετε δυνητικά όλους τους υπολογιστές διανέμοντας το κακόβουλο λογισμικό σας στις μηχανές.
Για red teaming σε περιβάλλοντα MacOS, συνιστάται έντονα να έχετε κάποια κατανόηση του πώς λειτουργούν τα MDMs:
Ένα MDM θα έχει άδεια να εγκαθιστά, να ερωτά ή να αφαιρεί προφίλ, να εγκαθιστά εφαρμογές, να δημιουργεί τοπικούς λογαριασμούς διαχειριστή, να ορίζει κωδικό πρόσβασης firmware, να αλλάζει το κλειδί FileVault...
Για να εκτελέσετε το δικό σας MDM, χρειάζεστε το CSR σας υπογεγραμμένο από έναν προμηθευτή που θα μπορούσατε να προσπαθήσετε να αποκτήσετε με https://mdmcert.download/. Και για να εκτελέσετε το δικό σας MDM για συσκευές Apple, μπορείτε να χρησιμοποιήσετε MicroMDM.
Ωστόσο, για να εγκαταστήσετε μια εφαρμογή σε μια εγγεγραμμένη συσκευή, χρειάζεται ακόμα να είναι υπογεγραμμένη από έναν λογαριασμό προγραμματιστή... ωστόσο, κατά την εγγραφή MDM, η συσκευή προσθέτει το SSL cert του MDM ως αξιόπιστο CA, οπότε μπορείτε τώρα να υπογράψετε οτιδήποτε.
Για να εγγραφεί η συσκευή σε ένα MDM, πρέπει να εγκαταστήσετε ένα mobileconfig
αρχείο ως root, το οποίο θα μπορούσε να παραδοθεί μέσω ενός pkg αρχείου (μπορείτε να το συμπιέσετε σε zip και όταν κατεβεί από το safari θα αποσυμπιεστεί).
Ο μύθος πράκτορας Orthrus χρησιμοποιεί αυτή την τεχνική.
Η JAMF μπορεί να εκτελεί προσαρμοσμένα σενάρια (σενάρια που αναπτύχθηκαν από τον sysadmin), εγγενείς payloads (δημιουργία τοπικού λογαριασμού, ορισμός κωδικού EFI, παρακολούθηση αρχείων/διαδικασιών...) και MDM (ρυθμίσεις συσκευής, πιστοποιητικά συσκευής...).
Μεταβείτε σε μια σελίδα όπως https://<company-name>.jamfcloud.com/enroll/
για να δείτε αν έχουν ενεργοποιήσει την αυτοεγγραφή. Εάν το έχουν, μπορεί να ζητήσει διαπιστευτήρια για πρόσβαση.
Μπορείτε να χρησιμοποιήσετε το σενάριο JamfSniper.py για να εκτελέσετε μια επίθεση password spraying.
Επιπλέον, αφού βρείτε τα κατάλληλα διαπιστευτήρια, θα μπορούσατε να είστε σε θέση να σπάσετε άλλους χρήστες με την επόμενη φόρμα:
Το jamf
δυαδικό περιείχε το μυστικό για να ανοίξει το keychain το οποίο κατά τη διάρκεια της ανακάλυψης ήταν κοινό μεταξύ όλων και ήταν: jk23ucnq91jfu9aj
.
Επιπλέον, το jamf επιμένει ως LaunchDaemon στο /Library/LaunchAgents/com.jamf.management.agent.plist
Η JSS (Jamf Software Server) URL που θα χρησιμοποιήσει το jamf
βρίσκεται στο /Library/Preferences/com.jamfsoftware.jamf.plist
.
Αυτό το αρχείο περιέχει βασικά την URL:
Έτσι, ένας επιτιθέμενος θα μπορούσε να ρίξει ένα κακόβουλο πακέτο (pkg
) που επικαλύπτει αυτό το αρχείο κατά την εγκατάσταση, ρυθμίζοντας το URL σε έναν Mythic C2 listener από έναν Typhon agent για να μπορεί τώρα να εκμεταλλευτεί το JAMF ως C2.
Για να παριστάνεις την επικοινωνία μεταξύ μιας συσκευής και του JMF χρειάζεσαι:
Το UUID της συσκευής: ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'
Το JAMF keychain από: /Library/Application\ Support/Jamf/JAMF.keychain
που περιέχει το πιστοποιητικό της συσκευής
Με αυτές τις πληροφορίες, δημιούργησε μια VM με το κλεμμένο Hardware UUID και με SIP απενεργοποιημένο, ρίξε το JAMF keychain, hook τον Jamf agent και κλέψε τις πληροφορίες του.
Μπορείς επίσης να παρακολουθείς την τοποθεσία /Library/Application Support/Jamf/tmp/
για τα custom scripts που οι διαχειριστές μπορεί να θέλουν να εκτελέσουν μέσω Jamf καθώς τοποθετούνται εδώ, εκτελούνται και αφαιρούνται. Αυτά τα scripts μπορεί να περιέχουν διαπιστευτήρια.
Ωστόσο, τα διαπιστευτήρια μπορεί να περάσουν σε αυτά τα scripts ως παράμετροι, οπότε θα χρειαστεί να παρακολουθείς ps aux | grep -i jamf
(χωρίς καν να είσαι root).
Το script JamfExplorer.py μπορεί να ακούει για νέα αρχεία που προστίθενται και νέα επιχειρήματα διαδικασίας.
Και επίσης για τα MacOS "ειδικά" δίκτυα πρωτοκόλλων:
Σε ορισμένες περιπτώσεις θα διαπιστώσεις ότι ο MacOS υπολογιστής είναι συνδεδεμένος σε ένα AD. Σε αυτό το σενάριο θα πρέπει να προσπαθήσεις να καταγράψεις τον ενεργό κατάλογο όπως είσαι συνηθισμένος. Βρες κάποια βοήθεια στις παρακάτω σελίδες:
Κάποιο τοπικό εργαλείο MacOS που μπορεί επίσης να σε βοηθήσει είναι το dscl
:
Επίσης, υπάρχουν μερικά εργαλεία προετοιμασμένα για το MacOS για αυτόματη καταμέτρηση του AD και πειραματισμό με το kerberos:
Machound: Το MacHound είναι μια επέκταση του εργαλείου ελέγχου Bloodhound που επιτρέπει τη συλλογή και την εισαγωγή σχέσεων Active Directory σε υπολογιστές MacOS.
Bifrost: Το Bifrost είναι ένα έργο Objective-C σχεδιασμένο για να αλληλεπιδρά με τα APIs Heimdal krb5 στο macOS. Ο στόχος του έργου είναι να επιτρέψει καλύτερη ασφάλεια δοκιμών γύρω από το Kerberos σε συσκευές macOS χρησιμοποιώντας εγγενή APIs χωρίς να απαιτείται κανένα άλλο πλαίσιο ή πακέτα στον στόχο.
Orchard: Εργαλείο JavaScript for Automation (JXA) για την καταμέτρηση Active Directory.
Οι τρεις τύποι χρηστών MacOS είναι:
Τοπικοί Χρήστες — Διαχειρίζονται από την τοπική υπηρεσία OpenDirectory, δεν συνδέονται με κανέναν τρόπο με το Active Directory.
Δικτυακοί Χρήστες — Μεταβλητοί χρήστες Active Directory που απαιτούν σύνδεση με τον διακομιστή DC για αυθεντικοποίηση.
Κινητοί Χρήστες — Χρήστες Active Directory με τοπικό αντίγραφο ασφαλείας για τα διαπιστευτήρια και τα αρχεία τους.
Οι τοπικές πληροφορίες σχετικά με τους χρήστες και τις ομάδες αποθηκεύονται στον φάκελο /var/db/dslocal/nodes/Default. Για παράδειγμα, οι πληροφορίες σχετικά με τον χρήστη που ονομάζεται mark αποθηκεύονται στο /var/db/dslocal/nodes/Default/users/mark.plist και οι πληροφορίες σχετικά με την ομάδα admin είναι στο /var/db/dslocal/nodes/Default/groups/admin.plist.
Εκτός από τη χρήση των ακμών HasSession και AdminTo, το MacHound προσθέτει τρεις νέες ακμές στη βάση δεδομένων Bloodhound:
CanSSH - οντότητα που επιτρέπεται να SSH στον υπολογιστή
CanVNC - οντότητα που επιτρέπεται να VNC στον υπολογιστή
CanAE - οντότητα που επιτρέπεται να εκτελεί σενάρια AppleEvent στον υπολογιστή
Περισσότερες πληροφορίες στο https://its-a-feature.github.io/posts/2018/01/Active-Directory-Discovery-with-a-Mac/
Αποκτήστε κωδικούς πρόσβασης χρησιμοποιώντας:
Είναι δυνατή η πρόσβαση στον Computer$
κωδικό πρόσβασης μέσα στο System keychain.
Αποκτήστε ένα TGT για έναν συγκεκριμένο χρήστη και υπηρεσία:
Μόλις συγκεντρωθεί το TGT, είναι δυνατή η έγχυσή του στην τρέχουσα συνεδρία με:
Με τα αποκτηθέντα εισιτήρια υπηρεσιών είναι δυνατή η προσπάθεια πρόσβασης σε κοινόχρηστα αρχεία σε άλλους υπολογιστές:
Το Keychain περιέχει πολύ πιθανόν ευαίσθητες πληροφορίες που αν αποκτηθούν χωρίς να δημιουργηθεί προτροπή θα μπορούσαν να βοηθήσουν στην προώθηση μιας άσκησης red team:
Η Red Teaming στο MacOS διαφέρει από τη συνηθισμένη Red Teaming στα Windows καθώς συνήθως το MacOS είναι ενσωματωμένο με πολλές εξωτερικές πλατφόρμες απευθείας. Μια κοινή ρύθμιση του MacOS είναι η πρόσβαση στον υπολογιστή χρησιμοποιώντας συνδεδεμένα διαπιστευτήρια OneLogin και πρόσβαση σε πολλές εξωτερικές υπηρεσίες (όπως github, aws...) μέσω του OneLogin.
Όταν ένα αρχείο κατεβαίνει στο Safari, αν είναι "ασφαλές" αρχείο, θα ανοίξει αυτόματα. Έτσι, για παράδειγμα, αν κατεβάσετε ένα zip, θα αποσυμπιεστεί αυτόματα:
Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο. Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)