Μάθετε & εξασκηθείτε στο AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**Εκπαίδευση HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα χάκερ υποβάλλοντας PRs** στα αποθετήρια [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο GitHub.
Το [Mobile Device Management](https://en.wikipedia.org/wiki/Mobile\_device\_management) (MDM) χρησιμοποιείται για τη διαχείριση διαφόρων συσκευών τελικών χρηστών όπως smartphones, laptops και tablets. Ειδικά για τις πλατφόρμες της Apple (iOS, macOS, tvOS), περιλαμβάνει ένα σύνολο εξειδικευμένων χαρακτηριστικών, APIs και πρακτικές. Η λειτουργία του MDM εξαρτάται από ένα συμβατό MDM server, το οποίο είναι είτε εμπορικά διαθέσιμο είτε ανοικτού κώδικα, και πρέπει να υποστηρίζει το [MDM Protocol](https://developer.apple.com/enterprise/documentation/MDM-Protocol-Reference.pdf). Τα κύρια σημεία περιλαμβάνουν:
Το [Device Enrollment Program](https://www.apple.com/business/site/docs/DEP\_Guide.pdf) (DEP) που προσφέρει η Apple διευκολύνει την ενσωμάτωση του Mobile Device Management (MDM) με τη διευκόλυνση της αυτόματης διαμόρφωσης για συσκευές iOS, macOS και tvOS. Το DEP αυτοματοποιεί τη διαδικασία εγγραφής, επιτρέποντας στις συσκευές να είναι λειτουργικές αμέσως μετά τον αποσυσκευασμό, με ελάχιστη παρέμβαση χρήστη ή διαχειριστή. Τα βασικά στοιχεία περιλαμβάνουν:
Είναι κρίσιμο να σημειωθεί ότι η ευκολία εγγραφής που παρέχει το DEP, ενώ είναι χρήσιμη, μπορεί επίσης να δημιουργήσει κινδύνους ασφαλείας. Αν δεν επιβάλλονται επαρκείς προστατευτικές μέτρησεις για την εγγραφή στο MDM, οι επιτιθέμενοι ενδέχεται να εκμεταλλευτούν αυτήν την απλοποιημένη διαδικασία γιανα εγγράψουν τη συσκευή τους στο MDM server του οργανισμού, παριστάνοντας μια εταιρική συσκευή.
{% hint style="danger" %}
**Ειδοποίηση Ασφαλείας**: Η απλοποιημένη εγγραφή στο DEP θα μπορούσε πιθανόν να επιτρέψει τη μη εξουσιοδοτημένη εγγραφή συσκευών στο MDM server του οργανισμού εάν δεν υπάρχουν κατάλληλα μέτρα προστασίας.
{% endhint %}
### Τι είναι το SCEP (Simple Certificate Enrolment Protocol);
* Ένα σχετικά παλιό πρωτόκολλο, δημιουργημένο πριν από την ευρεία χρήση του TLS και του HTTPS.
* Δίνει στους πελάτες ένα τυποποιημένο τρόπο αποστολής ενός **Certificate Signing Request** (CSR) με σκοπό τη χορήγηση πιστοποιητικού. Ο πελάτης θα ζητήσει από τον διακομιστή να του δώσει ένα υπογεγραμμένο πιστοποιητικό.
### Τι είναι τα Configuration Profiles (επίσης γνωστά ως mobileconfigs);
*Η επίσημη της Apple μέθοδος **ορισμού/επιβολής των ρυθμίσεων του συστήματος.**
* Μορφή αρχείου που μπορεί να περιέχει πολλαπλά φορτία.
* Βασίζεται σε λίστες ιδιοτήτων (του είδους XML).
* "μπορεί να υπογραφεί και να κρυπτογραφηθεί για την επικύρωση της προέλευσής τους, τη διασφάλιση της ακεραιότητάς τους και την προστασία του περιεχομένου τους." Βασικά — Σελίδα 70, Οδηγός Ασφαλείας iOS, Ιανουάριος 2018.
* Συνδυασμός των APNs (**Apple διακομιστές**) + RESTful API (**MDM διακομιστές προμηθευτών**)
*Η**επικοινωνία** πραγματοποιείται μεταξύ μιας **συσκευής** και ενός διακομιστή που σχετίζεται με ένα προϊόν διαχείρισης συσκευών
*Οι**εντολές** παραδίδονται από το MDM στη συσκευή σε **λεξικά κωδικοποιημένα σε plist**
* Όλα μέσω **HTTPS**. Οι MDM διακομιστές μπορούν να είναι (και συνήθως είναι) πιναρισμένοι.
*Η Apple χορηγεί στον προμηθευτή MDM ένα **πιστοποιητικό APNs**για πιστοποίηση
### DEP
* **3 APIs**: 1 για αντιπροσώπους, 1 για προμηθευτές MDM, 1 για ταυτότητα συσκευών (μη τεκμηριωμένο):
*Το ονομαζόμενο [DEP "cloud service" API](https://developer.apple.com/enterprise/documentation/MDM-Protocol-Reference.pdf). Χρησιμοποιείται από τους MDM διακομιστές για τη συσχέτιση των προφίλ DEP με συγκεκριμένες συσκευές.
*Το [API DEP που χρησιμοποιείται από τους Εξουσιοδοτημένους Αντιπροσώπους της Apple](https://applecareconnect.apple.com/api-docs/depuat/html/WSImpManual.html) για την εγγραφή συσκευών, τον έλεγχο της κατάστασης εγγραφής και την έλεγχο της κατάστασης συναλλαγής.
*Το μη τεκμηριωμένο ιδιωτικό API DEP. Χρησιμοποιείται από τις Συσκευές Apple γιανα ζητήσουν το προφίλ DEP τους. Στο macOS, το δυαδικό `cloudconfigurationd` είναι υπεύθυνο για την επικοινωνία μέσω αυτού του API.
* Πιο σύγχρονο και βασισμένο σε **JSON** (έναντι του plist)
*Η Apple χορηγεί ένα **OAuth token** στον προμηθευτή MDM
**DEP "cloud service" API**
* RESTful
* συγχρονίζει εγγραφές συσκευών από την Apple στον MDM server
* Καθορισμός εάν το συσκευή είναι ενεργοποιημένη για DEP
*Η Εγγραφή Ενεργοποίησης είναι το εσωτερικό όνομα για το **DEP "προφίλ"**
* Ξεκινά μόλις η συσκευή συνδεθεί στο Internet
* Καθορίζεται από το **`CPFetchActivationRecord`**
* Υλοποιείται από το **`cloudconfigurationd`** μέσω XPC. Το**"Βοηθός Ρύθμισης**" (όταν η συσκευή εκκινείται για πρώτη φορά) ή η εντολή **`profiles`** θα **επικοινωνήσει με αυτό το daemon**γιανα ανακτήσει την εγγραφή ενεργοποίησης.
Ακολουθεί μερικά βήματα για τη λήψη της Εγγραφής Ενεργοποίησης που εκτελείται από το **`MCTeslaConfigurationFetcher`**. Αυτή η διαδικασία χρησιμοποιεί έναν κρυπτογράφηση που ονομάζεται **Absinthe**
1. GET [https://iprofiles.apple.com/resource/certificate.cer](https://iprofiles.apple.com/resource/certificate.cer)
2.**Αρχικοποίηση** κατάστασης από το πιστοποιητικό (**`NACInit`**)
1. Χρησιμοποιεί διάφορα δεδομένα που είναι συσκευή-ειδικά (π.χ. **Αριθμός Σειριακού μέσω `IOKit`**)
3. Ανάκτηση **κλειδιού συνεδρίας**
1. POST [https://iprofiles.apple.com/session](https://iprofiles.apple.com/session)
4. Δημιουργία της συνεδρίας (**`NACKeyEstablishment`**)
5. Αποστολή του αιτήματος
1. POST στο [https://iprofiles.apple.com/macProfile](https://iprofiles.apple.com/macProfile) αποστέλλοντας τα δεδομένα `{ "action": "RequestProfileConfiguration", "sn": "" }`
2.Το JSON payload κρυπτογραφείται χρησιμοποιώντας το Absinthe (**`NACSign`**)
3. Όλα τα αιτήματα γίνονται μέσω HTTPs, χρησιμοποιούνται ενσωματωμένα πιστοποιητικά ρίζας
* Επιτρέπει στη συσκευή να αναθέσει ένα πιστοποιητικό ταυτότητας:
* Ιδιότητα: IdentityCertificateUUID
* Παραδίδεται μέσω φορτίου SCEP
### **Βήμα 7: Ακρόαση για εντολές MDM**
* Αφού ολοκληρωθεί ο έλεγχος MDM, ο πάροχος μπορεί να**εκδώσει ειδοποιήσεις push χρησιμοποιώντας το APNs**
* Κατά τη λήψη, χειρίζεται από το **`mdmclient`**
* Για να ελέγξει για εντολές MDM, αποστέλλεται αίτημα στο ServerURL
* Χρησιμοποιεί το προηγουμένως εγκατεστημένο φορτίο MDM:
* **`ServerURLPinningCertificateUUIDs`** για ανάθεση αιτήματος
* **`IdentityCertificateUUID`** για πιστοποίηση TLS πιστοποιητικού πελάτη
## Επιθέσεις
### Εγγραφή Συσκευών σε Άλλους Οργανισμούς
Όπως αναφέρθηκε προηγουμένως, γιανα προσπαθήσετε να εγγράψετε μια συσκευή σε έναν οργανισμό **χρειάζεστε μόνο τον Αριθμό Σειριακού που ανήκει σε αυτόν τον Οργανισμό**. Μόλις η συσκευή εγγραφεί, πολλοί οργανισμοί θα εγκαταστήσουν ευαίσθητα δεδομένα στη νέα συσκευή: πιστοποιητικά, εφαρμογές, κωδικοί WiFi, ρυθμίσεις VPN [και άλλα](https://developer.apple.com/enterprise/documentation/Configuration-Profile-Reference.pdf).\