macOS Security & Privilege Escalation
Reading time: 5 minutes
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Basic MacOS
Αν δεν είστε εξοικειωμένοι με το macOS, θα πρέπει να αρχίσετε να μαθαίνετε τα βασικά του macOS:
- Ειδικά αρχεία & δικαιώματα macOS:
macOS Files, Folders, Binaries & Memory
- Κοινές χρήστες macOS
macOS Users & External Accounts
- AppleFS
- Η αρχιτεκτονική του kernel
macOS Kernel & System Extensions
- Κοινές υπηρεσίες & πρωτόκολλα δικτύου macOS
macOS Network Services & Protocols
- Ανοιχτού κώδικα macOS: https://opensource.apple.com/
- Για να κατεβάσετε ένα
tar.gz
, αλλάξτε μια διεύθυνση URL όπως https://opensource.apple.com/source/dyld/ σε https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz
MacOS MDM
Σε εταιρείες, τα συστήματα macOS είναι πολύ πιθανό να είναι διαχειριζόμενα με MDM. Επομένως, από την προοπτική ενός επιτιθέμενου είναι ενδιαφέρον να γνωρίζει πώς λειτουργεί:
MacOS - Επιθεώρηση, Αποσφαλμάτωση και Fuzzing
macOS Apps - Inspecting, debugging and Fuzzing
MacOS Security Protections
Attack Surface
File Permissions
Αν μια διαδικασία που εκτελείται ως root γράφει ένα αρχείο που μπορεί να ελεγχθεί από έναν χρήστη, ο χρήστης θα μπορούσε να το εκμεταλλευτεί για να κάνει αναβάθμιση δικαιωμάτων.
Αυτό θα μπορούσε να συμβεί στις παρακάτω καταστάσεις:
- Το αρχείο που χρησιμοποιήθηκε είχε ήδη δημιουργηθεί από έναν χρήστη (ανήκει στον χρήστη)
- Το αρχείο που χρησιμοποιήθηκε είναι εγγράψιμο από τον χρήστη λόγω ομάδας
- Το αρχείο που χρησιμοποιήθηκε είναι μέσα σε έναν φάκελο που ανήκει στον χρήστη (ο χρήστης θα μπορούσε να δημιουργήσει το αρχείο)
- Το αρχείο που χρησιμοποιήθηκε είναι μέσα σε έναν φάκελο που ανήκει στον root αλλά ο χρήστης έχει δικαίωμα εγγραφής σε αυτόν λόγω ομάδας (ο χρήστης θα μπορούσε να δημιουργήσει το αρχείο)
Η δυνατότητα δημιουργίας ενός αρχείου που θα χρησιμοποιηθεί από τον root, επιτρέπει σε έναν χρήστη να εκμεταλλευτεί το περιεχόμενό του ή ακόμα και να δημιουργήσει symlinks/hardlinks για να το δείξει σε άλλη τοποθεσία.
Για αυτού του είδους τις ευπάθειες, μην ξεχάσετε να ελέγξετε ευάλωτους .pkg
εγκαταστάτες:
File Extension & URL scheme app handlers
Περίεργες εφαρμογές που έχουν καταχωρηθεί από επεκτάσεις αρχείων θα μπορούσαν να εκμεταλλευτούν και διαφορετικές εφαρμογές μπορούν να καταχωρηθούν για να ανοίγουν συγκεκριμένα πρωτόκολλα
macOS File Extension & URL scheme app handlers
macOS TCC / SIP Privilege Escalation
Στο macOS, οι εφαρμογές και τα δυαδικά αρχεία μπορούν να έχουν δικαιώματα για πρόσβαση σε φακέλους ή ρυθμίσεις που τους καθιστούν πιο προνομιούχους από άλλους.
Επομένως, ένας επιτιθέμενος που θέλει να συμβιβάσει επιτυχώς μια μηχανή macOS θα χρειαστεί να αναβαθμίσει τα δικαιώματα TCC (ή ακόμα και να παρακάμψει το SIP, ανάλογα με τις ανάγκες του).
Αυτά τα δικαιώματα δίνονται συνήθως με τη μορφή entitlements με τα οποία είναι υπογεγραμμένη η εφαρμογή, ή η εφαρμογή μπορεί να έχει ζητήσει κάποιες προσβάσεις και μετά την έγκριση τους από τον χρήστη μπορούν να βρεθούν στις βάσεις δεδομένων TCC. Ένας άλλος τρόπος με τον οποίο μια διαδικασία μπορεί να αποκτήσει αυτά τα δικαιώματα είναι να είναι παιδί μιας διαδικασίας με αυτά τα δικαιώματα, καθώς συνήθως κληρονομούνται.
Ακολουθήστε αυτούς τους συνδέσμους για να βρείτε διαφορετικούς τρόπους για να αναβαθμίσετε δικαιώματα στο TCC, για να παρακάμψετε το TCC και πώς στο παρελθόν έχει παρακαμφθεί το SIP.
macOS Traditional Privilege Escalation
Φυσικά, από την προοπτική των κόκκινων ομάδων, θα πρέπει επίσης να ενδιαφέρεστε να αναβαθμίσετε σε root. Ελέγξτε την παρακάτω ανάρτηση για μερικές υποδείξεις:
macOS Compliance
References
- OS X Incident Response: Scripting and Analysis
- https://taomm.org/vol1/analysis.html
- https://github.com/NicolasGrimonpont/Cheatsheet
- https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ
- https://www.youtube.com/watch?v=vMGiplQtjTY
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.